# HG changeset patch # User kono # Date 1548000029 -32400 # Node ID dc4c7e7ec5c98aa73c7fd45d0a3cad06dfa2a8f2 # Parent 61b475820ea1e3f3b63a0163ca987205e35d1821 some free makes error on Linux diff -r 61b475820ea1 -r dc4c7e7ec5c9 os9/level1/Makefile --- a/os9/level1/Makefile Sun Jan 20 19:10:23 2019 +0900 +++ b/os9/level1/Makefile Mon Jan 21 01:00:29 2019 +0900 @@ -8,7 +8,7 @@ MOD = pdisk init os9p1 os9p2 ioman pipe piper rbf scf term pty d0 d1 vrbf v0 clock shell dir mdir sysgo shell -all : ${MOD} TL1 +all : ${MOD} TL1 mc09 cd cmds; make clean : @@ -89,4 +89,5 @@ TL1 : ln -s ../../TL1 . - ln -s ../../mc09 . +mc09 : + ln -s ../mc09 . diff -r 61b475820ea1 -r dc4c7e7ec5c9 os9/level2/Makefile --- a/os9/level2/Makefile Sun Jan 20 19:10:23 2019 +0900 +++ b/os9/level2/Makefile Mon Jan 21 01:00:29 2019 +0900 @@ -7,7 +7,7 @@ ALL = ioman pdisk init os9p1 os9p2 os9p3_perr os9p4_regdump pipe pipeman pipeman_named piper rbf scf term pty d0 d1 clock vector boot shell dir mdir sysgo v0 vrbf -all : $(ALL) TL1 +all : $(ALL) TL1 mc09 cd cmds ; make clean : @@ -95,5 +95,6 @@ TL1 : ln -s ../../TL1 . - ln -s ../../mc09 . +mc09 : + ln -s ../mc09 . diff -r 61b475820ea1 -r dc4c7e7ec5c9 src/Makefile --- a/src/Makefile Sun Jan 20 19:10:23 2019 +0900 +++ b/src/Makefile Mon Jan 21 01:00:29 2019 +0900 @@ -12,9 +12,9 @@ # CFLAGS=-O3 -fomit-frame-pointer -DTERM_CONTROL # use this on Linux -#CFLAGS=-g -DTERM_CONTROL \ -# -std=c99 -D_POSIX_C_SOURCE=1 -D_XOPEN_SOURCE=1 -D_POSIX_SOURCE=200809L -D_GNU_SOURCE=1 \ -# -Dd_namlen=d_reclen +# CFLAGS=-g -DTERM_CONTROL \ +# -std=c99 -D_POSIX_C_SOURCE=1 -D_XOPEN_SOURCE=1 -D_POSIX_SOURCE=200809L -D_GNU_SOURCE=1 \ +# -Dd_namlen=d_reclen CFLAGS=-g -DTERM_CONTROL V09FLAGS= -DUSE_TERMIOS # -DNOFMEMOPEN -DBIG_ENDIAN diff -r 61b475820ea1 -r dc4c7e7ec5c9 src/vdisk.c --- a/src/vdisk.c Sun Jan 20 19:10:23 2019 +0900 +++ b/src/vdisk.c Mon Jan 21 01:00:29 2019 +0900 @@ -21,7 +21,6 @@ static int vdiskdebug = 0; // bit 1 trace, bit 2 filename - Byte pmmu[8]; // process dat mmu extern char *prog ; // for disass @@ -95,7 +94,7 @@ pd->fp = 0; pd->mode = 0; free(pd->dirfp); pd->dirfp = 0; - free(pd->name); pd->name = 0; + // free(pd->name); pd->name = 0; } /* @@ -206,7 +205,9 @@ while(*p==' ') p++; } char *name1 = addCurdir(name,pd,curdir); - if (name1!=name && path!=name) free(name); + if (name1!=name && path!=name) { + free(name); + } if (name1==0) return 0; pd->name = name1; if(vdiskdebug&2) { @@ -382,9 +383,9 @@ static int filedescriptor(Byte *buf, int len, Byte *name,int curdir) { int err = 0x255; - PathDesc pd; + PathDesc pd; pd.name = 0; if (len<13) return -1; - checkFileName((char*)name,&pd,curdir); + if (checkFileName((char*)name,&pd,curdir)==0) goto err1; struct stat st; if (stat(pd.name,&st)!=0) goto err1; os9setmode(buf+FD_ATT,st.st_mode); @@ -399,7 +400,7 @@ os9setdate(buf+FD_Creat,&st.st_ctime); err = 0; err1: - free(pd.name); + // free(pd.name); should be free return err; } @@ -536,7 +537,7 @@ case 0xd2: mode = *areg; attr = *breg; - pd->fp = 0; + pd->fp = 0; pd->name = 0; path = (char*)pmem(xreg); next = checkFileName(path,pd,curdir); *breg = 0xff;