diff options
author | Robert de Bath <rdebath@poboxes.com> | 1997-05-09 19:36:29 +0200 |
---|---|---|
committer | Lubomir Rintel <lkundrak@v3.sk> | 2013-10-23 23:39:48 +0200 |
commit | e63c244cb22bf48ca1d2695784a072269d19ea96 (patch) | |
tree | 45b9018259f43db629b27395783cf48e55a85eee /libc | |
parent | 4c36e9a0c125ccfff37aa440dab2cf58c4152fff (diff) | |
download | dev86-e63c244cb22bf48ca1d2695784a072269d19ea96.tar.gz |
Import Dev86src-0.12.0.tar.gzv0.12.0
Diffstat (limited to 'libc')
-rw-r--r-- | libc/Config_sh | 2 | ||||
-rw-r--r-- | libc/Makefile | 4 | ||||
-rw-r--r-- | libc/bcc/Makefile | 7 | ||||
-rw-r--r-- | libc/bios/Makefile | 4 | ||||
-rw-r--r-- | libc/error/Makefile | 2 | ||||
-rw-r--r-- | libc/getent/Makefile | 2 | ||||
-rw-r--r-- | libc/gtermcap/Makefile | 2 | ||||
-rw-r--r-- | libc/i386fp/Makefile | 2 | ||||
-rw-r--r-- | libc/i386sys/Makefile | 5 | ||||
-rw-r--r-- | libc/i386sys/mksyscall | 3 | ||||
-rw-r--r-- | libc/malloc1/Makefile | 3 | ||||
-rw-r--r-- | libc/malloc2/Makefile | 3 | ||||
-rw-r--r-- | libc/misc/Makefile | 7 | ||||
-rw-r--r-- | libc/msdos/Makefile | 4 | ||||
-rw-r--r-- | libc/regexp/Makefile | 4 | ||||
-rw-r--r-- | libc/stdio2/Makefile | 5 | ||||
-rw-r--r-- | libc/stdio2/stdio.c | 51 | ||||
-rw-r--r-- | libc/string/Makefile | 3 | ||||
-rw-r--r-- | libc/syscall/Makefile | 6 | ||||
-rw-r--r-- | libc/syscall/mksyscall | 3 | ||||
-rw-r--r-- | libc/termios/Makefile | 3 | ||||
-rw-r--r-- | libc/time/Makefile | 2 |
22 files changed, 56 insertions, 71 deletions
diff --git a/libc/Config_sh b/libc/Config_sh index 6c93784..4beff3e 100644 --- a/libc/Config_sh +++ b/libc/Config_sh @@ -30,7 +30,7 @@ main() CHANGED=0 RUNNING=1 - [ "$DIST" != "" ] && { + [ "$DIST" != "" -o ! -t 1 -o ! -t 0 ] && { RUNNING=0 echo 'Using default configuration' } diff --git a/libc/Makefile b/libc/Makefile index 83aded9..593eaab 100644 --- a/libc/Makefile +++ b/libc/Makefile @@ -10,8 +10,8 @@ TOP=$(TOPDIR)/libc endif VERMAJOR=0 -VERMINOR=0 -VERPATCH=11 +VERMINOR=12 +VERPATCH=0 VER=$(VERMAJOR).$(VERMINOR).$(VERPATCH) CC=bcc diff --git a/libc/bcc/Makefile b/libc/bcc/Makefile index f4cce3d..9f0627a 100644 --- a/libc/bcc/Makefile +++ b/libc/bcc/Makefile @@ -50,34 +50,29 @@ CFLAGS=$(ARCH) $(CCFLAGS) $(DEFS) ifneq ($(OBJ),) all: $(LIBC) - @: + @$(RM) $(OBJ) $(LIBC): $(LIBC)($(OBJ)) $(LIBC)($(IOBJ)): $(ISRC) $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o $(AR) $(ARFLAGS) $@ $*.o - $(RM) $*.o $(LIBC)($(LOBJ)): $(LSRC) $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o $(AR) $(ARFLAGS) $@ $*.o - $(RM) $*.o $(LIBC)($(AOBJ)): $(ASRC) $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o $(AR) $(ARFLAGS) $@ $*.o - $(RM) $*.o $(LIBC)($(ROBJ)): $(RSRC) $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o $(AR) $(ARFLAGS) $@ $*.o - $(RM) $*.o $(LIBC)($(POBJ)): $(PSRC) $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o $(AR) $(ARFLAGS) $@ $*.o - $(RM) $*.o else all: @: diff --git a/libc/bios/Makefile b/libc/bios/Makefile index 5fcc964..57128e0 100644 --- a/libc/bios/Makefile +++ b/libc/bios/Makefile @@ -15,17 +15,15 @@ OBJ=$(AOBJ) $(BOBJ) CFLAGS=$(ARCH) $(CCFLAGS) $(DEFS) all: $(LIBC)($(OBJ)) - @: + @$(RM) $(OBJ) $(LIBC)($(AOBJ)): $(ASRC) $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o $(AR) $(ARFLAGS) $@ $*.o - $(RM) $*.o $(LIBC)($(BOBJ)): $(BSRC) $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o $(AR) $(ARFLAGS) $@ $*.o - $(RM) $*.o else all: @: diff --git a/libc/error/Makefile b/libc/error/Makefile index ae3d1c0..8ec26dc 100644 --- a/libc/error/Makefile +++ b/libc/error/Makefile @@ -8,7 +8,7 @@ ifeq ($(LIB_OS),ELKS) OBJ=error.o sys_errlist.o perror.o sys_siglist.o __assert.o all: $(LIBC)($(OBJ)) - @: + @$(RM) $(OBJ) else all: @: diff --git a/libc/getent/Makefile b/libc/getent/Makefile index 9321ced..d2623bc 100644 --- a/libc/getent/Makefile +++ b/libc/getent/Makefile @@ -22,7 +22,7 @@ ifeq ($(LIB_OS),ELKS) OBJ=$(POBJ) $(GOBJ) $(UOBJ) all: $(LIBC)($(OBJ)) - @: + @$(RM) $(OBJ) $(LIBC)($(GOBJ)): config-grp.h diff --git a/libc/gtermcap/Makefile b/libc/gtermcap/Makefile index 44e21da..51eb1f3 100644 --- a/libc/gtermcap/Makefile +++ b/libc/gtermcap/Makefile @@ -8,7 +8,7 @@ ifeq ($(LIB_OS),ELKS) OBJ=termcap.o tparam.o all: $(LIBC)($(OBJ)) - @: + @$(RM) $(OBJ) else all: @: diff --git a/libc/i386fp/Makefile b/libc/i386fp/Makefile index 55d06da..46c28a9 100644 --- a/libc/i386fp/Makefile +++ b/libc/i386fp/Makefile @@ -24,7 +24,7 @@ CFLAGS=$(ARCH) $(CCFLAGS) $(DEFS) ifeq ($(LIB_CPU),i386) all: $(LIBC)($(FPOBJ)) - rm -f $(JUNK) + rm -f $(JUNK) $(FPOBJ) else all: @: diff --git a/libc/i386sys/Makefile b/libc/i386sys/Makefile index ef01ac9..5110871 100644 --- a/libc/i386sys/Makefile +++ b/libc/i386sys/Makefile @@ -19,7 +19,7 @@ SYSCALLS=syscalls CFLAGS=$(ARCH) $(CCFLAGS) $(DEFS) all: $(SYSCALLS) $(LIBC)($(OBJ)) - @: + @$(RM) $(OBJ) syscalls: syscall.mak $(MAKE) -f syscall.mak LIBC="$(LIBC)" CFLAGS="$(CFLAGS)" @@ -30,17 +30,14 @@ syscall.mak: mksyscall syscall.dat $(LIBC)($(LOBJ)): $(LSRC) $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o $(AR) $(ARFLAGS) $@ $*.o - $(RM) $*.o $(LIBC)($(DOBJ)): $(DSRC) $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o $(AR) $(ARFLAGS) $@ $*.o - $(RM) $*.o $(LIBC)($(EOBJ)): $(ESRC) $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o $(AR) $(ARFLAGS) $@ $*.o - $(RM) $*.o else all: @: diff --git a/libc/i386sys/mksyscall b/libc/i386sys/mksyscall index d9b7f3a..f3b5a00 100644 --- a/libc/i386sys/mksyscall +++ b/libc/i386sys/mksyscall @@ -132,12 +132,11 @@ cat >> syscall.mak <<\! CFLAGS=$(ARCH) $(CCFLAGS) $(DEFS) all: $(LIBC)($(OBJ)) - @: + @$(RM) $(OBJ) $(LIBC)($(OBJ)): syscall.dat $(CC) $(CFLAGS) -DL_$* syscall.c -c -o $*.o $(AR) $(ARFLAGS) $@ $*.o - $(RM) $*.o ! exit $? diff --git a/libc/malloc1/Makefile b/libc/malloc1/Makefile index a4107b8..e762582 100644 --- a/libc/malloc1/Makefile +++ b/libc/malloc1/Makefile @@ -8,12 +8,11 @@ AOBJ=malloc.o alloca.o free.o calloc.o realloc.o CFLAGS=$(ARCH) $(CCFLAGS) $(DEFS) all: $(LIBC)($(AOBJ)) - @: + @$(RM) $(OBJ) $(LIBC)($(AOBJ)): $(ASRC) $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o $(AR) $(ARFLAGS) $@ $*.o - $(RM) $*.o clean: rm -f *.o libc.a diff --git a/libc/malloc2/Makefile b/libc/malloc2/Makefile index ea944db..edfc8f5 100644 --- a/libc/malloc2/Makefile +++ b/libc/malloc2/Makefile @@ -4,7 +4,8 @@ OBJ=malloc.o stack.o CFLAGS=$(ARCH) $(CCFLAGS) $(DEFS) all: $(LIBC)($(OBJ)) - @: + @$(RM) $(OBJ) + clean: rm -f *.o libc.a diff --git a/libc/misc/Makefile b/libc/misc/Makefile index 9bb579c..56fe043 100644 --- a/libc/misc/Makefile +++ b/libc/misc/Makefile @@ -29,19 +29,17 @@ endif CFLAGS=$(ARCH) $(CCFLAGS) $(DEFS) all: $(LIBC) - @: + @$(RM) $(OBJ) $(LIBC): $(LIBC)($(OBJ)) $(LIBC)($(MOBJ)): $(MSRC) $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o $(AR) $(ARFLAGS) $@ $*.o - $(RM) $*.o $(LIBC)($(EOBJ)): $(ESRC) $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o $(AR) $(ARFLAGS) $@ $*.o - $(RM) $*.o clean: rm -f *.o libc.a @@ -49,14 +47,11 @@ clean: $(LIBC)(strtol.o): strtol.c $(CC) -c -ansi $(ARCH) $(CCFLAGS) $(DEFS) $*.c $(AR) $(ARFLAGS) $@ $*.o - $(RM) $*.o $(LIBC)(strtod.o): strtod.c $(CC) -c -ansi $(ARCH) $(CCFLAGS) $(DEFS) $*.c $(AR) $(ARFLAGS) $@ $*.o - $(RM) $*.o $(LIBC)(crypt.o): crypt.c $(CC) -c -ansi $(ARCH) $(CCFLAGS) $(DEFS) $*.c $(AR) $(ARFLAGS) $@ $*.o - $(RM) $*.o diff --git a/libc/msdos/Makefile b/libc/msdos/Makefile index 7a5eaa6..d929ee8 100644 --- a/libc/msdos/Makefile +++ b/libc/msdos/Makefile @@ -22,19 +22,17 @@ endif CFLAGS=$(ARCH) $(CCFLAGS) $(DEFS) all: $(LIBC) - @: + @$(RM) $(OBJ) $(LIBC): $(LIBC)($(OBJ)) $(LIBC)($(AOBJ)): $(ASRC) $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o $(AR) $(ARFLAGS) $@ $*.o - $(RM) $*.o $(LIBC)($(BOBJ)): $(BSRC) $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o $(AR) $(ARFLAGS) $@ $*.o - $(RM) $*.o else all: @: diff --git a/libc/regexp/Makefile b/libc/regexp/Makefile index 0276aba..c99c22e 100644 --- a/libc/regexp/Makefile +++ b/libc/regexp/Makefile @@ -5,7 +5,7 @@ LSRC=regexp.c regsub.c regerror.c CFLAGS=$(ARCH) $(CCFLAGS) $(DEFS) all: $(LIBC) - @: + @$(RM) $(OBJ) $(LIBC): $(LIBC)($(OBJ)) @@ -16,12 +16,10 @@ transfer: $(LIBC)(regexp.o): regexp.c regexp.h regmagic.h $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o $(AR) $(ARFLAGS) $@ $*.o - $(RM) $*.o $(LIBC)(regsub.o): regsub.c regexp.h regmagic.h $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o $(AR) $(ARFLAGS) $@ $*.o - $(RM) $*.o clean: rm -f libc.a *.o core mon.out timer.t.h dMakefile dtr try timer diff --git a/libc/stdio2/Makefile b/libc/stdio2/Makefile index 80f2e3b..0fd8d97 100644 --- a/libc/stdio2/Makefile +++ b/libc/stdio2/Makefile @@ -22,24 +22,21 @@ OBJ= $(AOBJ) $(POBJ) $(SOBJ) CFLAGS=$(ARCH) $(CCFLAGS) $(DEFS) all: $(LIBC) - @: + @$(RM) $(OBJ) $(LIBC): $(LIBC)($(OBJ)) $(LIBC)($(AOBJ)): $(ASRC) $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o $(AR) $(ARFLAGS) $@ $*.o - $(RM) $*.o $(LIBC)($(POBJ)): $(PSRC) $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o $(AR) $(ARFLAGS) $@ $*.o - $(RM) $*.o $(LIBC)($(SOBJ)): $(SSRC) $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o $(AR) $(ARFLAGS) $@ $*.o - $(RM) $*.o transfer: -@rm -f ../include/stdio.h diff --git a/libc/stdio2/stdio.c b/libc/stdio2/stdio.c index 156d3e3..210c41f 100644 --- a/libc/stdio2/stdio.c +++ b/libc/stdio2/stdio.c @@ -207,7 +207,8 @@ int fflush(fp) FILE *fp; { - int len, cc; + int len, cc, rv=0; + char * bstart; if (fp == NULL) /* On NULL flush the lot. */ { if (fflush(stdin)) @@ -231,24 +232,29 @@ FILE *fp; if (len) { + bstart = fp->bufstart; /* - * The loop is so we don't get upset by signals + * The loop is so we don't get upset by signals or partial writes. */ do { - cc = write(fp->fd, fp->bufstart, len); + cc = write(fp->fd, bstart, len); + if( cc > 0 ) + { + bstart+=cc; len-=cc; + } } - while (cc == -1 && errno == EINTR); + while ( cc>0 || (cc == -1 && errno == EINTR)); /* - * I think the following test is _too_ stringent, but it's not - * serious If it is found to be a problem then if cc>0 we can do - * a memcpy to put the buffer in a state for a retry. Or even do - * the retry ourselves. + * If we get here with len!=0 there was an error, exactly what to + * do about it is another matter ... + * + * I'll just clear the buffer. */ - if (cc != len) + if (len) { fp->mode |= __MODE_ERR; - return EOF; + rv = EOF; } } } @@ -260,7 +266,7 @@ FILE *fp; len = fp->bufread - fp->bufpos; /* Bytes buffered but unread */ /* If it's a file, make it good */ - if (len > 0 && lseek(fp->fd, -len, 1) < 0) + if (len > 0 && lseek(fp->fd, (long)-len, 1) < 0) { /* Hummm - Not certain here, I don't think this is reported */ /* @@ -272,7 +278,7 @@ FILE *fp; /* All done, no problem */ fp->mode &= (~(__MODE_READING|__MODE_WRITING|__MODE_EOF|__MODE_UNGOT)); fp->bufread = fp->bufwrite = fp->bufpos = fp->bufstart; - return 0; + return rv; } #endif @@ -475,12 +481,21 @@ FILE *fp; else /* Too big for the buffer */ { - put = write(fp->fd, buf, bytes); - if (put < 0) + put = bytes; + do { - fp->mode |= __MODE_ERR; - put = 0; + len = write(fp->fd, buf, bytes); + if( len > 0 ) + { + buf+=len; bytes-=len; + } } + while (len > 0 || (len == -1 && errno == EINTR)); + + if (len < 0) + fp->mode |= __MODE_ERR; + + put -= bytes; } return put / size; @@ -504,8 +519,6 @@ FILE *fp; long offset; int ref; { - /* Use fflush to sync the pointers */ - #if 1 /* if __MODE_READING and no ungetc ever done can just move pointer */ /* This needs testing! */ @@ -532,6 +545,8 @@ int ref; } #endif + /* Use fflush to sync the pointers */ + if (fflush(fp) == EOF) return EOF; if (lseek(fp->fd, offset, ref) < 0) diff --git a/libc/string/Makefile b/libc/string/Makefile index 61fad41..0f47b40 100644 --- a/libc/string/Makefile +++ b/libc/string/Makefile @@ -13,14 +13,13 @@ OBJ=$(SOBJ) strpbrk.o strsep.o strstr.o strtok.o strcspn.o \ CFLAGS=$(ARCH) $(CCFLAGS) $(DEFS) all: $(LIBC) - @: + @$(RM) $(OBJ) $(LIBC): $(LIBC)($(OBJ)) $(LIBC)($(SOBJ)): $(SSRC) $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o $(AR) $(ARFLAGS) $@ $*.o - $(RM) $*.o transfer: -@rm -f ../include/string.h diff --git a/libc/syscall/Makefile b/libc/syscall/Makefile index fd1b187..a064c3f 100644 --- a/libc/syscall/Makefile +++ b/libc/syscall/Makefile @@ -28,7 +28,7 @@ endif CFLAGS=$(ARCH) $(CCFLAGS) $(DEFS) all: $(SYSCALLS) $(LIBC) - @: + @$(RM) $(OBJ) call_i86: syscall.mak $(MAKE) -f syscall.mak LIBC="$(LIBC)" CFLAGS="$(CFLAGS)" @@ -41,22 +41,18 @@ $(LIBC): $(LIBC)($(OBJ)) $(LIBC)($(LOBJ)): $(LSRC) $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o $(AR) $(ARFLAGS) $@ $*.o - $(RM) $*.o $(LIBC)($(DOBJ)): $(DSRC) $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o $(AR) $(ARFLAGS) $@ $*.o - $(RM) $*.o $(LIBC)($(EOBJ)): $(ESRC) $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o $(AR) $(ARFLAGS) $@ $*.o - $(RM) $*.o $(LIBC)($(LOBJ0)): $(LSRC0) $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o $(AR) $(ARFLAGS) $@ $*.o - $(RM) $*.o clean: rm -f *.o libc.a diff --git a/libc/syscall/mksyscall b/libc/syscall/mksyscall index 2005029..f7b91a6 100644 --- a/libc/syscall/mksyscall +++ b/libc/syscall/mksyscall @@ -278,12 +278,11 @@ END{ cat >> syscall.mak <<\! all: $(LIBC)($(OBJ)) - @: + @$(RM) $(OBJ) $(LIBC)($(OBJ)): syscall.dat $(CC) $(CFLAGS) -DL_$* syscall.c -c -o $*.o $(AR) $(ARFLAGS) $@ $*.o - $(RM) $*.o ! exit $? diff --git a/libc/termios/Makefile b/libc/termios/Makefile index cfc3baa..7e87a81 100644 --- a/libc/termios/Makefile +++ b/libc/termios/Makefile @@ -13,14 +13,13 @@ OBJ=$(TOBJ) ttyname.o CFLAGS=$(ARCH) $(CCFLAGS) $(DEFS) all: $(LIBC) - @: + @$(RM) $(OBJ) $(LIBC): $(LIBC)($(OBJ)) $(LIBC)($(TOBJ)): $(TSRC) $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o $(AR) $(ARFLAGS) $@ $*.o - $(RM) $*.o else all: @: diff --git a/libc/time/Makefile b/libc/time/Makefile index 6e95444..2abb745 100644 --- a/libc/time/Makefile +++ b/libc/time/Makefile @@ -7,7 +7,7 @@ OBJ=localtime.o gmtime.o asctime.o ctime.o asc_conv.o tm_conv.o CFLAGS=$(ARCH) $(CCFLAGS) $(DEFS) all: $(LIBC) - @: + @$(RM) $(OBJ) $(LIBC): $(LIBC)($(OBJ)) |