delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2001/12/23/19:01:43

X-Authentication-Warning: delorie.com: mailnull set sender to djgpp-workers-bounces using -f
Sender: rich AT phekda DOT freeserve DOT co DOT uk
Message-ID: <3C26705E.59767514@phekda.freeserve.co.uk>
Date: Mon, 24 Dec 2001 00:01:34 +0000
From: Richard Dawe <rich AT phekda DOT freeserve DOT co DOT uk>
X-Mailer: Mozilla 4.77 [en] (X11; U; Linux 2.2.19 i586)
X-Accept-Language: de,fr
MIME-Version: 1.0
To: djgpp-workers AT delorie DOT com
Subject: Re: RESEND: Patch to computer st_blksize in struct stat
References: <Pine DOT SUN DOT 3 DOT 91 DOT 1011202110439 DOT 7623H-100000 AT is>
Reply-To: djgpp-workers AT delorie DOT com

Hello.

Eli Zaretskii wrote:
> 
> On Sat, 1 Dec 2001, Richard Dawe wrote:
> 
> > AFAIK snprintf() & vsnprintf() are part of C99.
> 
> Perhaps someone could go through C99 and the latest Posix draft, and
> add all of the new functions there to the relevant lists, even if we
> don't have these functions yet.

I had a look through draft 7, the pre-approval draft, of the new POSIX
standard. Below is a diff. Here's what it contains:

* There are updates for the ANSI C section. The function descriptions
indicate which functions were taken from the ISO C99 standard and updated.
Someone with access to the C99 standard should probably check the ANSI C
section.

* The basic POSIX functions. The only optional section included is the
legacy section - realtime, threads, tracing, etc. are not included. We
seem to have most of the legacy functions in libc already.

* Some of the functions may be associated with threading, e.g., *_r() like
ttyname_r() or sched_yield(), but I included them anyway.

The socket functions are included in the base standard. As you'll see,
there are a lot of new functions.

OK to commit?

Thanks, bye, Rich =]

-- 
Richard Dawe [ http://www.phekda.freeserve.co.uk/richdawe/ ]

Index: check.cc
===================================================================
RCS file: /cvs/djgpp/djgpp/tests/libclink/check.cc,v
retrieving revision 1.5
diff -p -c -3 -r1.5 check.cc
*** check.cc    2001/12/02 10:21:45     1.5
--- check.cc    2001/12/23 23:50:25
*************** char *predefs[] = { "main", "edata", "en
*** 20,69 ****
     not a function, and we can't stub it.  ctime() sets tzname, and
     ctime is ANSI and tzname is POSIX.  Sigh. */
  
! char *ansi_fns[] = { "abort", "abs", "acos", "asctime", "asin",
! "atan", "atan2", "atexit", "atof", "atoi", "atol", "bsearch",
! "calloc", "ceil", "clearerr", "clock", "cos", "cosh", "ctime",
! "difftime", "div", "errno", "exit", "exp", "fabs", "fclose", "feof",
! "ferror", "fflush", "fgetc", "fgetpos", "fgets", "floor", "fmod",
! "fopen", "fprintf", "fputc", "fputs", "fread", "free", "freopen",
! "frexp", "fscanf", "fseek", "fsetpos", "ftell", "fwrite", "getc",
! "getchar", "getenv", "gets", "gmtime", "isalnum", "isalpha",
! "iscntrl", "isdigit", "isgraph", "islower", "isprint", "ispunct",
! "isspace", "isupper", "isxdigit", "labs", "ldexp", "ldiv",
! "localeconv", "localtime", "log", "log10", "longjmp", "main",
! "malloc", "mblen", "mbstowcs", "mbtowc", "memchr", "memcmp", "memcpy",
! "memmove", "memset", "mktime", "modf", "perror", "pow", "printf",
! "putc", "putchar", "puts", "qsort", "raise", "rand", "realloc",
! "remove", "rename", "rewind", "scanf", "setbuf", "setjmp",
! "setlocale", "setvbuf", "signal", "sin", "sinh", "snprintf", "sprintf",
"sqrt",
  "srand", "sscanf", "strcat", "strchr", "strcmp", "strcoll", "strcpy",
  "strcspn", "strerror", "strftime", "strlen", "strncat", "strncmp",
! "strncpy", "strpbrk", "strrchr", "strspn", "strstr", "strtod",
! "strtok", "strtol", "strtoul", "strxfrm", "system", "tan", "tanh",
! "time", "tmpfile", "tmpnam", "tolower", "toupper", "tzname", "ungetc",
! "vfprintf", "vprintf", "vsnprintf", "vsprintf", "wcstombs", "wctomb", 0
  };
  
! char *posix_fns[] = { "_exit", "access", "alarm", "cfgetispeed",
! "cfgetospeed", "cfsetispeed", "cfsetospeed", "chdir", "chmod",
! "chown", "close", "closedir", "confstr", "creat", "ctermid", "dup",
! "dup2", "execl", "execle", "execlp", "execv", "execve", "execvp",
! "fcntl", "fdopen", "fileno", "fnmatch", "fnmatch", "fork",
! "fpathconf", "fpathconf", "fstat", "getcwd", "getegid", "geteuid",
! "getgid", "getgrgid", "getgrnam", "getgroups", "getlogin", "getopt",
! "getpgrp", "getpid", "getppid", "getpwnam", "getpwuid", "getuid",
! "glob", "glob", "globfree", "globfree", "isatty", "kill", "link",
! "lseek", "mkdir", "mkfifo", "open", "opendir", "optarg", "opterr",
! "optind", "optopt", "pathconf", "pathconf", "pause", "pclose", "pipe",
! "popen", "read", "readdir", "regcomp", "regerror", "regexec",
! "regfree", "rewinddir", "rmdir", "setgid", "setpgid", "setsid",
! "setuid", "sigaction", "sigaddset", "sigdelset", "sigemptyset",
! "sigfillset", "sigismember", "siglongjmp", "sigpending",
! "sigprocmask", "sigsetjmp", "sigsuspend", "sleep", "stat", "sysconf",
! "sysconf", "tcdrain", "tcflow", "tcflush", "tcgetattr", "tcgetpgrp",
! "tcsendbreak", "tcsetattr", "tcsetpgrp", "times", "ttyname", "tzset",
! "umask", "uname", "unlink", "utime", "wait", "waitpid", "wordexp",
! "wordfree", "write", 0 };
  
  #define Tansi 0x01
  #define Tposix        0x02
--- 20,187 ----
     not a function, and we can't stub it.  ctime() sets tzname, and
     ctime is ANSI and tzname is POSIX.  Sigh. */
  
! char *ansi_fns[] = { "_Exit", "abort", "abs", "acos", "acosf", "acosl",
! "acosh", "acoshf", "acoshl", "asctime", "asin", "asinf", "asinl",
! "asinh", "asinhf", "asinhl", "atan", "atanf", "atanl",
! "atan2", "atan2f", "atan2l", "atanh", "atanhf", "atanhl",
! "atexit", "atof", "atoi", "atol", "atoll", "bsearch", "btowc",
! "cabs", "cabsf", "cabsl", "cacos", "cacosf", "cacosl",
! "cacosh", "cacoshf", "cacoshl", "calloc", "carg", "cargf", "cargl",
! "casin", "casinf", "casinl", "casinh", "casinhf", "casinhl",
! "catan", "catanf", "catanl", "catanh", "catanhf", "catanhl",
! "cbrt", "cbrtf", "cbrtl", "ccos", "ccosf", "ccosl",
! "ccosh", "ccoshf", "ccoshl", "ceil", "ceilf", "ceill",
! "cexp", "cexpf", "cexpl", "cimag", "cimagf", "cimagl",
! "clearerr", "clock", "clog", "clogf", "clogl", "conj", "conjf", "conjl",
! "copysign", "copysignf", "copysignl", "cos", "cosf", "cosl",
! "cosh", "coshf", "coshl", "cpow", "cpowf", "cpowl",
! "cproj", "cprojf", "cprojl", "creal", "crealf", "creall",
! "csin", "csinf", "csinl", "csinh", "csinhf", "csinhl",
! "csqrt", "csqrtf", "csqrtl", "ctan", "ctanf", "ctanl",
! "ctanh", "ctanhf", "ctanhl", "ctime", "difftime", "div",
! "erf", "erff", "erfl", "erf", "erfcf", "erfcl", "errno", "exit",
! "exp", "expf", "expl", "exp2", "exp2f", "exp2l",
! "expm1", "expm1f", "expm1l", "fabs", "fabsf", "fabsl", "fclose",
! "fdim", "fdimf", "fdiml", "feclearexcept", "fegetenv",
"fegetexceptflag",
! "fegetround", "feholdexcept", "feof", "feraiseexcept", "ferror",
! "fesetenv", "fesetexceptflag", "fesetround", "fetestexcept",
! "feupdateenv", "fflush", "fgetc", "fgetpos", "fgets", "fgetwc",
"fgetws",
! "floor", "floorf", "floorl", "fma", "fmaf", "fmal",
! "fmax", "fmaxf", "fmaxl", "fmin", "fminf", "fminl",
! "fmod", "fmodf", "fmodl", "fopen", "fpclassify", "fprintf",
! "fputc", "fputs", "fputwc", "fputws", "fread", "free", "freopen",
! "frexp", "frexpf", "frexpl", "fscanf", "fseek", "fsetpos", "ftell",
! "fwide", "fwprintf", "fwrite", "fwscanf", "getc",
! "getchar", "getenv", "gets", "getwc", "getwchar", "gmtime",
! "hypot", "hypotf", "hypotl", "ilogb", "ilogbf", "ilogbl",
! "imaxabs", "imaxdiv", "isalnum", "isalpha", "isblank",
! "iscntrl", "isdigit", "isfinite", "isgraph", "isgreater",
! "isgreaterequal", "isinf", "isless", "islessequal", "islessgreater",
! "islower", "isnan", "isnormal", "isprint", "ispunct",
! "isspace", "isunordered", "isupper", "iswalnum", "iswalpha", "iswblank",
! "iswcntrl", "iswctype", "iswdigit", "iswgraph", "iswlower", "iswprint",
! "iswpunct", "iswspace", "iswupper", "iswxdigit", "isxdigit",
! "j0", "j1", "jn", "labs", "llabs", "ldexp", "ldexpf", "ldexpl",
! "ldiv", "lldiv", "lgamma", "lgammaf", "lgammal",
! "llrint", "llrintf", "llrintl", "llround", "llroundf", "llroundl",
! "localeconv", "localtime", "log", "logf", "logl",
! "log10", "log10f", "log10l", "log1p", "log1pf", "log1pl",
! "log2", "log2f", "log2l", "logb", "logbf", "logbl",
! "lrint", "lrintf", "lrintl", "lround", "lroundf", "lroundl",
! "longjmp", "main", "malloc", "mblen", "mbrlen", "mbrtowc", "mbsinit",
! "mbsrtowcs", "mbstowcs", "mbtowc", "memccpy", "memchr", "memcmp",
! "memcpy", "memmove", "memset", "mktime",
! "modf", "modff", "modfl", "nan", "nanf", "nanl",
! "nearbyint", "nearbyintf", "nearbyintl",
! "nextafter", "nextafterf", "nextafterl",
! "nexttoward", "nexttowardf", "nexttowardl", "perror",
! "pow", "powf", "powl", "printf", "putc", "putchar", "puts",
! "putwc", "putwchar", "qsort", "raise", "rand", "realloc",
! "remainder", "remainderf", "remainderl",
! "remove", "remquo", "remquof", "remquol", "rename", "rewind",
! "rint", "rintf", "rintl", "round", "roundf", "roundl",
! "scalbln", "scalblnf", "scalblnl", "scalbn", "scalbnf", "scalbnl",
! "scanf", "setbuf", "setjmp", "setlocale", "setvbuf",
! "signal", "signbit", "signum", "sin", "sinf", "sinl",
! "sinh", "sinhf", "sinhl", "snprintf", "sprintf",
! "sqrt", "sqrtf", "sqrtl",
  "srand", "sscanf", "strcat", "strchr", "strcmp", "strcoll", "strcpy",
  "strcspn", "strerror", "strftime", "strlen", "strncat", "strncmp",
! "strncpy", "strpbrk", "strrchr", "strspn", "strstr",
! "strtod", "strtof", "strtoimax", "strtok",
! "strtol", "strtold", "strtoll", "strtoul", "strtoull",
! "strtoumax", "strxfrm", "swprinf", "swscanf", "system",
! "tan", "tanf", "tanl", "tanh", "tanhf", "tanhl",
! "tgamma", "tgammaf", "tgammal", "time", "tmpfile", "tmpnam",
! "tolower", "toupper", "towctrans", "towlower", "towupper",
! "trunc", "truncf", "truncl", "tzname", "ungetc", "ungetwc",
! "vfprintf", "vfscanf", "vfwprintf", "vfwscanf", "vprintf",
! "vscanf", "vsnprintf", "vsprintf", "vsscanf", "vswprintf", "vswscanf",
! "vwprintf", "vwscanf", "wcstombs", "wcrtomb", "wcstat",
! "wcschr", "wcscmp", "wcscoll", "wcscpy", "wcscspn", "wcsftime",
! "wcslen", "wcsncat", "wcsncmp", "wcsncpy", "wcspbrk", "wcsrchr",
! "wcsrtombs", "wcsspn", "wcsstr", "wcstod", "wcstof",
! "wcstoimax", "wcstok", "wcstol", "wcstold", "wcstoll",
! "wcstombs", "wcstoul", "wcstoull", "wcstoumax",
! "wcswidth", "wcsxfrm", "wctob", "wctomb", "wctrans",
! "wctype", "wcwidth", "wmemchr", "wmemcmp", "wmemcpy",
! "wmemmove", "wmemset", "wscanf", "wprintf", 0
  };
  
! char *posix_fns[] = { "_exit", "_longjmp", "_setjmp",
! "_tolower", "_toupper", "a64l", "accept", "access", "alarm",
! "asctime_r", "basename", "bcmp", "bcopy", "bind", "bzero",
! "catclose", "catgets", "catopen",
! "cfgetispeed", "cfgetospeed", "cfsetispeed", "cfsetospeed",
! "chdir", "chmod", "chown", "close", "closedir", "closelog",
! "confstr", "connect", "creat", "ctermid", "ctime_r",
! "dbm_clearerr", "dbm_close", "dbm_delete", "dbm_error", "dbm_fetch",
! "dbm_firstkey", "dbm_nextkey", "dbm_open", "dbm_store", "dirname",
! "dlclose", "dlerror", "dlopen", "dlsym", "drand48", "dup", "dup2",
! "ecvt", "endgrent", "endhostent", "endnetent", "endprotoent",
"endpwent",
! "endservent", "endutxent", "erand48",
! "execl", "execle", "execlp", "execv", "execve", "execvp",
! "fchdir", "fchmod", "fchown", "fcntl", "fcvt", "fdopen", "ffs",
"fileno",
! "flockfile", "fmtmsg", "fnmatch", "fork", "fpathconf", "freeaddrinfo",
! "fseeko", "fstat", "fstatvfs", "fsync", "ftello", "ftime", "ftok",
! "ftruncate", "ftrylockfile", "ftw", "funlockfile", "gcvt",
"getaddrinfo",
! "getc_unlocked", "getchar_unlocked", "getcontext", "getcwd",
! "getdate", "getegid", "geteuid", "getgid", "getgrent",
! "getgrgid", "getgrgid_r", "getgrnam", "getgrnam_r", "getgroups",
! "gethostbyaddr", "gethostbyname", "gethostent", "gethostid",
! "gethostname", "getitimer", "getlogin", "getlogin_r", "getnameinfo",
! "getnetbyaddr", "getnetbyname", "getnetent", "getpeername",
! "getprotobyname", "getprotobynumber", "getprotoent", "getopt",
! "getpgid", "getpgrp", "getpid", "getppid", "getpriority", "getpwent",
! "getpwnam", "getpwnam_r", "getpwuid", "getpwuid_r", "getrlimit",
! "getrusage", "getservbyname", "getservbyport", "getservent", "getsid",
! "getsockname", "getsockopt", "getsubopt", "gettimeofday",
! "getuid", "getutxent", "getutxid", "getutxline", "getwd",
! "glob", "globfree", "gmtime_r", "grantpt",
! "h_errno", "hcreate", "hdestroy", "hsearch",
! "htonl", "htons", "iconv", "iconv_close", "iconv_open",
! "if_freenameindex", "if_indextoname", "if_nameindex", "if_nametoindex",
! "index", "inet_addr", "inet_ntoa", "inet_ntop", "inet_pton",
! "initstate", "insque", "isascii", "isatty",
! "jrand48", "kill", "killpg", "l64a", "lchown",
! "lcong48", "lfind", "link", "listen", "localtime_r", "lockf",
! "lrand48", "lsearch", "lseek", "lstat", "makecontext",
! "mkdir", "mkfifo", "mknod", "mkstemp", "mktemp", "mmap", "mprotect",
! "mrand48", "msgctl", "msgget", "msgrcv", "msgsnd", "msync",
! "munmap", "nftw", "nice", "nl_langinfo", "nrand48", "ntohl", "ntohs",
! "open", "opendir", "openlog", "optarg", "opterr", "optind", "optopt",
! "pathconf", "pause", "pclose", "pipe", "poll", "popen", "pread",
! "pselect", "putc_unlocked", "putchar_unlocked", "putenv",
! "pututxline", "pwrite", "rand_r", "random", "read",
! "readdir", "readdir_r", "readlink", "readv", "realpath",
! "recv", "recvfrom", "recvmsg",
! "regcomp", "regerror", "regexec", "regfree", "remque", "rewinddir",
! "rindex", "rmdir", "scalb", "sched_yield", "seed48",
! "seekdir", "select", "semctl", "semget", "semop",
! "send", "sendmsg", "sendto", "setcontext", "setegid", "setenv",
"seteuid",
! "setgid", "setgrent", "sethostent", "setitimer", "setlogmask",
! "setnetent", "setpgid", "setpgrp", "setpriority", "setprotoent",
! "setpwent", "setregid", "setreuid", "setrlimit", "setservent", "setsid",
! "setsockopt", "setstate", "setuid", "setutxent",
! "shmat", "shmctl", "shmdt", "shmget", "shutdown",
! "sigaction", "sigaddset", "sigaltstack", "sigdelset", "sigemptyset",
! "sigfillset", "sighold", "sigignore", "siginterrupt", "sigismember",
! "siglongjmp", "sigpause", "sigpending", "sigprocmask", "sigrelse",
! "sigset", "sigsetjmp", "sigsuspend", "sigwait", "sleep",
! "sockatmark", "socket", "socketpair", "srand48",
! "srandom", "stat", "statvfs", "strcasecmp", "strncasecmp", "strdup",
! "strerror_r", "strfmon", "strftime", "strptime", "strtok_r",
! "swab", "swapcontext", "symlink", "sync", "sysconf", "syslog",
! "tcdrain", "tcflow", "tcflush", "tcgetattr", "tcgetpgrp",
! "tcgetsid", "tcsendbreak", "tcsetattr", "tcsetpgrp",
! "tdelete", "telldir", "tempnam", "tfind", "times", "toascii",
! "truncate", "tsearch", "ttyname", "ttyname_r",
! "twalk", "tzset", "ualarm", "ulimit", "umask", "uname",
! "unlink", "unlockpt", "unsetenv", "usleep", "utime", "utime",
! "vfork", "wait", "waitid", "waitpid",
! "wcswcs", "wordexp", "wordfree", "write", "writev",
! "y0", "y1", "yn", 0
! };
  
  #define Tansi 0x01
  #define Tposix        0x02

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019