1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-08-07 06:43:00 +03:00
* sysdeps/unix/sysv/linux/i386/shmctl.c: Fix handling of save_errno.
This commit is contained in:
Ulrich Drepper
2000-02-12 01:13:47 +00:00
parent a58a476357
commit e87f0c3347
3 changed files with 18 additions and 17 deletions

View File

@@ -1,5 +1,7 @@
2000-02-11 Ulrich Drepper <drepper@redhat.com> 2000-02-11 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/shmctl.c: Fix handling of save_errno.
* locale/langinfo.h: Make CRNCYSTR a separate entry instead of an * locale/langinfo.h: Make CRNCYSTR a separate entry instead of an
alias for CURRENCY_SYMBOL. alias for CURRENCY_SYMBOL.
* locale/programs/ld-monetary.c: Add support to write out CRNCYSTR * locale/programs/ld-monetary.c: Add support to write out CRNCYSTR

View File

@@ -1202,7 +1202,7 @@ __vfscanf (FILE *s, const char *format, va_list argptr)
int from_level; int from_level;
int to_level; int to_level;
#ifdef COMPILE_WPRINTF #ifdef COMPILE_WPRINTF
const wchar_t *wcdigits; const wchar_t *wcdigits[10];
#else #else
const char *mbdigits[10]; const char *mbdigits[10];
#endif #endif
@@ -1221,19 +1221,19 @@ __vfscanf (FILE *s, const char *format, va_list argptr)
and also perform the first round of comparisons. */ and also perform the first round of comparisons. */
for (n = 0; n < 10; ++n) for (n = 0; n < 10; ++n)
{ {
size_t dlen;
size_t dcnt;
/* Get the string for the digits with value N. */ /* Get the string for the digits with value N. */
#ifdef COMPILE_WPRINTF #ifdef COMPILE_WPRINTF
wcdigits[n] = _NL_CURRENT (LC_CTYPE, wcdigits[n] = (const wchar_t *)
_NL_CTYPE_INDIGITS0_WC + n); _NL_CURRENT (LC_CTYPE, _NL_CTYPE_INDIGITS0_WC + n);
if (c == *wcdigit[n]) if (c == *wcdigits[n])
break; break;
/* Advance the pointer to the next string. */ /* Advance the pointer to the next string. */
++wcdigits[n]; ++wcdigits[n];
#else #else
size_t dlen;
size_t dcnt;
mbdigits[n] = _NL_CURRENT (LC_CTYPE, mbdigits[n] = _NL_CURRENT (LC_CTYPE,
_NL_CTYPE_INDIGITS0_MB + n); _NL_CTYPE_INDIGITS0_MB + n);
dlen = strlen (mbdigits[n]); dlen = strlen (mbdigits[n]);
@@ -1253,8 +1253,8 @@ __vfscanf (FILE *s, const char *format, va_list argptr)
/* Advance the pointer to the next string. */ /* Advance the pointer to the next string. */
mbdigits[n] += dlen + 1; mbdigits[n] += dlen + 1;
}
#endif #endif
}
if (n == 10) if (n == 10)
{ {
@@ -1265,7 +1265,7 @@ __vfscanf (FILE *s, const char *format, va_list argptr)
for (n = 0; n < 10; ++n) for (n = 0; n < 10; ++n)
{ {
#ifdef COMPILE_WPRINTF #ifdef COMPILE_WPRINTF
if (c == *wcdigit[n]) if (c == *wcdigits[n])
break; break;
/* Advance the pointer to the next string. */ /* Advance the pointer to the next string. */

View File

@@ -89,7 +89,6 @@ __new_shmctl (int shmid, int cmd, struct shmid_ds *buf)
} }
{ {
int save_errno = result;
struct __old_shmid_ds old; struct __old_shmid_ds old;
# ifdef __NR_getuid32 # ifdef __NR_getuid32
@@ -97,7 +96,7 @@ __new_shmctl (int shmid, int cmd, struct shmid_ds *buf)
{ {
if (__libc_missing_32bit_uids < 0) if (__libc_missing_32bit_uids < 0)
{ {
save_errno = errno; int save_errno = errno;
/* Test presence of new IPC by testing for getuid32 syscall. */ /* Test presence of new IPC by testing for getuid32 syscall. */
result = INLINE_SYSCALL (getuid32, 0); result = INLINE_SYSCALL (getuid32, 0);