libc: add getw/putw
authorAlan Cox <alan@etchedpixels.co.uk>
Fri, 23 Oct 2015 13:37:24 +0000 (14:37 +0100)
committerAlan Cox <alan@etchedpixels.co.uk>
Fri, 23 Oct 2015 13:37:24 +0000 (14:37 +0100)
Library/include/stdio.h
Library/libs/API.list
Library/libs/Makefile
Library/libs/Makefile.6502
Library/libs/Makefile.6809
Library/libs/getw.c [new file with mode: 0644]
Library/libs/putw.c [new file with mode: 0644]

index d5c6cf7..8acfc7f 100644 (file)
@@ -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 */
index dfcb124..372044e 100644 (file)
@@ -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
index 08abd09..88a26d1 100644 (file)
@@ -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 
index 7493cb9..2bf45fa 100644 (file)
@@ -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
index 5fc1115..aab5d6b 100644 (file)
@@ -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 (file)
index 0000000..c0d367b
--- /dev/null
@@ -0,0 +1,9 @@
+#include <stdio.h>
+
+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 (file)
index 0000000..91a79e4
--- /dev/null
@@ -0,0 +1,8 @@
+#include <stdio.h>
+
+int putw(int n, FILE *f)
+{
+  if (fwrite(&n, sizeof(n), 1, f) != 1)
+    return EOF;
+  return 0;
+}