From 4a40739398306faad246f2b8acf65c427bd7110f Mon Sep 17 00:00:00 2001 From: dzaima Date: Sun, 5 May 2024 01:07:47 +0300 Subject: [PATCH] use printf & fprintf instead of putchar & co --- src/builtins/sysfn.c | 4 ++-- src/core/heap.c | 2 +- src/core/stuff.c | 12 ++++++------ src/main.c | 14 +++++++------- src/ns.c | 4 ++-- src/opt/comp.c | 10 +++++----- src/rtwrap.c | 8 ++++---- src/utils/valgrind.c | 2 +- src/vm.c | 30 +++++++++++++++--------------- 9 files changed, 43 insertions(+), 43 deletions(-) diff --git a/src/builtins/sysfn.c b/src/builtins/sysfn.c index b8c9425a..3b0f46e2 100644 --- a/src/builtins/sysfn.c +++ b/src/builtins/sysfn.c @@ -260,7 +260,7 @@ B casrt_c1(B t, B x) { B sys_c1(B t, B x); B out_c1(B t, B x) { if (isAtm(x) || RNK(x)!=1) thrM("•Out: Argument must be a string"); - printsB(x); putchar('\n'); + printsB(x); printf("\n"); return x; } B show_c1(B t, B x) { @@ -271,7 +271,7 @@ B show_c1(B t, B x) { #else printI(x); #endif - putchar('\n'); + printf("\n"); #endif return x; } diff --git a/src/core/heap.c b/src/core/heap.c index 3513c4ee..f3ebed6e 100644 --- a/src/core/heap.c +++ b/src/core/heap.c @@ -13,7 +13,7 @@ void heapVerify_checkFn(Value* v) { printf("delta %d for %s @ %p: ", (i32)v->refc, type_repr(v->type), v); #endif heap_observed = v; - printI(tag(v,OBJ_TAG)); putchar('\n'); + printI(tag(v,OBJ_TAG)); printf("\n"); } } diff --git a/src/core/stuff.c b/src/core/stuff.c index d018b6ac..79dd5fba 100644 --- a/src/core/stuff.c +++ b/src/core/stuff.c @@ -518,10 +518,10 @@ B g_t (void* x) { return tag(x,OBJ_TAG); } B g_ta(void* x) { return tag(x,ARR_TAG); } B g_tf(void* x) { return tag(x,FUN_TAG); } GLOBAL bool ignore_bad_tag; -void g_p(B x) { fprintI(stderr,x); fputc(10,stderr); fflush(stderr); } -void g_i(B x) { B r = info_c2(x, m_f64(1), inc(x)); fprintI(stderr,r); dec(r); fputc(10,stderr); fflush(stderr); } -void g_pv(void* x) { ignore_bad_tag=true; fprintI(stderr,tag(x,OBJ_TAG)); fputc(10,stderr); fflush(stderr); ignore_bad_tag=false; } -void g_iv(void* x) { ignore_bad_tag=true; B xo = tag(x, OBJ_TAG); B r = C2(info, m_f64(1), inc(xo)); fprintI(stderr,r); dec(r); fputc(10,stderr); fflush(stderr); ignore_bad_tag=false; } +void g_p(B x) { fprintI(stderr,x); fprintf(stderr,"\n"); fflush(stderr); } +void g_i(B x) { B r = info_c2(x, m_f64(1), inc(x)); fprintI(stderr,r); dec(r); fprintf(stderr,"\n"); fflush(stderr); } +void g_pv(void* x) { ignore_bad_tag=true; fprintI(stderr,tag(x,OBJ_TAG)); fprintf(stderr,"\n"); fflush(stderr); ignore_bad_tag=false; } +void g_iv(void* x) { ignore_bad_tag=true; B xo = tag(x, OBJ_TAG); B r = C2(info, m_f64(1), inc(xo)); fprintI(stderr,r); dec(r); fprintf(stderr,"\n"); fflush(stderr); ignore_bad_tag=false; } void g_pst(void) { vm_pstLive(); fflush(stdout); fflush(stderr); } #if DEBUG @@ -536,7 +536,7 @@ void g_pst(void) { vm_pstLive(); fflush(stdout); fflush(stderr); } if (x->refc<=0 || (x->refc>>28) == 'a' || x->type==t_empty) { PRINT_ID(x); fprintf(stderr, "bad refcount for type %d @ %p: %d\nattempting to print: ", x->type, x, x->refc); fflush(stderr); - fprintI(stderr, tag(x,OBJ_TAG)); fputc('\n', stderr); fflush(stderr); + fprintI(stderr, tag(x,OBJ_TAG)); fprintf(stderr, "\n"); fflush(stderr); fatal(""); } if (TIv(x,isArr)) { @@ -578,7 +578,7 @@ void g_pst(void) { vm_pstLive(); fflush(stdout); fflush(stderr); } fprintf(stderr, "atom: "); if (cbqn_initialized && FORMATTER) { fprintsB(stderr, x = bqn_fmt(inc(x))); dec(x); } else fprintI(stderr, x); - fputc('\n', stderr); + fprintf(stderr, "\n"); } } void warn_slow1(char* s, B x) { diff --git a/src/main.c b/src/main.c index 0516b593..941e1cff 100644 --- a/src/main.c +++ b/src/main.c @@ -749,7 +749,7 @@ void cbqn_runLine0(char* ln, i64 read) { if (i!=0) printf(", "); printsB(rp[i]); } - putchar('\n'); + printf("\n"); } return; } else if (isCmd(cmdS, &cmdE, "gc ")) { @@ -803,7 +803,7 @@ void cbqn_runLine0(char* ln, i64 read) { usz ia=PIA(expla); for(usz i=0; ia[i]); - putchar('\n'); + printf("\n"); } ptr_dec(expla); return; @@ -865,9 +865,9 @@ void cbqn_runLine0(char* ln, i64 read) { if (output!=2 && FORMATTER) { B resFmt = bqn_fmt(res); printsB(resFmt); dec(resFmt); - putchar('\n'); + printf("\n"); } else { - printI(res); putchar('\n'); fflush(stdout); + printI(res); printf("\n"); fflush(stdout); dec(res); } } else dec(res); @@ -877,7 +877,7 @@ void cbqn_runLine0(char* ln, i64 read) { void cbqn_runLine(char* ln, i64 len) { if(CATCH) { cbqn_takeInterrupts(false); - fprintf(stderr, "Error: "); printErrMsg(thrownMsg); fputc('\n', stderr); + fprintf(stderr, "Error: "); printErrMsg(thrownMsg); fprintf(stderr, "\n"); vm_pst(envCurr+1, envStart+envPrevHeight); freeThrown(); #if HEAP_VERIFY @@ -901,7 +901,7 @@ void cbqn_evalSrc(char* src, i64 len) { B code = utf8Decode(src, len); B resFmt = bqn_fmt(bqn_exec(code, bi_N)); printsB(resFmt); dec(resFmt); - putchar('\n'); + printf("\n"); } #endif @@ -1092,7 +1092,7 @@ int main(int argc, char* argv[]) { char* ln = NULL; size_t gl = 0; i64 read = getline(&ln, &gl, stdin); - if (read<=0 || ln[0]==0) { if(!silentREPL) putchar('\n'); break; } + if (read<=0 || ln[0]==0) { if(!silentREPL) printf("\n"); break; } if (ln[read-1]==10) ln[--read] = 0; if (ln[read-1]==13) ln[--read] = 0; cbqn_runLine(ln, read); diff --git a/src/ns.c b/src/ns.c index d6d2b820..c7127054 100644 --- a/src/ns.c +++ b/src/ns.c @@ -189,7 +189,7 @@ static void ns_visit(Value* x) { mm_visitP(c->sc); } static void ns_print(FILE* f, B x) { - fputc('{', f); + fprintf(f, "{"); NSDesc* desc = c(NS,x)->desc; Scope* sc = c(NS,x)->sc; i32 am = desc->varAm; @@ -204,7 +204,7 @@ static void ns_print(FILE* f, B x) { fprintI(f, sc->vars[i]); } } - fputc('}', f); + fprintf(f, "}"); } B nsFmt(B x) { // consumes B s = emptyCVec(); diff --git a/src/opt/comp.c b/src/opt/comp.c index b2aa9e41..7b4fee43 100644 --- a/src/opt/comp.c +++ b/src/opt/comp.c @@ -160,7 +160,7 @@ usz addObj(B* objs, B val) { // consumes val i32 nc_ty(B x) { return o2iG(IGetU(x, 0)); } B nc_generate(B p1) { // consumes - // printf("p1: "); printI(p1); putchar('\n'); + // printf("p1: "); printI(p1); printf("\n"); usz p1ia = IA(p1); B listFinal; @@ -201,7 +201,7 @@ B nc_generate(B p1) { // consumes } } decG(p1); - // printf("p2: "); printI(p2); putchar('\n'); + // printf("p2: "); printI(p2); printf("\n"); // parse as either tacit or explicit SGetU(p2) @@ -215,7 +215,7 @@ B nc_generate(B p1) { // consumes while(i>0) { B en1 = GetU(p2, i-1); u8 en1t = nc_ty(en1); - // printf("e @ %d: ", i); printI(e); putchar('\n'); + // printf("e @ %d: ", i); printI(e); printf("\n"); if (en1t==4 || en1t==5) { // assignment if (!explicit && i!=1) thrM("Native compiler: Assignment in the middle of tacit code"); @@ -255,7 +255,7 @@ B nc_generate(B p1) { // consumes e = m_hvec2(m_f64(explicit? 3 : 0), bc); i-= 1; } - // printf("e: "); printI(e); putchar('\n'); + // printf("e: "); printI(e); printf("\n"); decG(p2); return e; } @@ -293,7 +293,7 @@ B nc_parseStatements(B tokens, usz i0, usz* i1, u32 close, B* objs, Vars vars) { B ct; if (i==tia) ct = m_c32(0); else ct = GetU(tokens, i++); - // printf("next token: "); printI(ct); putchar('\n'); + // printf("next token: "); printI(ct); printf("\n"); if (isC32(ct)) { u32 ctc = o2cG(ct); diff --git a/src/rtwrap.c b/src/rtwrap.c index e444d8ac..bc6f3585 100644 --- a/src/rtwrap.c +++ b/src/rtwrap.c @@ -60,10 +60,10 @@ B wfn_identity(B x) { #define CHK(EXP,GOT,W,X) { if (!eequal(EXP,GOT)) { \ printI(f); printf(": failed RT_VERIFY\n"); fflush(stdout); \ if (RT_VERIFY_ARGS) { \ - if(!q_N(W)){printf("𝕨:"); printI(W); printf(" / "); printsB(C2(info, m_i32(1), inc(W))); putchar('\n'); fflush(stdout); } \ - { printf("𝕩:"); printI(X); printf(" / "); printsB(C2(info, m_i32(1), inc(X))); putchar('\n'); fflush(stdout); } \ - { printf("got:"); printI(GOT); printf(" / "); printsB(C2(info, m_i32(1), inc(GOT))); putchar('\n'); fflush(stdout); } \ - { printf("exp:"); printI(EXP); printf(" / "); printsB(C2(info, m_i32(1), inc(EXP))); putchar('\n'); fflush(stdout); } \ + if(!q_N(W)){printf("𝕨:"); printI(W); printf(" / "); printsB(C2(info, m_i32(1), inc(W))); printf("\n"); fflush(stdout); } \ + { printf("𝕩:"); printI(X); printf(" / "); printsB(C2(info, m_i32(1), inc(X))); printf("\n"); fflush(stdout); } \ + { printf("got:"); printI(GOT); printf(" / "); printsB(C2(info, m_i32(1), inc(GOT))); printf("\n"); fflush(stdout); } \ + { printf("exp:"); printI(EXP); printf(" / "); printsB(C2(info, m_i32(1), inc(EXP))); printf("\n"); fflush(stdout); } \ } \ vm_pstLive(); exit(1); \ }} diff --git a/src/utils/valgrind.c b/src/utils/valgrind.c index 53f4e473..a12e7257 100644 --- a/src/utils/valgrind.c +++ b/src/utils/valgrind.c @@ -18,7 +18,7 @@ void vg_printDump_p(char* name, void* data, u64 len) { printBitDef(cd>>j, cv>>j); } } - putchar('\n'); + printf("\n"); } void vg_printDefined_u64(char* name, u64 x) { diff --git a/src/vm.c b/src/vm.c index 820732d0..fc0403b1 100644 --- a/src/vm.c +++ b/src/vm.c @@ -45,16 +45,16 @@ void print_BC(FILE* f, u32* p, i32 w) { buf[clen++] = (c&15)>9? 'A'+(c&15)-10 : '0'+(c&15); c>>= 4; } while(c); - fputc(' ', f); - for (i32 i = 0; i < clen; i++) fputc(buf[clen-i-1], f); + fprintf(f, " "); + for (i32 i = 0; i < clen; i++) fprintf(f, "%c", buf[clen-i-1]); len+= clen+1; } len = w-len; - while(len-->0) fputc(' ', f); + while(len-->0) fprintf(f, " "); } void print_BCStream(FILE* f, u32* p) { while(true) { - print_BC(f, p, 10); fputc(10, f); + print_BC(f, p, 10); fprintf(f, "\n"); if (*p == RETD || *p == RETN) return; p = nextBC(p); } @@ -170,7 +170,7 @@ Block* compileBlock(B block, Comp* comp, bool* bDone, u32* bc, usz bcIA, B allBl bool boArr = isArr(bodyObj); i32 boCount = boArr? IA(bodyObj) : 1; if (boCount<1 || boCount>5) thrM("VM compiler: Unexpected body list length"); - // if (boArr) { printI(bodyObj); putchar('\n'); } + // if (boArr) { printI(bodyObj); printf("\n"); } i32 firstMPos = failBodyI; for (i32 i = 0; i < 6; i+= 2) { @@ -207,7 +207,7 @@ Block* compileBlock(B block, Comp* comp, bool* bDone, u32* bc, usz bcIA, B allBl bodyPs[1] = bodyPs[3] = I32_MAX; mCount = dCount = 1; } - // for (int i = 0; i < mapLen+2; i++) printf("%d ", bodyPs[i]); putchar('\n'); printf("things: %d %d\n", mCount, dCount); + // for (int i = 0; i < mapLen+2; i++) printf("%d ", bodyPs[i]); printf("\n"); printf("things: %d %d\n", mCount, dCount); TALLOC(Body*, bodyMap, mapLen+2); // map from index in bodyPs to the corresponding body TSALLOC(NextRequest, bodyReqs, 10); // list of SETH/PRED-s to fill out when bodyMap is complete @@ -753,7 +753,7 @@ B evalBC(Body* b, Scope* sc, Block* bl) { // doesn't consume vmStack[stackNum] = bcPos; for(i32 i = 0; i < bcDepth; i++) fprintf(stderr," "); print_BC(stderr,sbc,20); fprintf(stderr,"@%d in: ",bcPos); - for (i32 i = 0; i < lgStack-origStack; i++) { if(i)fprintf(stderr,"; "); fprintI(stderr,origStack[i]); } fputc('\n',stderr); fflush(stderr); + for (i32 i = 0; i < lgStack-origStack; i++) { if(i)fprintf(stderr,"; "); fprintI(stderr,origStack[i]); } fprintf(stderr,"\n"); fflush(stderr); bcCtr++; for (i32 i = 0; i < sc->varAm; i++) VALIDATE(sc->vars[i]); #endif @@ -955,7 +955,7 @@ B evalBC(Body* b, Scope* sc, Block* bl) { // doesn't consume #if DEBUG_VM for(i32 i = 0; i < bcDepth; i++) fprintf(stderr," "); print_BC(stderr,sbc,20); fprintf(stderr,"@%d out: ",BCPOS(b, sbc)); - for (i32 i = 0; i < lgStack-origStack; i++) { if(i)fprintf(stderr,"; "); fprintI(stderr,origStack[i]); } fputc('\n',stderr); fflush(stderr); + for (i32 i = 0; i < lgStack-origStack; i++) { if(i)fprintf(stderr,"; "); fprintI(stderr,origStack[i]); } fprintf(stderr,"\n"); fflush(stderr); #endif } end:; @@ -1380,7 +1380,7 @@ NOINLINE void vm_printPos(Comp* comp, i32 bcPos, i64 pos) { B msg = vm_fmtPoint(src, emptyCVec(), comp->fullpath, cs, ce); fprintsB(stderr, msg); dec(msg); - fputc('\n', stderr); + fprintf(stderr, "\n"); popCatch(); return; @@ -1393,10 +1393,10 @@ native_print: usz srcE = srcS; while (srcEsrcE) ce = srcE; cs-= srcS; ce-= srcS; - fputc('\n', stderr); - for (i32 i = 0; i < cs+start; i++) fputc(' ', stderr); - for (i32 i = cs; i < ce; i++) fputc('^', stderr); - fputc('\n', stderr); + fprintf(stderr, "\n"); + for (i32 i = 0; i < cs+start; i++) fprintf(stderr, " "); + for (i32 i = cs; i < ce; i++) fprintf(stderr, "^"); + fprintf(stderr, "\n"); return; //print_BCStream((u32*)i32arr_ptr(comp->bc)+bcPos); @@ -1686,7 +1686,7 @@ NOINLINE void printErrMsg(B msg) { void before_exit(void); NOINLINE NORETURN void throwImpl(bool rethrow) { // printf("gStack %p-%p:\n", gStackStart, gStack); B* c = gStack; - // while (c>gStackStart) { printI(*--c); putchar('\n'); } printf("gStack printed\n"); + // while (c>gStackStart) { printI(*--c); printf("\n"); } printf("gStack printed\n"); NOGC_CHECK("throwing during noAlloc"); if (!rethrow) envPrevHeight = envCurr-envStart + 1; #if USE_SETJMP @@ -1705,7 +1705,7 @@ NOINLINE NORETURN void throwImpl(bool rethrow) { } else { // uncaught error #endif assert(cf==cfStart); - fprintf(stderr, "Error: "); printErrMsg(thrownMsg); fputc('\n',stderr); fflush(stderr); + fprintf(stderr, "Error: "); printErrMsg(thrownMsg); fprintf(stderr,"\n"); fflush(stderr); Env* envEnd = envStart+envPrevHeight; unwindEnv(envStart-1); vm_pst(envCurr+1, envEnd);