mirror of
https://sourceware.org/git/glibc.git
synced 2025-01-05 01:00:14 +00:00
f166d86530
1997-03-09 06:59 Ulrich Drepper <drepper@cygnus.com> * Makeconfig: Add ASFLAGS-% flags for SPARC assembler which need -fPIC. * Makerules (compile.S): Use ASFLAGS-%. (COMPILE.S): Likewise. * config.make.in (ASFLAGS-.so): Define from ASFLAGS_SO. * configure.in: Substitute ASFLAGS_SO. * sysdeps/sparc/configure.in: New file. * posix/unitstd.h: Add prototype for __euidaccess. * sysdeps/posix/euidaccess.c: Define as __euidaccess and make euidaccess weak alias. * sysdeps/stubs/euidaccess.c: Likewise. * inet/rcmd.c: Use __ protected versions of non-standard functions. * locale/setlocale.c (setlocale): Don't set usage_count to MAX_USAGE_COUNT if it already has this value. * locale/programs/localedef.c: Don't use LOCALE_PATH to find binary locale files. Use LOCALEDIR only. * locale/programs/locfile.c: When named file not found and not absolute use path in I18NPATH. * stdlib/Makefile (headers): Add inttypes.h. * sysdpes/generic/socketbits.h: Add PF_FILE as synonym for PF_LOCAL and AF_FILE as synonym for AF_LOCAL. * sysdpes/unix/sysv/linux/socketbits.h: Likewise. * time/Makefile: Rewrite rules for test to handle parallel builds. 1997-03-09 05:26 Ulrich Drepper <drepper@cygnus.com> * manual/startup.texi (EXIT_FAILURE): Fix typo. Patch by robbe@orcus.priv.at. 1997-03-09 05:10 Edward Seidl <seidl@janed.com> * sysdeps/i386/elf/start.S (nofini): *Really* align stack to 8-byte boundary. 1997-03-09 01:48 Ulrich Drepper <drepper@cygnus.com> * elf/link.h: Define __need_NULL to get definition. Include <features.h>. Patch by Andreas Jaeger <aj@arthur.pfalz.de>. 1997-03-08 21:48 Thorsten Kukuk <kukuk@tk.uni-paderborn.de> Rewrite NIS code to allow empty keys. * nis/nss_nis/nis-ethers.c: Rewritten. * nis/nss_nis/nis-proto.c: Rewritten. * nis/nss_nis/nis-publickey.c: Rewritten. * nis/nss_nis/nis-rpc.c: Rewritten. * nis/nss_nis/nis-service.c: Rewritten. 1997-03-08 16:02 Andreas Jaeger <aj@arthur.pfalz.de> * time/scheck.c (scheck): Add extra const to second argument. * time/private.h: Correct prototypes to match definition. 1997-03-08 18:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/alpha/__math.h: Remove cabs inline definition. Reported by Philip Blundell <pjb27@cam.ac.uk>. Reported by Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>. Bug report by Andreas Jaeger <jaeger@informatik.uni-kl.de>.
60 lines
1.1 KiB
C
60 lines
1.1 KiB
C
#ifndef lint
|
|
#ifndef NOID
|
|
static char elsieid[] = "@(#)scheck.c 8.14";
|
|
#endif /* !defined lint */
|
|
#endif /* !defined NOID */
|
|
|
|
/*LINTLIBRARY*/
|
|
|
|
#include "private.h"
|
|
|
|
char *
|
|
scheck(string, format)
|
|
const char * const string;
|
|
const char * const format;
|
|
{
|
|
register char * fbuf;
|
|
register const char * fp;
|
|
register char * tp;
|
|
register int c;
|
|
register char * result;
|
|
char dummy;
|
|
static char nada;
|
|
|
|
result = &nada;
|
|
if (string == NULL || format == NULL)
|
|
return result;
|
|
fbuf = imalloc((int) (2 * strlen(format) + 4));
|
|
if (fbuf == NULL)
|
|
return result;
|
|
fp = format;
|
|
tp = fbuf;
|
|
while ((*tp++ = c = *fp++) != '\0') {
|
|
if (c != '%')
|
|
continue;
|
|
if (*fp == '%') {
|
|
*tp++ = *fp++;
|
|
continue;
|
|
}
|
|
*tp++ = '*';
|
|
if (*fp == '*')
|
|
++fp;
|
|
while (is_digit(*fp))
|
|
*tp++ = *fp++;
|
|
if (*fp == 'l' || *fp == 'h')
|
|
*tp++ = *fp++;
|
|
else if (*fp == '[')
|
|
do *tp++ = *fp++;
|
|
while (*fp != '\0' && *fp != ']');
|
|
if ((*tp++ = *fp++) == '\0')
|
|
break;
|
|
}
|
|
*(tp - 1) = '%';
|
|
*tp++ = 'c';
|
|
*tp = '\0';
|
|
if (sscanf(string, fbuf, &dummy) != 1)
|
|
result = (char *) format;
|
|
ifree(fbuf);
|
|
return result;
|
|
}
|