From: Alan Cox Date: Fri, 23 Oct 2015 13:37:24 +0000 (+0100) Subject: libc: add getw/putw X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=d1e498166e2323d7a7ff8df41a1238270ae2bde0;p=FUZIX.git libc: add getw/putw --- diff --git a/Library/include/stdio.h b/Library/include/stdio.h index d5c6cf78..8acfc7fa 100644 --- a/Library/include/stdio.h +++ b/Library/include/stdio.h @@ -149,5 +149,10 @@ extern int pclose __P((FILE *)); extern char *cuserid __P((char *__buf)); #define L_cuserid 9 +extern char *ctermid __P((char *__buf)); +#define L_ctermid 9 + +extern int getw __P((FILE *__f)); +extern int putw __P((int __n, FILE *__f)); #endif /* __STDIO_H */ diff --git a/Library/libs/API.list b/Library/libs/API.list index dfcb1247..372044ee 100644 --- a/Library/libs/API.list +++ b/Library/libs/API.list @@ -17,7 +17,7 @@ atoi CODE atol CODE bsearch calloc CODE -ceil +ceil Z80 chdir CODE chmod CODE chown CODE @@ -29,7 +29,7 @@ cos Z80 cosh Z80 creat CODE crypt CODE (but tea not DES) -ctermid +ctermid CODE cuserid CODE drand48 dup CODE @@ -49,7 +49,7 @@ execvp CODE exit CODE _exit CODE exp -fabs +fabs Z80 fclose CODE fcntl CODE fdopen CODE @@ -61,7 +61,7 @@ fgetgrent CODE fgetpwent CODE fgets CODE fileno CODE -floor +floor Z80 fmod fopen CODE fork CODE @@ -100,7 +100,7 @@ getpwuid CODE gets CODE getuid CODE getutline CODE -getw *MISSING* +getw CODE gmtime CODE gsignal OBSOLETE hcreate @@ -169,7 +169,7 @@ putenv CODE putpwent CODE puts CODE pututline CODE -putw +putw CODE qsort CODE rand CODE read CODE @@ -226,7 +226,7 @@ time CODE times CODE tmpfile CODE tmpnam CODE -toascii +toascii CODE tolower CODE _tolower CODE toupper CODE diff --git a/Library/libs/Makefile b/Library/libs/Makefile index 08abd09d..88a26d16 100644 --- a/Library/libs/Makefile +++ b/Library/libs/Makefile @@ -22,7 +22,8 @@ OBJ_ASM = $(SRC_ASM:.s=.rel) SRC_C = __argv.c abort.c asctime.c assert.c atexit.c atoi_small.c SRC_C += bcmp.c bcopy.c bsearch.c bzero.c calloc.c cfree.c clock.c closedir.c SRC_C += clock_gettime.c clock_getres.c clock_settime.c -SRC_C += creat.c crypt.c ctime.c cuserid.c difftime.c err.c errno.c error.c +SRC_C += creat.c crypt.c ctermid.c ctime.c cuserid.c +SRC_C += difftime.c err.c errno.c error.c SRC_C += execl.c execv.c execvp.c exit.c SRC_C += fclose.c fflush.c fgetc.c fgetgrent.c fgetpwent.c SRC_C += fgetpos.c fgets.c fopen.c fork.c fprintf.c fputc.c fputs.c fread.c @@ -30,11 +31,11 @@ SRC_C += free.c fsetpos.c ftell.c fwrite.c getcwd.c SRC_C += getenv.c __getgrent.c getgrgid.c getgrnam.c getloadavg.c getlogin.c SRC_C += getopt.c SRC_C += getpw.c __getpwent.c getpwnam.c getpwuid.c gets.c gettimeofday.c -SRC_C += gmtime.c gmtime_r.c grent.c index.c isatty.c killpg.c +SRC_C += getw.c gmtime.c gmtime_r.c grent.c index.c isatty.c killpg.c SRC_C += libintl.c SRC_C += localtim.c localtim_r.c lseek.c lsearch.c lstat.c ltoa.c ltostr.c SRC_C += malloc.c mkfifo.c mkstemps.c nanosleep.c opendir.c pause.c perror.c -SRC_C += popen.c printf.c putenv.c putgetch.c putpwent.c pwent.c qsort.c +SRC_C += popen.c printf.c putenv.c putgetch.c putpwent.c putw.c pwent.c qsort.c SRC_C += raise.c rand.c readdir.c readlink.c realloc.c regerror.c SRC_C += regsub.c remove.c rewind.c rindex.c setbuffer.c setenv.c SRC_C += setlocale.c setvbuf.c settimeofday.c sleep.c sprintf.c diff --git a/Library/libs/Makefile.6502 b/Library/libs/Makefile.6502 index 7493cb9f..2bf45fa6 100644 --- a/Library/libs/Makefile.6502 +++ b/Library/libs/Makefile.6502 @@ -33,18 +33,19 @@ OBJ_ASM = $(SRC_ASM:.s=.o) SRC_C = __argv.c abort.c asctime.c assert.c atexit.c atoi.c SRC_C += bcmp.c bcopy.c bsearch.c bzero.c calloc.c cfree.c clock.c closedir.c SRC_C += clock_gettime.c clock_getres.c clock_settime.c -SRC_C += creat.c crypt.c ctime.c difftime.c err.c errno.c error.c +SRC_C += creat.c crypt.c ctermid.c ctime.c cuserid.c +SRC_C += difftime.c err.c errno.c error.c SRC_C += execl.c execv.c execvp.c exit.c SRC_C += fclose.c fflush.c fgetc.c fgetgrent.c fgetpwent.c SRC_C += fgetpos.c fgets.c fopen.c fork.c fprintf.c fputc.c fputs.c fread.c SRC_C += free.c fsetpos.c ftell.c fwrite.c getcwd.c SRC_C += getenv.c __getgrent.c getgrgid.c getgrnam.c getloadavg.c getopt.c SRC_C += getpw.c __getpwent.c getpwnam.c getpwuid.c gets.c gettimeofday.c -SRC_C += gmtime.c gmtime_r.c grent.c index.c isatty.c killpg.c +SRC_C += getw.c gmtime.c gmtime_r.c grent.c index.c isatty.c killpg.c SRC_C += libintl.c SRC_C += localtim.c localtim_r.c lseek.c lsearch.c lstat.c ltoa.c ltostr.c SRC_C += malloc.c mkfifo.c mkstemps.c nanosleep.c opendir.c pause.c perror.c -SRC_C += popen.c printf.c putenv.c putgetch.c putpwent.c pwent.c qsort.c +SRC_C += popen.c printf.c putenv.c putgetch.c putpwent.c putw.c pwent.c qsort.c SRC_C += raise.c rand.c readdir.c readlink.c realloc.c regerror.c SRC_C += regsub.c remove.c rewind.c rindex.c setbuffer.c setenv.c setjmp.c SRC_C += setlocale.c setvbuf.c settimeofday.c sleep.c sprintf.c diff --git a/Library/libs/Makefile.6809 b/Library/libs/Makefile.6809 index 5fc1115d..aab5d6b2 100644 --- a/Library/libs/Makefile.6809 +++ b/Library/libs/Makefile.6809 @@ -14,7 +14,8 @@ OBJ_ASM = $(SRC_ASM:.s=.o) SRC_C = __argv.c abort.c asctime.c assert.c atexit.c SRC_C += bcmp.c bcopy.c bsearch.c bzero.c calloc.c cfree.c clock.c closedir.c SRC_C += clock_gettime.c clock_getres.c clock_settime.c -SRC_C += creat.c crypt.c ctime.c cuserid.c difftime.c err.c errno.c error.c +SRC_C += creat.c crypt.c ctermid.c ctime.c cuserid.c +SRC_C += difftime.c err.c errno.c error.c SRC_C += execl.c execv.c execvp.c exit.c SRC_C += fclose.c fflush.c fgetc.c fgetgrent.c fgetpwent.c SRC_C += fgetpos.c fgets.c fopen.c fork.c fprintf.c fputc.c fputs.c fread.c @@ -22,11 +23,11 @@ SRC_C += free.c fsetpos.c ftell.c fwrite.c getcwd.c SRC_C += getenv.c __getgrent.c getgrgid.c getgrnam.c getloadavg.c getlogin.c SRC_C += getopt.c SRC_C += getpw.c __getpwent.c getpwnam.c getpwuid.c gets.c gettimeofday.c -SRC_C += gmtime.c gmtime_r.c grent.c index.c isatty.c killpg.c +SRC_C += getw.c gmtime.c gmtime_r.c grent.c index.c isatty.c killpg.c SRC_C += libintl.c SRC_C += localtim.c localtim_r.c lseek.c lsearch.c lstat.c ltoa.c ltostr.c SRC_C += malloc.c mkfifo.c mkstemps.c nanosleep.c opendir.c pause.c perror.c -SRC_C += popen.c printf.c putenv.c putchar.c putpwent.c pwent.c qsort.c +SRC_C += popen.c printf.c putenv.c putchar.c putpwent.c putw.c pwent.c qsort.c SRC_C += raise.c rand.c readdir.c readlink.c realloc.c regerror.c SRC_C += regsub.c remove.c rewind.c rindex.c setbuffer.c setenv.c SRC_C += setlocale.c setvbuf.c settimeofday.c sleep.c sprintf.c diff --git a/Library/libs/getw.c b/Library/libs/getw.c new file mode 100644 index 00000000..c0d367b4 --- /dev/null +++ b/Library/libs/getw.c @@ -0,0 +1,9 @@ +#include + +int getw(FILE *f) +{ + int r; + if (fread(&r, sizeof(r), 1, f) != 1) + return EOF; + return r; +} diff --git a/Library/libs/putw.c b/Library/libs/putw.c new file mode 100644 index 00000000..91a79e4f --- /dev/null +++ b/Library/libs/putw.c @@ -0,0 +1,8 @@ +#include + +int putw(int n, FILE *f) +{ + if (fwrite(&n, sizeof(n), 1, f) != 1) + return EOF; + return 0; +}