* src/implicit.c (pattern_search): Use const ptrs when possible.

Change suggested by Joe Filion <joefilion4@gmail.com>
This commit is contained in:
Paul Smith 2022-01-19 17:43:57 -05:00
parent 15db387f18
commit f485881d4a

View file

@ -539,7 +539,6 @@ pattern_search (struct file *file, int archive,
while (1) while (1)
{ {
struct dep *dl, *d; struct dep *dl, *d;
char *p;
/* If we're out of name to parse, start the next prereq. */ /* If we're out of name to parse, start the next prereq. */
if (! nptr) if (! nptr)
@ -553,9 +552,10 @@ pattern_search (struct file *file, int archive,
/* If we don't need a second expansion, just replace the %. */ /* If we don't need a second expansion, just replace the %. */
if (! dep->need_2nd_expansion) if (! dep->need_2nd_expansion)
{ {
char *p;
int is_explicit = 1; int is_explicit = 1;
p = strchr (nptr, '%'); const char *cp = strchr (nptr, '%');
if (p == 0) if (cp == 0)
strcpy (depname, nptr); strcpy (depname, nptr);
else else
{ {
@ -565,11 +565,11 @@ pattern_search (struct file *file, int archive,
memcpy (o, filename, pathlen); memcpy (o, filename, pathlen);
o += pathlen; o += pathlen;
} }
memcpy (o, nptr, p - nptr); memcpy (o, nptr, cp - nptr);
o += p - nptr; o += cp - nptr;
memcpy (o, stem, stemlen); memcpy (o, stem, stemlen);
o += stemlen; o += stemlen;
strcpy (o, p + 1); strcpy (o, cp + 1);
is_explicit = 0; is_explicit = 0;
} }
@ -603,6 +603,8 @@ pattern_search (struct file *file, int archive,
size_t len; size_t len;
struct dep **dptr; struct dep **dptr;
int is_explicit; int is_explicit;
const char *cp;
char *p;
nptr = get_next_word (nptr, &len); nptr = get_next_word (nptr, &len);
if (nptr == 0) if (nptr == 0)
@ -627,8 +629,8 @@ pattern_search (struct file *file, int archive,
(since $* and $(*F) are simple variables) there won't be (since $* and $(*F) are simple variables) there won't be
additional re-expansion of the stem. */ additional re-expansion of the stem. */
p = lindex (nptr, nptr + len, '%'); cp = lindex (nptr, nptr + len, '%');
if (p == 0) if (cp == 0)
{ {
memcpy (depname, nptr, len); memcpy (depname, nptr, len);
depname[len] = '\0'; depname[len] = '\0';
@ -636,7 +638,7 @@ pattern_search (struct file *file, int archive,
} }
else else
{ {
size_t i = p - nptr; size_t i = cp - nptr;
char *o = depname; char *o = depname;
memcpy (o, nptr, i); memcpy (o, nptr, i);
o += i; o += i;
@ -651,7 +653,7 @@ pattern_search (struct file *file, int archive,
memcpy (o, "$*", 2); memcpy (o, "$*", 2);
o += 2; o += 2;
} }
memcpy (o, p + 1, len - i - 1); memcpy (o, cp + 1, len - i - 1);
o[len - i - 1] = '\0'; o[len - i - 1] = '\0';
is_explicit = 0; is_explicit = 0;
} }