summaryrefslogtreecommitdiff
path: root/lib/strverscmp.c
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>2000-11-16 10:15:54 +0000
committerJim Meyering <jim@meyering.net>2000-11-16 10:15:54 +0000
commitf2e553b126c9c260a9929ec88273827d102ec528 (patch)
tree497e5d253b0d0f9592a433aba82f35adc7b35130 /lib/strverscmp.c
parent8a93bbce06793dea2b66165a2d833c66bc10936c (diff)
downloadcoreutils-f2e553b126c9c260a9929ec88273827d102ec528.tar.xz
Incorporate weak-alias-related changes from glibc.
Diffstat (limited to 'lib/strverscmp.c')
-rw-r--r--lib/strverscmp.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/lib/strverscmp.c b/lib/strverscmp.c
index 830a5458b..c920bd78b 100644
--- a/lib/strverscmp.c
+++ b/lib/strverscmp.c
@@ -26,7 +26,7 @@
#include <ctype.h>
/* states: S_N: normal, S_I: comparing integral part, S_F: comparing
- Fractional parts, S_Z: idem but with leading Zeroes only */
+ fractional parts, S_Z: idem but with leading Zeroes only */
#define S_N 0x0
#define S_I 0x4
#define S_F 0x8
@@ -36,6 +36,7 @@
#define CMP 2
#define LEN 3
+
/* ISDIGIT differs from isdigit, as follows:
- Its arg may be any int or unsigned int; it need not be an unsigned char.
- It's guaranteed to evaluate its argument exactly once.
@@ -46,13 +47,20 @@
host does not conform to Posix. */
#define ISDIGIT(c) ((unsigned) (c) - '0' <= 9)
+#undef __strverscmp
+#undef strverscmp
+
+#ifndef weak_alias
+# define __strverscmp strverscmp
+#endif
+
/* Compare S1 and S2 as strings holding indices/version numbers,
returning less than, equal to or greater than zero if S1 is less than,
equal to or greater than S2 (for more info, see the texinfo doc).
*/
int
-strverscmp (const char *s1, const char *s2)
+__strverscmp (const char *s1, const char *s2)
{
const unsigned char *p1 = (const unsigned char *) s1;
const unsigned char *p2 = (const unsigned char *) s2;
@@ -120,3 +128,6 @@ strverscmp (const char *s1, const char *s2)
return state;
}
}
+#ifdef weak_alias
+weak_alias (__strverscmp, strverscmp)
+#endif