summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libc/misc/time/time.c5
-rw-r--r--libc/misc/wchar/wchar.c2
-rw-r--r--libc/stdio/printf.c8
-rw-r--r--libc/stdio/stdio.c6
-rw-r--r--libc/stdlib/stdlib.c30
-rw-r--r--libc/string/wstring.c6
-rw-r--r--libc/sysdeps/linux/common/bits/uClibc_stdio.h18
7 files changed, 41 insertions, 34 deletions
diff --git a/libc/misc/time/time.c b/libc/misc/time/time.c
index d439de90c..3f0ddf78d 100644
--- a/libc/misc/time/time.c
+++ b/libc/misc/time/time.c
@@ -449,7 +449,8 @@ static int tm_isdst(register const struct tm *__restrict ptm)
{
register rule_struct *r = _time_tzinfo;
long sec;
- int i, isdst, isleap, day, day0, monlen, mday, oday;
+ int i, isdst, isleap, day, day0, monlen, mday;
+ int oday; /* Note: oday can be uninitialized. */
isdst = 0;
if (r[1].tzname[0] != 0) {
@@ -1681,7 +1682,7 @@ struct tm *_time_t2tm(const time_t *__restrict timer,
{
register int *p;
time_t t1, t, v;
- int wday;
+ int wday; /* Note: wday can be uninitialized. */
{
register const uint16_t *vp;
diff --git a/libc/misc/wchar/wchar.c b/libc/misc/wchar/wchar.c
index 676147334..4506f4f8e 100644
--- a/libc/misc/wchar/wchar.c
+++ b/libc/misc/wchar/wchar.c
@@ -85,7 +85,7 @@
#undef L__wchar_wcsntoutf8s
#endif
-#if WCHAR_MAX > 0xffffU
+#if WCHAR_MAX > 0xffffUL
#define UTF_8_MAX_LEN 6
#else
#define UTF_8_MAX_LEN 3
diff --git a/libc/stdio/printf.c b/libc/stdio/printf.c
index 14e3f2173..47c11c6bf 100644
--- a/libc/stdio/printf.c
+++ b/libc/stdio/printf.c
@@ -764,7 +764,7 @@ extern int _ppfs_parsespec(ppfs_t *ppfs)
int n;
int argtype[MAX_ARGS_PER_SPEC+2];
int argnumber[3]; /* width, precision, 1st data arg */
- unsigned int conv_num = 0;
+ unsigned int conv_num; /* This does not need to be initialized. */
static const char spec_flags[] = SPEC_FLAGS;
static const char spec_chars[] = SPEC_CHARS;/* TODO: b? */
static const char spec_ranges[] = SPEC_RANGES;
@@ -1723,14 +1723,14 @@ int sprintf(char *__restrict buf, const char * __restrict format, ...)
*/
#define DIGITS_PER_BLOCK 9
-#if UINT_MAX >= 4294967295UL
+#if INT_MAX >= 2147483647L
#define DIGIT_BLOCK_TYPE int
#define DB_FMT "%.*d"
-#elif LONG_MAX >= 4294967295UL
+#elif LONG_MAX >= 2147483647L
#define DIGIT_BLOCK_TYPE long
#define DB_FMT "%.*ld"
#else
-#error need at least 32 bit longs
+#warning need at least 32 bit longs
#endif
/* Maximum number of calls to fnprintf to output double. */
diff --git a/libc/stdio/stdio.c b/libc/stdio/stdio.c
index b4208f97c..2c5f3bbed 100644
--- a/libc/stdio/stdio.c
+++ b/libc/stdio/stdio.c
@@ -95,7 +95,7 @@
#ifndef __STDIO_THREADSAFE
-#ifdef __BCC__
+#if defined(__BCC__) && 0
#define UNLOCKED_STREAM(RETURNTYPE,NAME,PARAMS,ARGS,STREAM) \
asm(".text\nexport _" "NAME" "_unlocked\n_" "NAME" "_unlocked = _" "NAME"); \
RETURNTYPE NAME PARAMS
@@ -108,7 +108,7 @@ RETURNTYPE NAME PARAMS
#define UNLOCKED(RETURNTYPE,NAME,PARAMS,ARGS) \
UNLOCKED_STREAM(RETURNTYPE,NAME,PARAMS,ARGS,stream)
-#ifdef __BCC__
+#if defined(__BCC__) && 0
#define UNLOCKED_VOID_RETURN(NAME,PARAMS,ARGS) \
asm(".text\nexport _" "NAME" "_unlocked\n_" "NAME" "_unlocked = _" "NAME"); \
void NAME PARAMS
@@ -3274,7 +3274,7 @@ void _stdio_fdout(int fd, ...)
/* Avoid using long long / and % operations to cut down dependencies on
* libgcc.a. Definitely helps on i386 at least. */
-#if (UINTMAX_MAX > UINT_MAX) && ((UINTMAX_MAX/UINT_MAX) - 2 <= UINT_MAX)
+#if (INTMAX_MAX > INT_MAX) && (((INTMAX_MAX/INT_MAX)/2) - 2 <= INT_MAX)
#define INTERNAL_DIV_MOD
#endif
diff --git a/libc/stdlib/stdlib.c b/libc/stdlib/stdlib.c
index 689fdeb3b..3d53089f9 100644
--- a/libc/stdlib/stdlib.c
+++ b/libc/stdlib/stdlib.c
@@ -84,14 +84,14 @@ double atof(const char *nptr)
/**********************************************************************/
#ifdef L_abs
-#if UINT_MAX < ULONG_MAX
+#if INT_MAX < LONG_MAX
int abs(int j)
{
return (j >= 0) ? j : -j;
}
-#endif /* UINT_MAX < ULONG_MAX */
+#endif /* INT_MAX < LONG_MAX */
#endif
/**********************************************************************/
@@ -118,7 +118,7 @@ long int labs(long int j)
/**********************************************************************/
#ifdef L_llabs
-#if defined(ULLONG_MAX) && (ULLONG_MAX > ULONG_MAX)
+#if defined(ULLONG_MAX) && (LLONG_MAX > LONG_MAX)
#if (ULLONG_MAX == UINTMAX_MAX)
strong_alias(llabs,imaxabs)
@@ -129,20 +129,20 @@ long long int llabs(long long int j)
return (j >= 0) ? j : -j;
}
-#endif /* defined(ULLONG_MAX) && (ULLONG_MAX > ULONG_MAX) */
+#endif /* defined(ULLONG_MAX) && (LLONG_MAX > LONG_MAX) */
#endif
/**********************************************************************/
#ifdef L_atoi
-#if UINT_MAX < ULONG_MAX
+#if INT_MAX < LONG_MAX
int atoi(const char *nptr)
{
return (int) strtol(nptr, (char **) NULL, 10);
}
-#endif /* UINT_MAX < ULONG_MAX */
+#endif /* INT_MAX < LONG_MAX */
#endif
/**********************************************************************/
@@ -165,14 +165,14 @@ long atol(const char *nptr)
/**********************************************************************/
#ifdef L_atoll
-#if defined(ULLONG_MAX) && (ULLONG_MAX > ULONG_MAX)
+#if defined(ULLONG_MAX) && (LLONG_MAX > LONG_MAX)
long long atoll(const char *nptr)
{
return strtoll(nptr, (char **) NULL, 10);
}
-#endif /* defined(ULLONG_MAX) && (ULLONG_MAX > ULONG_MAX) */
+#endif /* defined(ULLONG_MAX) && (LLONG_MAX > LONG_MAX) */
#endif
/**********************************************************************/
@@ -195,7 +195,7 @@ long strtol(const char * __restrict str, char ** __restrict endptr, int base)
/**********************************************************************/
#ifdef L_strtoll
-#if defined(ULLONG_MAX) && (ULLONG_MAX > ULONG_MAX)
+#if defined(ULLONG_MAX) && (LLONG_MAX > LONG_MAX)
#if (ULLONG_MAX == UINTMAX_MAX)
strong_alias(strtoll,strtoimax)
@@ -207,7 +207,7 @@ long long strtoll(const char * __restrict str,
return (long long) _stdlib_strto_ll(str, endptr, base, 1);
}
-#endif /* defined(ULLONG_MAX) && (ULLONG_MAX > ULONG_MAX) */
+#endif /* defined(ULLONG_MAX) && (LLONG_MAX > LONG_MAX) */
#endif
/**********************************************************************/
@@ -231,7 +231,7 @@ unsigned long strtoul(const char * __restrict str,
/**********************************************************************/
#ifdef L_strtoull
-#if defined(ULLONG_MAX) && (ULLONG_MAX > ULONG_MAX)
+#if defined(ULLONG_MAX) && (LLONG_MAX > LONG_MAX)
#if (ULLONG_MAX == UINTMAX_MAX)
strong_alias(strtoull,strtoumax)
@@ -243,7 +243,7 @@ unsigned long long strtoull(const char * __restrict str,
return _stdlib_strto_ll(str, endptr, base, 0);
}
-#endif /* defined(ULLONG_MAX) && (ULLONG_MAX > ULONG_MAX) */
+#endif /* defined(ULLONG_MAX) && (LLONG_MAX > LONG_MAX) */
#endif
/**********************************************************************/
@@ -366,7 +366,7 @@ unsigned long _stdlib_strto_l(register const char * __restrict str,
/**********************************************************************/
#ifdef L__stdlib_strto_ll
-#if defined(ULLONG_MAX) && (ULLONG_MAX > ULONG_MAX)
+#if defined(ULLONG_MAX) && (LLONG_MAX > LONG_MAX)
/* This is the main work fuction which handles both strtoll (sflag = 1) and
* strtoull (sflag = 0). */
@@ -473,7 +473,7 @@ unsigned long long _stdlib_strto_ll(register const char * __restrict str,
return negative ? (unsigned long long)(-((long long)number)) : number;
}
-#endif /* defined(ULLONG_MAX) && (ULLONG_MAX > ULONG_MAX) */
+#endif /* defined(ULLONG_MAX) && (LLONG_MAX > LONG_MAX) */
#endif
/**********************************************************************/
@@ -632,7 +632,7 @@ void ssort (void *base,
/* TODO: clean up the following... */
-#if WCHAR_MAX > 0xffffU
+#if WCHAR_MAX > 0xffffUL
#define UTF_8_MAX_LEN 6
#else
#define UTF_8_MAX_LEN 3
diff --git a/libc/string/wstring.c b/libc/string/wstring.c
index 6957b1fb8..c3dc32dbb 100644
--- a/libc/string/wstring.c
+++ b/libc/string/wstring.c
@@ -876,6 +876,9 @@ Wchar *Wstrstr(const Wchar *s1, const Wchar *s2)
#endif
/**********************************************************************/
+#undef Wstrspn
+#undef Wstrpbrk
+
#ifdef L_wcstok
#define L_strtok_r
#define Wstrtok_r wcstok
@@ -1160,6 +1163,9 @@ void *memccpy(void * __restrict s1, const void * __restrict s2, int c, size_t n)
#endif
/**********************************************************************/
+#undef Wstrlen
+#undef Wstrcpy
+
#ifdef L_wcsdup
#define L_strdup
#define Wstrdup wcsdup
diff --git a/libc/sysdeps/linux/common/bits/uClibc_stdio.h b/libc/sysdeps/linux/common/bits/uClibc_stdio.h
index b8812e7b0..24f2ec39e 100644
--- a/libc/sysdeps/linux/common/bits/uClibc_stdio.h
+++ b/libc/sysdeps/linux/common/bits/uClibc_stdio.h
@@ -427,35 +427,35 @@ extern void __stdio_validate_FILE(FILE *stream);
#include <limits.h>
#include <stdint.h>
-#if UINTMAX_MAX <= 4294967295UL
+#if INTMAX_MAX <= 2147483647L
#define __UIM_BUFLEN 12 /* 10 digits + 1 nul + 1 sign */
-#elif UINTMAX_MAX <= 18446744073709551615ULL
+#elif INTMAX_MAX <= 9223372036854775807LL
#define __UIM_BUFLEN 22 /* 20 digits + 1 nul + 1 sign */
#else
#error unknown number of digits for intmax_t!
#endif
-#ifdef ULLONG_MAX /* --------------- */
-#if ULLONG_MAX <= 4294967295UL
+#ifdef LLONG_MAX /* --------------- */
+#if LLONG_MAX <= 2147483647L
#define __UIM_BUFLEN_LLONG 12 /* 10 digits + 1 nul + 1 sign */
-#elif ULLONG_MAX <= 18446744073709551615ULL
+#elif LLONG_MAX <= 9223372036854775807LL
#define __UIM_BUFLEN_LLONG 22 /* 20 digits + 1 nul + 1 sign */
#else
#error unknown number of digits for long long!
#endif
#endif /* ULLONG_MAX ----------------------------- */
-#if ULONG_MAX <= 4294967295UL
+#if LONG_MAX <= 2147483647L
#define __UIM_BUFLEN_LONG 12 /* 10 digits + 1 nul + 1 sign */
-#elif ULONG_MAX <= 18446744073709551615ULL
+#elif LONG_MAX <= 9223372036854775807LL
#define __UIM_BUFLEN_LONG 22 /* 20 digits + 1 nul + 1 sign */
#else
#error unknown number of digits for long!
#endif
-#if UINT_MAX <= 65536U
+#if INT_MAX <= 32767
#define __UIM_BUFLEN_INT 7 /* 10 digits + 1 nul + 1 sign */
-#elif UINT_MAX <= 4294967295UL
+#elif INT_MAX <= 2147483647L
#define __UIM_BUFLEN_INT 12 /* 10 digits + 1 nul + 1 sign */
#else
#error unknown number of digits for int!