diff options
author | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2005-03-17 11:20:27 +0000 |
---|---|---|
committer | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2005-03-17 11:20:27 +0000 |
commit | 006ceae3848f96f179e7aafdc02f40263477f265 (patch) | |
tree | aef3593ea2b89bd81867a7ba9637507830f2253b /src/utils.c | |
parent | f456f34ed250904cc8dfbbb526219420d3956e5d (diff) |
optimized strncpy2().
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@182 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'src/utils.c')
-rw-r--r-- | src/utils.c | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/src/utils.c b/src/utils.c index de2324f6..5d65c418 100644 --- a/src/utils.c +++ b/src/utils.c @@ -309,20 +309,14 @@ gpointer my_memmem(gconstpointer haystack, size_t haystacklen, /* Copy no more than N characters of SRC to DEST, with NULL terminating. */ gchar *strncpy2(gchar *dest, const gchar *src, size_t n) { - register gchar c; - gchar *s = dest; + register const gchar *s = src; + register gchar *d = dest; - do { - if (--n == 0) { - *dest = '\0'; - return s; - } - c = *src++; - *dest++ = c; - } while (c != '\0'); + while (--n && *s) + *d++ = *s++; + *d = '\0'; - /* don't do zero fill */ - return s; + return dest; } #if !HAVE_ISWALNUM |