diff options
author | Peter Eisentraut <peter@eisentraut.org> | 2020-08-10 18:51:31 +0200 |
---|---|---|
committer | Peter Eisentraut <peter@eisentraut.org> | 2020-08-10 23:20:37 +0200 |
commit | 1784f278a63866cc144fcd0a2127cadba6a2b7f8 (patch) | |
tree | ce0f644de0d3a89fc8b49ff67be8428731cb041b /src/backend/utils/adt/name.c | |
parent | cec57b1a0fbcd3833086ba686897c5883e0a2afc (diff) |
Replace remaining StrNCpy() by strlcpy()
They are equivalent, except that StrNCpy() zero-fills the entire
destination buffer instead of providing just one trailing zero. For
all but a tiny number of callers, that's just overhead rather than
being desirable.
Remove StrNCpy() as it is now unused.
In some cases, namestrcpy() is the more appropriate function to use.
While we're here, simplify the API of namestrcpy(): Remove the return
value, don't check for NULL input. Nothing was using that anyway.
Also, remove a few unused name-related functions.
Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: https://www.postgresql.org/message-id/flat/44f5e198-36f6-6cdb-7fa9-60e34784daae%402ndquadrant.com
Diffstat (limited to 'src/backend/utils/adt/name.c')
-rw-r--r-- | src/backend/utils/adt/name.c | 48 |
1 files changed, 4 insertions, 44 deletions
diff --git a/src/backend/utils/adt/name.c b/src/backend/utils/adt/name.c index 64877f67e01..a3ce3f3d1e1 100644 --- a/src/backend/utils/adt/name.c +++ b/src/backend/utils/adt/name.c @@ -229,53 +229,13 @@ btnamesortsupport(PG_FUNCTION_ARGS) * MISCELLANEOUS PUBLIC ROUTINES * *****************************************************************************/ -int -namecpy(Name n1, const NameData *n2) -{ - if (!n1 || !n2) - return -1; - StrNCpy(NameStr(*n1), NameStr(*n2), NAMEDATALEN); - return 0; -} - -#ifdef NOT_USED -int -namecat(Name n1, Name n2) -{ - return namestrcat(n1, NameStr(*n2)); /* n2 can't be any longer than n1 */ -} -#endif - -int +void namestrcpy(Name name, const char *str) { - if (!name || !str) - return -1; - StrNCpy(NameStr(*name), str, NAMEDATALEN); - return 0; -} - -#ifdef NOT_USED -int -namestrcat(Name name, const char *str) -{ - int i; - char *p, - *q; - - if (!name || !str) - return -1; - for (i = 0, p = NameStr(*name); i < NAMEDATALEN && *p; ++i, ++p) - ; - for (q = str; i < NAMEDATALEN; ++i, ++p, ++q) - { - *p = *q; - if (!*q) - break; - } - return 0; + /* NB: We need to zero-pad the destination. */ + strncpy(NameStr(*name), str, NAMEDATALEN); + NameStr(*name)[NAMEDATALEN-1] = '\0'; } -#endif /* * Compare a NAME to a C string |