diff options
author | Jakub Jelinek <jakub@redhat.com> | 2005-07-21 08:25:57 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2005-07-21 08:25:57 +0000 |
commit | 736e2ab430e006ba09a2fe34d7887d3812ac808f (patch) | |
tree | f2d5948776e91112fcfd9199a757cd58e1be867a /string | |
parent | 366c71f353afc163b8d31c9db6e90919b5c2e1c0 (diff) | |
download | glibc-736e2ab430e006ba09a2fe34d7887d3812ac808f.tar glibc-736e2ab430e006ba09a2fe34d7887d3812ac808f.tar.gz glibc-736e2ab430e006ba09a2fe34d7887d3812ac808f.tar.bz2 glibc-736e2ab430e006ba09a2fe34d7887d3812ac808f.zip |
Updated to fedora-glibc-20050721T0814
Diffstat (limited to 'string')
-rw-r--r-- | string/bits/string3.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/string/bits/string3.h b/string/bits/string3.h index bcda42a232..8da73ffde2 100644 --- a/string/bits/string3.h +++ b/string/bits/string3.h @@ -144,6 +144,22 @@ __strncpy_ichk (char *__restrict __dest, const char *__restrict __src, } +// XXX We have no corresponding builtin yet. +extern char *__stpncpy_chk (char *__dest, const char *__src, size_t __n, + size_t __destlen) __THROW; +extern char *__REDIRECT (__stpncpy_alias, (char *__dest, const char *__src, + size_t __n), stpncpy) __THROW; + +extern __always_inline char * +stpncpy (char *__dest, const char *__src, size_t __n) +{ + if (__bos (__dest) != (size_t) -1 + && (!__builtin_constant_p (__n) || __n <= __bos (__dest))) + return __stpncpy_chk (__dest, __src, __n, __bos (__dest)); + return __stpncpy_alias (__dest, __src, __n); +} + + #define strcat(dest, src) \ ((__bos (dest) != (size_t) -1) \ ? __builtin___strcat_chk (dest, src, __bos (dest)) \ |