Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/newlib
diff options
context:
space:
mode:
authorJeff Johnston <jjohnstn@redhat.com>2008-07-17 23:00:44 +0400
committerJeff Johnston <jjohnstn@redhat.com>2008-07-17 23:00:44 +0400
commiteb19b8f95a6a22ade6911ac98d1a76313ec99f53 (patch)
tree639f5a124bb435f373cd3b3bdadf04051957de05 /newlib
parent874149c80c9f8252a9b11e9f9c070bc2cbc966c1 (diff)
2008-07-17 Ken Werner <ken.werner@de.ibm.com>
* libc/machine/spu/strcpy.h: Pad null bytes if necessary.
Diffstat (limited to 'newlib')
-rw-r--r--newlib/ChangeLog4
-rw-r--r--newlib/libc/machine/spu/strcpy.h4
2 files changed, 8 insertions, 0 deletions
diff --git a/newlib/ChangeLog b/newlib/ChangeLog
index 2d4f76eef..7b93e69d1 100644
--- a/newlib/ChangeLog
+++ b/newlib/ChangeLog
@@ -1,3 +1,7 @@
+2008-07-17 Ken Werner <ken.werner@de.ibm.com>
+
+ * libc/machine/spu/strcpy.h: Pad null bytes if necessary.
+
2008-07-08 Kenji Tanaka <tanaka.ken2@jp.panasonic.com>
* libc/machine/mn10300/memset.S: Fix bug where return value is
diff --git a/newlib/libc/machine/spu/strcpy.h b/newlib/libc/machine/spu/strcpy.h
index e2ec2b259..946148bd2 100644
--- a/newlib/libc/machine/spu/strcpy.h
+++ b/newlib/libc/machine/spu/strcpy.h
@@ -176,5 +176,9 @@ static inline void * _strncpy(char * __restrict__ dest, const char *
*/
dest[maxlen - spu_extract(curlen, 0)] = '\0';
}
+
+ /* Pad null bytes if the length of the "src" is less than "n" (strncpy). */
+ if (checklen && !lastzero && (maxlen != spu_extract(curlen,0)))
+ memset(dest + spu_extract(curlen, 0), 0, maxlen - spu_extract(curlen, 0));
return (dest);
}