Convert some obvious cases to use rstrndup() instead of manual work

The net win in terms of LoC is not that big but it does make things
that little more readable and obvious.
This commit is contained in:
Panu Matilainen 2020-11-05 14:13:56 +02:00
parent fa29c0da80
commit 561c59db1b
3 changed files with 4 additions and 13 deletions

View File

@ -618,8 +618,7 @@ static rpmRC rpmdbFindByFile(rpmdb db, dbiIndex dbi, const char *filespec,
if ((baseName = strrchr(filespec, '/')) != NULL) {
size_t len = baseName - filespec + 1;
dirName = strncpy(xmalloc(len + 1), filespec, len);
dirName[len] = '\0';
dirName = rstrndup(filespec, len);
baseName++;
} else {
dirName = xstrdup("");

View File

@ -144,11 +144,7 @@ int argvAddN(ARGV_t * argvp, const char *val, size_t len)
*argvp = xrealloc(*argvp, (argc + 1 + 1) * sizeof(**argvp));
argv = *argvp;
char *newarg = xmalloc(len + 1);
strncpy(newarg, val, len);
newarg[len] = '\0';
argv[argc] = newarg;
argv[argc] = rstrndup(val, len);
argv[argc + 1] = NULL;
return 0;
}

View File

@ -581,10 +581,8 @@ exit:
*/
static void doExpressionExpansion(MacroBuf mb, const char * expr, size_t len)
{
char *buf = xmalloc(len + 1);
char *buf = rstrndup(expr, len);
char *result;
strncpy(buf, expr, len);
buf[len] = 0;
result = rpmExprStrFlags(buf, RPMEXPR_EXPAND);
if (!result) {
mb->error = 1;
@ -1430,9 +1428,7 @@ expandMacro(MacroBuf mb, const char *src, size_t slen)
*/
if (!slen)
slen = strlen(src);
source = xmalloc(slen + 1);
strncpy(source, src, slen);
source[slen] = '\0';
source = rstrndup(src, slen);
s = source;
if (mbInit(mb, &med, slen) != 0)