diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2018-11-30 17:45:01 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-11-30 17:45:01 -0500 |
commit | 38c7b224ce22c25fed04007839edf974bd13439d (patch) | |
tree | 036a6170d809343dbd5969efbc937667398b56bb | |
parent | b6839ef26e549de68c10359d45163b0cfb031183 (diff) |
unifdef: use memcpy instead of strncpy
New versions of gcc reasonably warn about the odd pattern of
strncpy(p, q, strlen(q));
which really doesn't make sense: the strncpy() ends up being just a slow
and odd way to write memcpy() in this case.
There was a comment about _why_ the code used strncpy - to avoid the
terminating NUL byte, but memcpy does the same and avoids the warning.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | scripts/unifdef.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/scripts/unifdef.c b/scripts/unifdef.c index 7493c0ee51cc..db00e3e30a59 100644 --- a/scripts/unifdef.c +++ b/scripts/unifdef.c | |||
@@ -395,7 +395,7 @@ usage(void) | |||
395 | * When we have processed a group that starts off with a known-false | 395 | * When we have processed a group that starts off with a known-false |
396 | * #if/#elif sequence (which has therefore been deleted) followed by a | 396 | * #if/#elif sequence (which has therefore been deleted) followed by a |
397 | * #elif that we don't understand and therefore must keep, we edit the | 397 | * #elif that we don't understand and therefore must keep, we edit the |
398 | * latter into a #if to keep the nesting correct. We use strncpy() to | 398 | * latter into a #if to keep the nesting correct. We use memcpy() to |
399 | * overwrite the 4 byte token "elif" with "if " without a '\0' byte. | 399 | * overwrite the 4 byte token "elif" with "if " without a '\0' byte. |
400 | * | 400 | * |
401 | * When we find a true #elif in a group, the following block will | 401 | * When we find a true #elif in a group, the following block will |
@@ -450,7 +450,7 @@ static void Idrop (void) { Fdrop(); ignoreon(); } | |||
450 | static void Itrue (void) { Ftrue(); ignoreon(); } | 450 | static void Itrue (void) { Ftrue(); ignoreon(); } |
451 | static void Ifalse(void) { Ffalse(); ignoreon(); } | 451 | static void Ifalse(void) { Ffalse(); ignoreon(); } |
452 | /* modify this line */ | 452 | /* modify this line */ |
453 | static void Mpass (void) { strncpy(keyword, "if ", 4); Pelif(); } | 453 | static void Mpass (void) { memcpy(keyword, "if ", 4); Pelif(); } |
454 | static void Mtrue (void) { keywordedit("else"); state(IS_TRUE_MIDDLE); } | 454 | static void Mtrue (void) { keywordedit("else"); state(IS_TRUE_MIDDLE); } |
455 | static void Melif (void) { keywordedit("endif"); state(IS_FALSE_TRAILER); } | 455 | static void Melif (void) { keywordedit("endif"); state(IS_FALSE_TRAILER); } |
456 | static void Melse (void) { keywordedit("endif"); state(IS_FALSE_ELSE); } | 456 | static void Melse (void) { keywordedit("endif"); state(IS_FALSE_ELSE); } |