annotate osdep/strlcpy.c @ 22364:522954b26e17

comment is a C-string and \ must be properly escaped as \\
author reimar
date Wed, 28 Feb 2007 23:58:03 +0000
parents 8d9e6b4fbf4d
children 9fb716ab06a3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
21857
8d9e6b4fbf4d Split strl.c into strl(cat|cpy).c and move #ifdefs into the build system.
diego
parents:
diff changeset
1 /* strlcpy implementation for systems that do not have it in libc
8d9e6b4fbf4d Split strl.c into strl(cat|cpy).c and move #ifdefs into the build system.
diego
parents:
diff changeset
2 * Time-stamp: <2004-03-14 njk>
8d9e6b4fbf4d Split strl.c into strl(cat|cpy).c and move #ifdefs into the build system.
diego
parents:
diff changeset
3 * (C) 2003-2004 Nicholas J. Kain <njk@aerifal.cx>
8d9e6b4fbf4d Split strl.c into strl(cat|cpy).c and move #ifdefs into the build system.
diego
parents:
diff changeset
4 */
8d9e6b4fbf4d Split strl.c into strl(cat|cpy).c and move #ifdefs into the build system.
diego
parents:
diff changeset
5
8d9e6b4fbf4d Split strl.c into strl(cat|cpy).c and move #ifdefs into the build system.
diego
parents:
diff changeset
6 #include "config.h"
8d9e6b4fbf4d Split strl.c into strl(cat|cpy).c and move #ifdefs into the build system.
diego
parents:
diff changeset
7
8d9e6b4fbf4d Split strl.c into strl(cat|cpy).c and move #ifdefs into the build system.
diego
parents:
diff changeset
8 unsigned int strlcpy (char *dest, const char *src, unsigned int size)
8d9e6b4fbf4d Split strl.c into strl(cat|cpy).c and move #ifdefs into the build system.
diego
parents:
diff changeset
9 {
8d9e6b4fbf4d Split strl.c into strl(cat|cpy).c and move #ifdefs into the build system.
diego
parents:
diff changeset
10 register unsigned int i = 0;
8d9e6b4fbf4d Split strl.c into strl(cat|cpy).c and move #ifdefs into the build system.
diego
parents:
diff changeset
11
8d9e6b4fbf4d Split strl.c into strl(cat|cpy).c and move #ifdefs into the build system.
diego
parents:
diff changeset
12 if (size > 0) {
8d9e6b4fbf4d Split strl.c into strl(cat|cpy).c and move #ifdefs into the build system.
diego
parents:
diff changeset
13 size--;
8d9e6b4fbf4d Split strl.c into strl(cat|cpy).c and move #ifdefs into the build system.
diego
parents:
diff changeset
14 for (i=0; size > 0 && src[i] != '\0'; ++i, size--)
8d9e6b4fbf4d Split strl.c into strl(cat|cpy).c and move #ifdefs into the build system.
diego
parents:
diff changeset
15 dest[i] = src[i];
8d9e6b4fbf4d Split strl.c into strl(cat|cpy).c and move #ifdefs into the build system.
diego
parents:
diff changeset
16
8d9e6b4fbf4d Split strl.c into strl(cat|cpy).c and move #ifdefs into the build system.
diego
parents:
diff changeset
17 dest[i] = '\0';
8d9e6b4fbf4d Split strl.c into strl(cat|cpy).c and move #ifdefs into the build system.
diego
parents:
diff changeset
18 }
8d9e6b4fbf4d Split strl.c into strl(cat|cpy).c and move #ifdefs into the build system.
diego
parents:
diff changeset
19 while (src[i++]);
8d9e6b4fbf4d Split strl.c into strl(cat|cpy).c and move #ifdefs into the build system.
diego
parents:
diff changeset
20
8d9e6b4fbf4d Split strl.c into strl(cat|cpy).c and move #ifdefs into the build system.
diego
parents:
diff changeset
21 return i;
8d9e6b4fbf4d Split strl.c into strl(cat|cpy).c and move #ifdefs into the build system.
diego
parents:
diff changeset
22 }