Mercurial > hg > Members > kono > os9 > sbc09
diff os9/mc09/mclibos9.c @ 105:6eef99bb4771
fix runtime
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 29 Dec 2018 12:25:26 +0900 |
parents | 096b3fc7aa66 |
children | 6566b9f47f4a |
line wrap: on
line diff
--- a/os9/mc09/mclibos9.c Fri Dec 28 17:43:55 2018 +0900 +++ b/os9/mc09/mclibos9.c Sat Dec 29 12:25:26 2018 +0900 @@ -31,9 +31,9 @@ #define STDOUT (&_s0[1]) #define STDERR (&_s0[2]) -_main(args,prog) +_main(prog,args) +char *prog; char *args; -char *prog; {int i; char **argv,*p,*q; int argc,n,quote,c; @@ -54,12 +54,13 @@ quote = 0; q = p = args; if (i==1) argv[n] = args; - while((c = *p++) && c!='\r') { + while((c = *p) && c!='\r') { if (c=='\'') { if (!quote) { - q--; + p++; quote = 1; } else { + p++; if (i==1) *q=0; quote = 0; } @@ -68,14 +69,14 @@ } else if (c==' ') { if (!quote) { if (i==1) { - *q = 0; argv[n++] = q+1; + *q = 0; argv[++n] = q+1; } } } if (i==1) *q = *p; q++; p++; } - if (i==1) *q = 0; + if (i==1) { *q = 0; argv[++n] = q+1; } argc = n; } argv[n]=0; @@ -115,6 +116,7 @@ if ( i >= NFILES) return NULL; if ( (fcbp = malloc(FCBSIZE)) == NULL ) return NULL; if ( _setname(name,fcbp) == 0 ) return NULL; + 0; #asm pshs x,y,u ldx -4,u @@ -152,6 +154,7 @@ if ( i >= NFILES) return NULL; if ( (fcbp = malloc(FCBSIZE)) == NULL ) return NULL; if ( _setname(name,fcbp) == 0 ) return NULL; + 0; #asm pshs x,y,u ldx -4,u @@ -187,6 +190,7 @@ if ( i >= NFILES ) return EOF; _fcbtbl[i] = NULL; if ( (fcbp == STDIN) || (fcbp == STDOUT) || (fcbp == STDERR) ) return 0; + 0; #asm pshs x,y,u ldx -4,u @@ -535,11 +539,7 @@ #asm sbrk PSHS U LEAU ,S - - LDD heapp,Y - BNE _mc0 - BSR initheap -_mc0 PSHS D + PSHS D TFR S,D SUBD ,S++ CMPD 4,U @@ -556,14 +556,6 @@ LEAS ,U PULS U,PC -initheap - PSHS U - LEAU ,S - TFR Y,D - ADDD #_GLOBALS - STD heapp,Y - LEAS ,U - PULS U,PC #endasm mfree(ap)