annotate osdep/strlcpy.c @ 22697:2fe9bd97a7f6

Fix configure -march detection for athlon-xp The configure script uses SSE support to distinguish between athlon and athlon-xp, but SSE support was tested _after_ deciding the basic CPU type. Thus athlon-xp was always misdetected as athlon. Fix this by moving the CPU extensions check before the CPU type check. Patch from Andrew Savchenko, bircoph list ru.
author uau
date Sun, 18 Mar 2007 13:38:55 +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 }