=> Bootstrap dependency digest>=20010302: found digest-20160304 ===> Building for heirloom-sh-050706nb2 --- args.o --- --- blok.o --- --- bltin.o --- --- args.o --- clang -c -O2 -D_FILE_OFFSET_BITS=64L args.c --- blok.o --- clang -c -O2 -D_FILE_OFFSET_BITS=64L blok.c --- bltin.o --- clang -c -O2 -D_FILE_OFFSET_BITS=64L bltin.c --- args.o --- args.c:130:20: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed(argv[1],badopt); --- blok.o --- blok.c:134:10: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- bltin.o --- bltin.c:94:16: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- args.o --- ^~~~~~ --- blok.o --- error(nospace); --- bltin.o --- failed(a1, notfound); --- blok.o --- ^~~~~~~ --- bltin.o --- ^~~~~~~~ --- args.o --- ./defs.h:214:57: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); --- blok.o --- ./defs.h:215:33: note: passing argument to parameter here --- bltin.o --- ./defs.h:214:57: note: passing argument to parameter here --- args.o --- ^ --- blok.o --- void error(const unsigned char *); --- bltin.o --- void failed(const unsigned char *, const unsigned char *); --- blok.o --- ^ --- bltin.o --- ^ --- args.o --- args.c:139:21: warning: passing 'char [4]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (eq(argv[0], "set") && any(wc, "sicrp")) --- blok.o --- blok.c:142:10: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- bltin.o --- bltin.c:172:20: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- args.o --- ^~~~~ --- blok.o --- error(nospace); --- bltin.o --- failed(argv[0], restricted); --- blok.o --- ^~~~~~~ --- bltin.o --- ^~~~~~~~~~ --- args.o --- ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) --- blok.o --- ./defs.h:215:33: note: passing argument to parameter here --- bltin.o --- ./defs.h:214:57: note: passing argument to parameter here --- args.o --- ^ --- blok.o --- void error(const unsigned char *); --- bltin.o --- void failed(const unsigned char *, const unsigned char *); --- blok.o --- ^ --- bltin.o --- ^ --- args.o --- ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); --- blok.o --- blok.c:149:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] --- bltin.o --- bltin.c:192:20: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- args.o --- ^ --- blok.o --- if (reqd = (staktop-stakbot)) --- bltin.o --- failed(argv[0], restricted); --- blok.o --- ~~~~~^~~~~~~~~~~~~~~~~~~ --- bltin.o --- ^~~~~~~~~~ --- args.o --- args.c:139:39: warning: passing 'char [6]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (eq(argv[0], "set") && any(wc, "sicrp")) --- blok.o --- blok.c:149:12: note: place parentheses around the assignment to silence this warning --- bltin.o --- ./defs.h:214:57: note: passing argument to parameter here --- args.o --- ^~~~~~~ --- blok.o --- if (reqd = (staktop-stakbot)) --- bltin.o --- void failed(const unsigned char *, const unsigned char *); --- blok.o --- ^ --- bltin.o --- ^ --- blok.o --- ( ) --- args.o --- ./defs.h:385:39: note: passing argument to parameter here int any(wchar_t, const unsigned char *); --- bltin.o --- bltin.c:201:16: warning: passing 'char [2]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- args.o --- ^ --- blok.o --- blok.c:149:12: note: use '==' to turn this assignment into an equality comparison --- bltin.o --- cf(a1, ".") == 0 || --- blok.o --- if (reqd = (staktop-stakbot)) --- bltin.o --- ^~~ --- blok.o --- ^ == --- args.o --- args.c:140:22: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed(argv[1], badopt); --- bltin.o --- ./defs.h:387:52: note: passing argument to parameter here --- args.o --- ^~~~~~ --- blok.o --- 3 warnings generated. --- cmd.o --- --- args.o --- ./defs.h:214:57: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); ^ args.c:156:20: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed(argv[1],badopt); ^~~~~~ ./defs.h:214:57: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); ^ args.c:178:17: warning: passing 'char [6]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!any(wc, "sicrp") && wc == *flagc) { ^~~~~~~ ./defs.h:385:39: note: passing argument to parameter here int any(wchar_t, const unsigned char *); --- bltin.o --- int cf(const unsigned char *, const unsigned char *); ^ bltin.c:202:16: warning: passing 'char [3]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] cf(a1, "..") == 0 || ^~~~ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ bltin.c:203:58: warning: '&&' within '||' [-Wlogical-op-parentheses] (*a1 == '.' && (*(a1+1) == '/' || *(a1+1) == '.' && *(a1+2) == '/'))) ~~ ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ bltin.c:203:58: note: place parentheses around the '&&' expression to silence this warning (*a1 == '.' && (*(a1+1) == '/' || *(a1+1) == '.' && *(a1+2) == '/'))) --- args.o --- ^ args.c:232:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (argblk = dolh) ~~~~~~~^~~~~~ args.c:232:13: note: place parentheses around the assignment to silence this warning if (argblk = dolh) ^ ( ) args.c:232:13: note: use '==' to turn this assignment into an equality comparison if (argblk = dolh) ^ == args.c:252:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (argblk = blk) ~~~~~~~^~~~~ args.c:252:13: note: place parentheses around the assignment to silence this warning if (argblk = blk) ^ ( ) args.c:252:13: note: use '==' to turn this assignment into an equality comparison if (argblk = blk) ^ == --- bltin.o --- ^ ( ) bltin.c:243:19: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed(a1, emultihop); ^~~~~~~~~ ./defs.h:214:57: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); ^ bltin.c:247:19: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed(a1, enotdir); ^~~~~~~ --- args.o --- args.c:304:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (argblk = blk) ~~~~~~~^~~~~ args.c:304:13: note: place parentheses around the assignment to silence this warning if (argblk = blk) ^ ( ) args.c:304:13: note: use '==' to turn this assignment into an equality comparison if (argblk = blk) ^ == --- bltin.o --- ./defs.h:214:57: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); ^ bltin.c:250:19: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed(a1, enoent); ^~~~~~ ./defs.h:214:57: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); ^ bltin.c:253:19: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed(a1, eacces); ^~~~~~ ./defs.h:214:57: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); ^ bltin.c:257:19: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed(a1, enolink); ^~~~~~~ ./defs.h:214:57: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); ^ bltin.c:261:18: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed(a1, baddir); ^~~~~~ ./defs.h:214:57: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); ^ bltin.c:268:12: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (cf(nullstr, dir) && ^~~~~~~ ./defs.h:387:29: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ bltin.c:282:11: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] error(nulldir); ^~~~~~~ ./defs.h:215:33: note: passing argument to parameter here void error(const unsigned char *); ^ bltin.c:284:11: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] error(nohome); ^~~~~~ ./defs.h:215:33: note: passing argument to parameter here void error(const unsigned char *); ^ bltin.c:298:11: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] error(badshift); ^~~~~~~~ ./defs.h:215:33: note: passing argument to parameter here void error(const unsigned char *); ^ bltin.c:312:19: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed(argv[0],mssgargn); ^~~~~~~~ ./defs.h:214:57: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); ^ bltin.c:359:13: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] error(badexport); ^~~~~~~~~ ./defs.h:215:33: note: passing argument to parameter here void error(const unsigned char *); ^ bltin.c:402:12: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] error(badopt); ^~~~~~ ./defs.h:215:33: note: passing argument to parameter here void error(const unsigned char *); ^ bltin.c:409:21: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed(*argv, notfound); ^~~~~~~~ ./defs.h:214:57: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); ^ bltin.c:427:10: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] error(badreturn); ^~~~~~~~~ ./defs.h:215:33: note: passing argument to parameter here void error(const unsigned char *); ^ bltin.c:458:20: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failure(argv[0],mssgargn); ^~~~~~~~ ./defs.h:219:58: note: passing argument to parameter here void failure(const unsigned char *, const unsigned char *); ^ bltin.c:462:14: warning: passing 'char [7]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] n = lookup("OPTIND"); ^~~~~~~~ ./defs.h:320:38: note: passing argument to parameter here struct namnod *lookup(unsigned char *); ^ bltin.c:474:14: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] assign(n, nullstr); ^~~~~~~ ./defs.h:316:51: note: passing argument to parameter here void assign(struct namnod *, const unsigned char *); ^ bltin.c:485:14: warning: passing 'char [7]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] n = lookup("OPTARG"); ^~~~~~~~ ./defs.h:320:38: note: passing argument to parameter here struct namnod *lookup(unsigned char *); ^ bltin.c:486:13: warning: passing 'char *' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] assign(n, optarg); ^~~~~~ ./defs.h:316:51: note: passing argument to parameter here void assign(struct namnod *, const unsigned char *); ^ bltin.c:491:12: warning: passing 'char [17]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff("unknown builtin\n"); ^~~~~~~~~~~~~~~~~~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ --- cmd.o --- clang -c -O2 -D_FILE_OFFSET_BITS=64L cmd.c --- args.o --- args.c:336:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] --- bltin.o --- 27 warnings generated. --- args.o --- while (argfor = clean_args(argfor)) ~~~~~~~^~~~~~~~~~~~~~~~~~~~ --- cmd.o --- cmd.c:134:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (e = cmd(sym, flg | MTFLG)) ~~^~~~~~~~~~~~~~~~~~~~~~~ --- args.o --- args.c:336:16: note: place parentheses around the assignment to silence this warning while (argfor = clean_args(argfor)) ^ ( ) --- cmd.o --- cmd.c:134:9: note: place parentheses around the assignment to silence this warning if (e = cmd(sym, flg | MTFLG)) ^ ( ) --- args.o --- args.c:336:16: note: use '==' to turn this assignment into an equality comparison while (argfor = clean_args(argfor)) ^ == --- ctype.o --- --- cmd.o --- cmd.c:134:9: note: use '==' to turn this assignment into an equality comparison if (e = cmd(sym, flg | MTFLG)) ^ == cmd.c:478:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (io = inout(io)) ~~~^~~~~~~~~~~ cmd.c:478:9: note: place parentheses around the assignment to silence this warning if (io = inout(io)) ^ ( ) cmd.c:478:9: note: use '==' to turn this assignment into an equality comparison if (io = inout(io)) ^ == cmd.c:578:7: warning: passing 'char *const' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs(sp->sysnam); ^~~~~~~~~~ ./defs.h:334:31: note: passing argument to parameter here void prs(const unsigned char *); ^ cmd.c:581:7: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs(endoffile); ^~~~~~~~~ ./defs.h:334:31: note: passing argument to parameter here void prs(const unsigned char *); ^ cmd.c:587:8: warning: passing 'char [13]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs("newline or ;"); ^~~~~~~~~~~~~~ ./defs.h:334:31: note: passing argument to parameter here void prs(const unsigned char *); ^ cmd.c:597:6: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs(synmsg); ^~~~~~ ./defs.h:334:31: note: passing argument to parameter here void prs(const unsigned char *); ^ cmd.c:600:7: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs(atline); ^~~~~~ ./defs.h:334:31: note: passing argument to parameter here void prs(const unsigned char *); ^ cmd.c:603:6: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs(colon); ^~~~~ ./defs.h:334:31: note: passing argument to parameter here void prs(const unsigned char *); ^ cmd.c:610:6: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs(unexpected); ^~~~~~~~~~ ./defs.h:334:31: note: passing argument to parameter here void prs(const unsigned char *); ^ --- ctype.o --- clang -c -O2 -D_FILE_OFFSET_BITS=64L ctype.c --- cmd.o --- 9 warnings generated. --- args.o --- 10 warnings generated. --- defs.o --- --- echo.o --- --- error.o --- --- defs.o --- clang -c -O2 -D_FILE_OFFSET_BITS=64L defs.c --- echo.o --- clang -c -O2 -D_FILE_OFFSET_BITS=64L echo.c --- error.o --- clang -c -O2 -D_FILE_OFFSET_BITS=64L error.c --- expand.o --- clang -c -O2 -D_FILE_OFFSET_BITS=64L expand.c --- error.o --- error.c:48:7: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- echo.o --- echo.c:61:18: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- error.o --- prs(colon); --- echo.o --- sysv3 = findnam("SYSV3"); --- error.o --- ^~~~~ --- echo.o --- ^~~~~~~ --- expand.o --- expand.c:187:26: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (gmatch(e->d_name, cs)) ^~ --- error.o --- ./defs.h:334:31: note: passing argument to parameter here --- echo.o --- ./defs.h:330:39: note: passing argument to parameter here --- error.o --- void prs(const unsigned char *); --- echo.o --- struct namnod *findnam(unsigned char *); --- error.o --- ^ --- echo.o --- ^ --- expand.o --- ./defs.h:248:38: note: passing argument to parameter here int gmatch(const char *, const char *); ^ --- echo.o --- 1 warning generated. --- fault.o --- --- error.o --- error.c:58:12: warning: passing 'char *' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed(s, NIL); ^~~ ./mode.h:51:13: note: expanded from macro 'NIL' #define NIL ((char*)0) ^~~~~~~~~~ error.c:42:54: note: passing argument to parameter 's2' here failed(const unsigned char *s1, const unsigned char *s2) ^ error.c:114:7: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs(colon); ^~~~~ ./defs.h:334:31: note: passing argument to parameter here void prs(const unsigned char *); ^ --- expand.o --- expand.c:189:13: warning: passing 'char [256]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] addg(s, e->d_name, rescan, slashsav); ^~~~~~~~~ expand.c:57:50: note: passing argument to parameter here static void addg(unsigned char *, unsigned char *, ^ expand.c:232:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (c = *s1++) ~~^~~~~~~ expand.c:232:12: note: place parentheses around the assignment to silence this warning while (c = *s1++) ^ ( ) expand.c:232:12: note: use '==' to turn this assignment into an equality comparison while (c = *s1++) ^ == expand.c:278:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (s1 = as3) ~~~^~~~~ expand.c:278:9: note: place parentheses around the assignment to silence this warning if (s1 = as3) ^ ( ) expand.c:278:9: note: use '==' to turn this assignment into an equality comparison if (s1 = as3) ^ == expand.c:288:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (*s2++ = *++s1); ~~~~~~^~~~~~~ expand.c:288:16: note: place parentheses around the assignment to silence this warning while (*s2++ = *++s1); ^ ( ) expand.c:288:16: note: use '==' to turn this assignment into an equality comparison while (*s2++ = *++s1); ^ == --- fault.o --- clang -c -O2 -D_FILE_OFFSET_BITS=64L fault.c --- error.o --- 3 warnings generated. --- func.o --- --- expand.o --- 5 warnings generated. --- hash.o --- --- func.o --- clang -c -O2 -D_FILE_OFFSET_BITS=64L func.c --- hash.o --- clang -c -O2 -D_FILE_OFFSET_BITS=64L hash.c --- hashserv.o --- --- fault.o --- fault.c:177:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = trapcom[0]) ~~^~~~~~~~~~~~ fault.c:177:8: note: place parentheses around the assignment to silence this warning if (t = trapcom[0]) ^ ( ) fault.c:177:8: note: use '==' to turn this assignment into an equality comparison if (t = trapcom[0]) ^ == fault.c:298:11: warning: passing 'char [27]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failure("sigaltstack(2) failed with", strerror(err)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./defs.h:219:35: note: passing argument to parameter here void failure(const unsigned char *, const unsigned char *); ^ --- func.o --- func.c:249:14: warning: passing 'char [4]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff("(){"); ^~~~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ func.c:253:14: warning: passing 'char [2]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff("}"); ^~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ func.c:270:15: warning: passing 'char [3]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff(" &"); --- fault.o --- fault.c:298:41: warning: passing 'char *' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failure("sigaltstack(2) failed with", strerror(err)); ^~~~~~~~~~~~~ ./defs.h:219:58: note: passing argument to parameter here void failure(const unsigned char *, const unsigned char *); ^ fault.c:355:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = trapcom[i]) ~~^~~~~~~~~~~~ fault.c:355:10: note: place parentheses around the assignment to silence this warning if (t = trapcom[i]) ^ ( ) fault.c:355:10: note: use '==' to turn this assignment into an equality comparison if (t = trapcom[i]) --- func.o --- ^~~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ func.c:274:14: warning: passing 'char [2]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff("("); ^~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ func.c:276:14: warning: passing 'char [2]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff(")"); ^~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ --- fault.o --- ^ == fault.c:380:14: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff(colon); ^~~~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ fault.c:399:13: warning: passing 'char *' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failure(cmd, badtrap); ^~~ ./defs.h:219:35: note: passing argument to parameter here void failure(const unsigned char *, const unsigned char *); ^ --- func.o --- func.c:281:14: warning: passing 'char [4]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff(" | "); ^~~~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ func.c:293:14: warning: passing 'char [5]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff(" && "); ^~~~~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ --- fault.o --- fault.c:399:18: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failure(cmd, badtrap); ^~~~~~~ ./defs.h:219:58: note: passing argument to parameter here void failure(const unsigned char *, const unsigned char *); ^ fault.c:417:29: warning: passing 'char *' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] replace(&trapcom[sig], a1); ^~ ./defs.h:314:53: note: passing argument to parameter here void replace(unsigned char **, const unsigned char *); ^ fault.c:426:28: warning: passing 'char *' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] replace(&trapcom[sig], a1); ^~ ./defs.h:314:53: note: passing argument to parameter here void replace(unsigned char **, const unsigned char *); ^ --- hashserv.o --- clang -c -O2 -D_FILE_OFFSET_BITS=64L hashserv.c --- func.o --- func.c:299:14: warning: passing 'char [5]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff(" || "); --- fault.o --- 9 warnings generated. --- func.o --- ^~~~~~ --- hashserv.o --- hashserv.c:110:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (i = syslook(name, commands, no_commands)) --- func.o --- ./defs.h:348:36: note: passing argument to parameter here --- hashserv.o --- ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- func.o --- void prs_buff(const unsigned char *); ^ --- hashserv.o --- hashserv.c:110:8: note: place parentheses around the assignment to silence this warning if (i = syslook(name, commands, no_commands)) --- func.o --- func.c:308:15: warning: passing 'char [5]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- hashserv.o --- ^ --- func.o --- prs_buff("for "); --- hashserv.o --- ( ) --- func.o --- ^~~~~~ --- hashserv.o --- hashserv.c:110:8: note: use '==' to turn this assignment into an equality comparison --- func.o --- ./defs.h:348:36: note: passing argument to parameter here --- hashserv.o --- if (i = syslook(name, commands, no_commands)) --- func.o --- void prs_buff(const unsigned char *); --- hashserv.o --- ^ --- func.o --- ^ --- hashserv.o --- == --- io.o --- --- hashserv.o --- hashserv.c:211:11: warning: passing 'char [19]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff("hits cost command\n"); ^~~~~~~~~~~~~~~~~~~~~~~~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ hashserv.c:223:17: warning: passing 'char [1]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] path = getpath(""); ^~ ./defs.h:364:39: note: passing argument to parameter here unsigned char *getpath(unsigned char *); ^ hashserv.c:276:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if(i = syslook(name, commands, no_commands)) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- func.o --- func.c:314:16: warning: passing 'char [4]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff(" in"); ^~~~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ func.c:325:15: warning: passing 'char [3]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff("do"); ^~~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ func.c:329:15: warning: passing 'char [5]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- hashserv.o --- hashserv.c:276:8: note: place parentheses around the assignment to silence this warning if(i = syslook(name, commands, no_commands)) ^ ( ) hashserv.c:276:8: note: use '==' to turn this assignment into an equality comparison if(i = syslook(name, commands, no_commands)) ^ == hashserv.c:332:14: warning: passing 'char [21]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff(" is a shell builtin\n"); ^~~~~~~~~~~~~~~~~~~~~~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ --- func.o --- prs_buff("done"); ^~~~~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ func.c:336:15: warning: passing 'char [7]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff("while "); ^~~~~~~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ func.c:338:15: warning: passing 'char [7]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff("until "); ^~~~~~~~ ./defs.h:348:36: note: passing argument to parameter here --- hashserv.o --- hashserv.c:339:14: warning: passing 'char [16]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff(" is a function\n"); ^~~~~~~~~~~~~~~~~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ hashserv.c:341:14: warning: passing 'char [5]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff("(){\n"); ^~~~~~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ hashserv.c:343:14: warning: passing 'char [4]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- func.o --- void prs_buff(const unsigned char *); ^ func.c:341:14: warning: passing 'char [3]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff("do"); ^~~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ func.c:345:14: warning: passing 'char [5]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff("done"); ^~~~~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ --- hashserv.o --- prs_buff("\n}\n"); ^~~~~~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ hashserv.c:356:16: warning: passing 'char [12]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff(" not found\n"); ^~~~~~~~~~~~~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ hashserv.c:365:14: warning: passing 'char [13]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff(" is hashed ("); ^~~~~~~~~~~~~~ --- func.o --- func.c:352:14: warning: passing 'char [4]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff("if "); ^~~~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ func.c:355:14: warning: passing 'char [5]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff("then"); ^~~~~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ func.c:362:15: warning: passing 'char [5]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff("else"); --- hashserv.o --- ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ hashserv.c:367:14: warning: passing 'char [3]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff(")\n"); ^~~~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ hashserv.c:374:12: warning: passing 'char [21]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff(" is a shell builtin\n"); ^~~~~~~~~~~~~~~~~~~~~~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ --- func.o --- ^~~~~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ func.c:368:14: warning: passing 'char [3]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff("fi"); ^~~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ func.c:376:15: warning: passing 'char [6]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff("case "); ^~~~~~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ --- hashserv.o --- hashserv.c:380:12: warning: passing 'char [5]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff(" is "); ^~~~~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ hashserv.c:387:12: warning: passing 'char [12]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff(" not found\n"); ^~~~~~~~~~~~~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ hashserv.c:520:19: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (eq(start, pathname)) --- func.o --- func.c:392:17: warning: passing 'char [4]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff(" | "); ^~~~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ func.c:397:16: warning: passing 'char [2]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff(")"); ^~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ --- hashserv.o --- ^~~~~~~~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ --- func.o --- func.c:399:16: warning: passing 'char [3]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff(";;"); ^~~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ func.c:441:14: warning: passing 'char [3]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff("<<"); ^~~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ --- io.o --- clang -c -O2 -D_FILE_OFFSET_BITS=64L io.c --- func.o --- func.c:445:15: warning: passing 'char [3]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff(">&"); ^~~~ --- io.o --- io.c:130:9: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] error(piperr); --- func.o --- ./defs.h:348:36: note: passing argument to parameter here --- io.o --- ^~~~~~ --- func.o --- void prs_buff(const unsigned char *); ^ --- io.o --- ./defs.h:215:33: note: passing argument to parameter here void error(const unsigned char *); --- func.o --- func.c:447:15: warning: passing 'char [3]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- io.o --- ^ --- func.o --- prs_buff("<&"); ^~~~ --- io.o --- io.c:139:15: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed(idf, badopen); --- func.o --- ./defs.h:348:36: note: passing argument to parameter here --- io.o --- ^~~~~~~ --- func.o --- void prs_buff(const unsigned char *); ^ --- io.o --- ./defs.h:214:57: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); --- func.o --- func.c:453:14: warning: passing 'char [3]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- io.o --- ^ --- func.o --- prs_buff(">>"); ^~~~ --- io.o --- io.c:182:13: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed(s, badcreate); --- func.o --- ./defs.h:348:36: note: passing argument to parameter here --- io.o --- ^~~~~~~~~ --- func.o --- void prs_buff(const unsigned char *); ^ --- hashserv.o --- 15 warnings generated. --- jobs.o --- --- io.o --- ./defs.h:214:57: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); ^ io.c:199:18: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed(tmpout, badcreate); ^~~~~~~~~ ./defs.h:214:57: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); ^ io.c:225:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (iop = ioparg) ~~~~^~~~~~~~ io.c:225:10: note: place parentheses around the assignment to silence this warning if (iop = ioparg) ^ ( ) io.c:225:10: note: use '==' to turn this assignment into an equality comparison if (iop = ioparg) ^ == io.c:229:18: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] ends = mactrim(iop->ioname); ^~~~~~~~~~~ ./defs.h:371:39: note: passing argument to parameter here unsigned char *mactrim(unsigned char *); ^ io.c:355:19: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed(tmpout, badcreate); ^~~~~~~~~ ./defs.h:214:57: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); ^ --- jobs.o --- clang -c -O2 -D_FILE_OFFSET_BITS=64L jobs.c --- func.o --- 28 warnings generated. --- macro.o --- --- io.o --- 7 warnings generated. --- jobs.o --- jobs.c:125:22: warning: passing 'char *' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] jp = pgid2job(stoi(job)); ^~~ ./defs.h:340:31: note: passing argument to parameter here int stoi(const unsigned char *); ^ jobs.c:131:12: warning: passing 'char *' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] i = stoi(job); ^~~ ./defs.h:340:31: note: passing argument to parameter here int stoi(const unsigned char *); ^ jobs.c:145:14: warning: passing 'char *' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed(cmd, ambiguous); ^~~ --- main.o --- --- jobs.o --- ./defs.h:214:34: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); ^ jobs.c:145:19: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed(cmd, ambiguous); ^~~~~~~~~ ./defs.h:214:57: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); ^ jobs.c:159:13: warning: passing 'char *' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed(cmd, ambiguous); ^~~ ./defs.h:214:34: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); ^ jobs.c:159:18: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed(cmd, ambiguous); ^~~~~~~~~ ./defs.h:214:57: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); ^ jobs.c:166:10: warning: passing 'char *' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed(cmd, nosuchjob); ^~~ ./defs.h:214:34: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); ^ jobs.c:166:15: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed(cmd, nosuchjob); ^~~~~~~~~ ./defs.h:214:57: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); ^ jobs.c:253:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (tgid = settgid(mypgid, jp->j_pgid)) ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ jobs.c:253:13: note: place parentheses around the assignment to silence this warning if (tgid = settgid(mypgid, jp->j_pgid)) ^ ( ) jobs.c:253:13: note: use '==' to turn this assignment into an equality comparison if (tgid = settgid(mypgid, jp->j_pgid)) ^ == jobs.c:334:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (jp = pgid2job(pid)) ~~~^~~~~~~~~~~~~~~ jobs.c:334:10: note: place parentheses around the assignment to silence this warning if (jp = pgid2job(pid)) ^ ( ) jobs.c:334:10: note: use '==' to turn this assignment into an equality comparison if (jp = pgid2job(pid)) ^ == jobs.c:504:14: warning: passing 'const char *' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff(sigstr); ^~~~~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ jobs.c:507:18: warning: passing 'unsigned char []' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] sp -= strlen(numbuf) + 7; ^~~~~~ /usr/include/string.h:95:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ jobs.c:508:14: warning: passing 'char [8]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff("Signal "); ^~~~~~~~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ jobs.c:513:14: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff(coredump); ^~~~~~~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ jobs.c:517:34: warning: passing 'unsigned char []' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] sp -= strlen(exited) + strlen(numbuf) + 2; ^~~~~~ /usr/include/string.h:95:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ jobs.c:518:13: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff(exited); ^~~~~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ jobs.c:525:13: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff(running); ^~~~~~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ jobs.c:534:12: warning: passing 'char *' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff(jp->j_cmd); ^~~~~~~~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ jobs.c:548:12: warning: passing 'char [6]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff("(wd: "); ^~~~~~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ jobs.c:549:12: warning: passing 'char *' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff(jp->j_pwd); ^~~~~~~~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ jobs.c:598:10: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs(jobsstopped); ^~~~~~~~~~~ ./defs.h:334:31: note: passing argument to parameter here void prs(const unsigned char *); ^ jobs.c:607:10: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs(jobsrunning); ^~~~~~~~~~~ ./defs.h:334:31: note: passing argument to parameter here void prs(const unsigned char *); ^ jobs.c:646:18: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] cwdlen = strlen(cwd) + 1; ^~~ /usr/include/string.h:95:28: note: passing argument to parameter here size_t strlen(const char *) __pure; ^ jobs.c:649:9: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] error(nostack); ^~~~~~~ ./defs.h:215:33: note: passing argument to parameter here void error(const unsigned char *); ^ jobs.c:654:20: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] strcpy(jp->j_pwd, cwd); ^~~ /usr/include/string.h:82:56: note: passing argument to parameter here char *strcpy(char * __restrict, const char * __restrict); ^ jobs.c:707:20: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] renamef(chkopen(devnull, 0), 0); ^~~~~~~ ./defs.h:270:34: note: passing argument to parameter here int chkopen(const unsigned char *, int); ^ --- macro.o --- clang -c -O2 -D_FILE_OFFSET_BITS=64L macro.c --- main.o --- clang -c -O2 -D_FILE_OFFSET_BITS=64L main.c --- jobs.o --- jobs.c:771:10: warning: passing 'char *' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed(cmd, nojc); ^~~ --- macro.o --- macro.c:142:9: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- main.o --- main.c:109:14: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- macro.o --- error(badsub); --- main.o --- if (*simple(v[0]) == '-') { --- macro.o --- ^~~~~~ --- main.o --- ^~~~ --- jobs.o --- ./defs.h:214:34: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); ^ --- macro.o --- ./defs.h:215:33: note: passing argument to parameter here --- main.o --- ./defs.h:363:38: note: passing argument to parameter here --- macro.o --- void error(const unsigned char *); --- main.o --- unsigned char *simple(unsigned char *); --- macro.o --- ^ --- main.o --- ^ --- jobs.o --- jobs.c:771:15: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed(cmd, nojc); ^~~~ --- macro.o --- macro.c:171:9: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- main.o --- main.c:140:18: warning: passing 'char [6]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- macro.o --- error(badsub); --- main.o --- if (n = findnam("SHELL")) --- macro.o --- ^~~~~~ --- main.o --- ^~~~~~~ --- jobs.o --- ./defs.h:214:57: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); ^ --- macro.o --- ./defs.h:215:33: note: passing argument to parameter here --- main.o --- ./defs.h:330:39: note: passing argument to parameter here --- macro.o --- void error(const unsigned char *); --- main.o --- struct namnod *findnam(unsigned char *); --- macro.o --- ^ --- main.o --- ^ --- jobs.o --- jobs.c:775:12: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failure(usage, jobsuse); ^~~~~ --- macro.o --- macro.c:204:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] --- main.o --- main.c:140:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] --- macro.o --- if (bra = (c == BRACE)) --- main.o --- if (n = findnam("SHELL")) --- macro.o --- ~~~~^~~~~~~~~~~~~~ --- main.o --- ~~^~~~~~~~~~~~~~~~~~ --- jobs.o --- ./defs.h:219:35: note: passing argument to parameter here void failure(const unsigned char *, const unsigned char *); ^ --- macro.o --- macro.c:204:12: note: place parentheses around the assignment to silence this warning --- main.o --- main.c:140:8: note: place parentheses around the assignment to silence this warning --- macro.o --- if (bra = (c == BRACE)) --- main.o --- if (n = findnam("SHELL")) --- macro.o --- ^ --- main.o --- ^ --- jobs.o --- jobs.c:775:19: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- macro.o --- ( ) --- main.o --- ( ) --- jobs.o --- failure(usage, jobsuse); ^~~~~~~ --- macro.o --- macro.c:204:12: note: use '==' to turn this assignment into an equality comparison --- main.o --- main.c:140:8: note: use '==' to turn this assignment into an equality comparison --- macro.o --- if (bra = (c == BRACE)) --- main.o --- if (n = findnam("SHELL")) --- jobs.o --- ./defs.h:219:58: note: passing argument to parameter here --- macro.o --- ^ --- main.o --- ^ --- jobs.o --- void failure(const unsigned char *, const unsigned char *); --- macro.o --- == --- main.o --- == --- jobs.o --- ^ --- macro.o --- macro.c:222:12: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- main.o --- main.c:142:10: warning: passing 'char [4]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- jobs.o --- jobs.c:789:13: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- macro.o --- error(badsub); --- main.o --- if (eq("rsh", simple(n->namval))) --- jobs.o --- failure(usage, jobsuse); --- macro.o --- ^~~~~~ --- main.o --- ^~~~~ --- jobs.o --- ^~~~~ --- macro.o --- ./defs.h:215:33: note: passing argument to parameter here --- main.o --- ./defs.h:414:24: note: expanded from macro 'eq' --- jobs.o --- ./defs.h:219:35: note: passing argument to parameter here --- macro.o --- void error(const unsigned char *); --- main.o --- #define eq(a, b) (cf(a, b) == 0) --- jobs.o --- void failure(const unsigned char *, const unsigned char *); --- macro.o --- ^ --- main.o --- ^ --- jobs.o --- ^ --- macro.o --- macro.c:260:11: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- main.o --- ./defs.h:387:29: note: passing argument to parameter here --- jobs.o --- jobs.c:789:20: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- macro.o --- error(badsub); --- main.o --- int cf(const unsigned char *, const unsigned char *); --- jobs.o --- failure(usage, jobsuse); --- macro.o --- ^~~~~~ --- main.o --- ^ --- jobs.o --- ^~~~~~~ --- macro.o --- ./defs.h:215:33: note: passing argument to parameter here --- main.o --- main.c:153:33: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- jobs.o --- ./defs.h:219:58: note: passing argument to parameter here --- macro.o --- void error(const unsigned char *); --- main.o --- if (c > 0 && (eq("rsh", simple(*v)) || eq("-rsh", simple(*v)))) --- jobs.o --- void failure(const unsigned char *, const unsigned char *); --- macro.o --- ^ --- main.o --- ^~ --- jobs.o --- ^ --- macro.o --- macro.c:272:11: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- main.o --- ./defs.h:414:27: note: expanded from macro 'eq' --- macro.o --- error(badsub); --- jobs.o --- jobs.c:855:10: warning: passing 'char *' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- main.o --- #define eq(a, b) (cf(a, b) == 0) --- macro.o --- ^~~~~~ --- jobs.o --- failed(cmd, nojc); --- main.o --- ^ --- jobs.o --- ^~~ --- macro.o --- ./defs.h:215:33: note: passing argument to parameter here --- main.o --- ./defs.h:363:38: note: passing argument to parameter here --- macro.o --- void error(const unsigned char *); --- jobs.o --- ./defs.h:214:34: note: passing argument to parameter here --- main.o --- unsigned char *simple(unsigned char *); --- macro.o --- ^ --- jobs.o --- void failed(const unsigned char *, const unsigned char *); --- main.o --- ^ --- jobs.o --- ^ --- macro.o --- macro.c:306:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] --- main.o --- main.c:153:19: warning: passing 'char [4]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- macro.o --- while (c = *v) { --- jobs.o --- jobs.c:855:15: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- main.o --- if (c > 0 && (eq("rsh", simple(*v)) || eq("-rsh", simple(*v)))) --- macro.o --- ~~^~~~ --- jobs.o --- failed(cmd, nojc); --- main.o --- ^~~~~ --- jobs.o --- ^~~~ --- macro.o --- macro.c:306:17: note: place parentheses around the assignment to silence this warning --- main.o --- ./defs.h:414:24: note: expanded from macro 'eq' --- macro.o --- while (c = *v) { --- jobs.o --- ./defs.h:214:57: note: passing argument to parameter here --- main.o --- #define eq(a, b) (cf(a, b) == 0) --- macro.o --- ^ --- jobs.o --- void failed(const unsigned char *, const unsigned char *); --- main.o --- ^ --- macro.o --- ( ) --- jobs.o --- ^ --- main.o --- ./defs.h:387:29: note: passing argument to parameter here --- macro.o --- macro.c:306:17: note: use '==' to turn this assignment into an equality comparison --- jobs.o --- jobs.c:857:10: warning: passing 'char [3]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- main.o --- int cf(const unsigned char *, const unsigned char *); --- macro.o --- while (c = *v) { --- jobs.o --- fg = eq("fg", cmd); --- main.o --- ^ --- macro.o --- ^ --- jobs.o --- ^~~~ --- macro.o --- == --- main.o --- main.c:153:59: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- jobs.o --- ./defs.h:414:24: note: expanded from macro 'eq' --- main.o --- if (c > 0 && (eq("rsh", simple(*v)) || eq("-rsh", simple(*v)))) --- macro.o --- macro.c:362:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] --- jobs.o --- #define eq(a, b) (cf(a, b) == 0) --- main.o --- ^~ --- macro.o --- while(c = *argp) { --- jobs.o --- ^ --- macro.o --- ~~^~~~~~~ --- main.o --- ./defs.h:414:27: note: expanded from macro 'eq' --- jobs.o --- ./defs.h:387:29: note: passing argument to parameter here --- main.o --- #define eq(a, b) (cf(a, b) == 0) --- macro.o --- macro.c:362:15: note: place parentheses around the assignment to silence this warning --- jobs.o --- int cf(const unsigned char *, const unsigned char *); --- main.o --- ^ --- macro.o --- while(c = *argp) { --- jobs.o --- ^ --- macro.o --- ^ ( ) --- main.o --- ./defs.h:363:38: note: passing argument to parameter here --- jobs.o --- jobs.c:857:16: warning: passing 'char *' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- main.o --- unsigned char *simple(unsigned char *); --- jobs.o --- fg = eq("fg", cmd); --- main.o --- ^ --- macro.o --- macro.c:362:15: note: use '==' to turn this assignment into an equality comparison --- jobs.o --- ^~~ --- macro.o --- while(c = *argp) { ^ == --- main.o --- main.c:153:44: warning: passing 'char [5]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- jobs.o --- ./defs.h:414:27: note: expanded from macro 'eq' --- main.o --- if (c > 0 && (eq("rsh", simple(*v)) || eq("-rsh", simple(*v)))) --- jobs.o --- #define eq(a, b) (cf(a, b) == 0) --- main.o --- ^~~~~~ --- jobs.o --- ^ --- macro.o --- macro.c:391:13: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] error(badsub); ^~~~~~ --- main.o --- ./defs.h:414:24: note: expanded from macro 'eq' --- jobs.o --- ./defs.h:387:52: note: passing argument to parameter here --- main.o --- #define eq(a, b) (cf(a, b) == 0) --- jobs.o --- int cf(const unsigned char *, const unsigned char *); --- main.o --- ^ --- jobs.o --- ^ --- macro.o --- ./defs.h:215:33: note: passing argument to parameter here void error(const unsigned char *); ^ --- main.o --- ./defs.h:387:29: note: passing argument to parameter here --- jobs.o --- jobs.c:863:12: warning: passing 'char *' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- main.o --- int cf(const unsigned char *, const unsigned char *); --- jobs.o --- failed(cmd, nocurjob); --- main.o --- ^ --- jobs.o --- ^~~ --- macro.o --- macro.c:395:16: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed(id, unset); ^~~~~ --- main.o --- main.c:158:23: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- jobs.o --- ./defs.h:214:34: note: passing argument to parameter here --- main.o --- if (eq("jsh", simple(*v)) || eq("-jsh", simple(*v))) --- jobs.o --- void failed(const unsigned char *, const unsigned char *); --- main.o --- ^~ --- jobs.o --- ^ --- macro.o --- ./defs.h:214:57: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); ^ --- main.o --- ./defs.h:414:27: note: expanded from macro 'eq' --- jobs.o --- jobs.c:863:17: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- main.o --- #define eq(a, b) (cf(a, b) == 0) --- jobs.o --- failed(cmd, nocurjob); --- main.o --- ^ --- jobs.o --- ^~~~~~~~ --- macro.o --- macro.c:523:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (d = readwc()) { ~~^~~~~~~~~~ --- main.o --- ./defs.h:363:38: note: passing argument to parameter here --- jobs.o --- ./defs.h:214:57: note: passing argument to parameter here --- main.o --- unsigned char *simple(unsigned char *); --- jobs.o --- void failed(const unsigned char *, const unsigned char *); --- main.o --- ^ --- jobs.o --- ^ --- macro.o --- macro.c:523:11: note: place parentheses around the assignment to silence this warning while (d = readwc()) { ^ ( ) --- main.o --- main.c:158:9: warning: passing 'char [4]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- jobs.o --- jobs.c:926:13: warning: passing 'char *' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- main.o --- if (eq("jsh", simple(*v)) || eq("-jsh", simple(*v))) --- jobs.o --- failure(cmd, badid); --- main.o --- ^~~~~ --- jobs.o --- ^~~ --- macro.o --- macro.c:523:11: note: use '==' to turn this assignment into an equality comparison while (d = readwc()) { ^ == --- main.o --- ./defs.h:414:24: note: expanded from macro 'eq' --- jobs.o --- ./defs.h:219:35: note: passing argument to parameter here --- main.o --- #define eq(a, b) (cf(a, b) == 0) --- jobs.o --- void failure(const unsigned char *, const unsigned char *); --- main.o --- ^ --- jobs.o --- ^ --- macro.o --- macro.c:532:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while(d = *rest++) { ~~^~~~~~~~~ --- main.o --- ./defs.h:387:29: note: passing argument to parameter here --- jobs.o --- jobs.c:926:18: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- main.o --- int cf(const unsigned char *, const unsigned char *); --- jobs.o --- failure(cmd, badid); --- main.o --- ^ --- jobs.o --- ^~~~~ --- macro.o --- macro.c:532:12: note: place parentheses around the assignment to silence this warning while(d = *rest++) { ^ --- main.o --- main.c:158:49: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- jobs.o --- ./defs.h:219:58: note: passing argument to parameter here --- macro.o --- ( ) --- main.o --- if (eq("jsh", simple(*v)) || eq("-jsh", simple(*v))) --- jobs.o --- void failure(const unsigned char *, const unsigned char *); --- main.o --- ^~ --- jobs.o --- ^ --- macro.o --- macro.c:532:12: note: use '==' to turn this assignment into an equality comparison while(d = *rest++) { --- main.o --- ./defs.h:414:27: note: expanded from macro 'eq' --- jobs.o --- jobs.c:938:34: warning: '&&' within '||' [-Wlogical-op-parentheses] --- macro.o --- ^ --- main.o --- #define eq(a, b) (cf(a, b) == 0) --- jobs.o --- if (id == mysid || id == mypid && mypgid == mysid) { --- macro.o --- == --- main.o --- ^ --- jobs.o --- ~~ ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ --- macro.o --- macro.c:596:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] --- main.o --- ./defs.h:363:38: note: passing argument to parameter here --- jobs.o --- jobs.c:938:34: note: place parentheses around the '&&' expression to silence this warning --- macro.o --- while (c = (getch(DQUOTE, 0))) /* read characters from here document --- main.o --- unsigned char *simple(unsigned char *); --- jobs.o --- if (id == mysid || id == mypid && mypgid == mysid) { --- macro.o --- ~~^~~~~~~~~~~~~~~~~~~~ --- main.o --- ^ --- jobs.o --- ^ ( ) --- macro.o --- macro.c:596:11: note: place parentheses around the assignment to silence this warning --- main.o --- main.c:158:34: warning: passing 'char [5]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (eq("jsh", simple(*v)) || eq("-jsh", simple(*v))) --- macro.o --- while (c = (getch(DQUOTE, 0))) /* read characters from here document --- jobs.o --- jobs.c:939:12: warning: passing 'char *' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- main.o --- ^~~~~~ --- macro.o --- ^ --- jobs.o --- failure(cmd, loginsh); --- macro.o --- ( ) --- jobs.o --- ^~~ --- main.o --- ./defs.h:414:24: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) --- macro.o --- macro.c:596:11: note: use '==' to turn this assignment into an equality comparison --- jobs.o --- ./defs.h:219:35: note: passing argument to parameter here --- main.o --- ^ --- macro.o --- while (c = (getch(DQUOTE, 0))) /* read characters from here document --- jobs.o --- void failure(const unsigned char *, const unsigned char *); --- macro.o --- ^ --- jobs.o --- ^ --- macro.o --- == --- main.o --- ./defs.h:387:29: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); --- jobs.o --- jobs.c:939:17: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- main.o --- ^ --- jobs.o --- failure(cmd, loginsh); ^~~~~~~ --- main.o --- main.c:242:18: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] assign(&ifsnod, sptbnl); --- jobs.o --- ./defs.h:219:58: note: passing argument to parameter here --- main.o --- ^~~~~~ --- jobs.o --- void failure(const unsigned char *, const unsigned char *); ^ --- main.o --- ./defs.h:316:51: note: passing argument to parameter here void assign(struct namnod *, const unsigned char *); --- jobs.o --- jobs.c:956:13: warning: passing 'char *' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- main.o --- ^ --- jobs.o --- failure(cmd, eacces); ^~~ --- main.o --- main.c:244:22: warning: passing 'char [2]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] dfault(&timeoutnod, "0"); --- jobs.o --- ./defs.h:219:35: note: passing argument to parameter here --- main.o --- ^~~ --- jobs.o --- void failure(const unsigned char *, const unsigned char *); ^ --- main.o --- ./defs.h:315:51: note: passing argument to parameter here void dfault(struct namnod *, const unsigned char *); --- jobs.o --- jobs.c:956:18: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- main.o --- ^ --- jobs.o --- failure(cmd, eacces); ^~~~~~ --- main.o --- main.c:247:19: warning: passing 'char [4]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] dfault(&mchknod, MAILCHECK); --- jobs.o --- ./defs.h:219:58: note: passing argument to parameter here --- main.o --- ^~~~~~~~~ --- jobs.o --- void failure(const unsigned char *, const unsigned char *); ^ --- main.o --- ./timeout.h:37:19: note: expanded from macro 'MAILCHECK' #define MAILCHECK "600" /* 10 minutes */ --- jobs.o --- jobs.c:960:13: warning: passing 'char *' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- main.o --- ^~~~~ --- jobs.o --- failure(cmd, badsig); ^~~ --- main.o --- ./defs.h:315:51: note: passing argument to parameter here void dfault(struct namnod *, const unsigned char *); --- jobs.o --- ./defs.h:219:35: note: passing argument to parameter here --- main.o --- ^ --- jobs.o --- void failure(const unsigned char *, const unsigned char *); ^ --- main.o --- main.c:252:13: warning: passing 'char [7]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] n = lookup("OPTIND"); --- jobs.o --- jobs.c:960:18: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- main.o --- ^~~~~~~~ --- jobs.o --- failure(cmd, badsig); ^~~~~~ --- main.o --- ./defs.h:320:38: note: passing argument to parameter here struct namnod *lookup(unsigned char *); --- jobs.o --- ./defs.h:219:58: note: passing argument to parameter here --- main.o --- ^ --- jobs.o --- void failure(const unsigned char *, const unsigned char *); ^ --- main.o --- main.c:253:12: warning: passing 'char [2]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] assign(n, "1"); --- jobs.o --- jobs.c:965:14: warning: passing 'char *' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- main.o --- ^~~ --- jobs.o --- failure(cmd, nosuchpgid); ^~~ --- main.o --- ./defs.h:316:51: note: passing argument to parameter here void assign(struct namnod *, const unsigned char *); --- jobs.o --- ./defs.h:219:35: note: passing argument to parameter here --- main.o --- ^ --- jobs.o --- void failure(const unsigned char *, const unsigned char *); ^ --- main.o --- main.c:271:26: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if ((input = pathopen(nullstr, sysprofile)) >= 0) --- jobs.o --- jobs.c:965:19: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- main.o --- ^~~~~~~ --- jobs.o --- failure(cmd, nosuchpgid); ^~~~~~~~~~ --- main.o --- ./defs.h:365:35: note: passing argument to parameter here int pathopen(const unsigned char *, const unsigned char *); --- jobs.o --- ./defs.h:219:58: note: passing argument to parameter here --- main.o --- ^ --- jobs.o --- void failure(const unsigned char *, const unsigned char *); ^ --- main.o --- main.c:271:35: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if ((input = pathopen(nullstr, sysprofile)) >= 0) --- jobs.o --- jobs.c:967:14: warning: passing 'char *' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- main.o --- ^~~~~~~~~~ --- jobs.o --- failure(cmd, nosuchpid); ^~~ --- main.o --- ./defs.h:365:58: note: passing argument to parameter here int pathopen(const unsigned char *, const unsigned char *); --- jobs.o --- ./defs.h:219:35: note: passing argument to parameter here --- main.o --- ^ --- jobs.o --- void failure(const unsigned char *, const unsigned char *); ^ --- main.o --- main.c:277:42: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if ((input = pathopen(homenod.namval, profile)) >= 0) --- jobs.o --- jobs.c:967:19: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- main.o --- ^~~~~~~ --- jobs.o --- failure(cmd, nosuchpid); ^~~~~~~~~ --- main.o --- ./defs.h:365:58: note: passing argument to parameter here int pathopen(const unsigned char *, const unsigned char *); --- jobs.o --- ./defs.h:219:58: note: passing argument to parameter here --- main.o --- ^ --- jobs.o --- void failure(const unsigned char *, const unsigned char *); ^ --- main.o --- main.c:415:24: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] if ((timeout = atol(timeoutnod.namval)) > 0) --- jobs.o --- jobs.c:986:10: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- main.o --- ^~~~~~~~~~~~~~~~~ --- jobs.o --- failed(usage, stopuse); ^~~~~ --- main.o --- /usr/include/stdlib.h:89:24: note: passing argument to parameter here long atol(const char *); --- jobs.o --- ./defs.h:214:34: note: passing argument to parameter here --- main.o --- ^ --- jobs.o --- void failed(const unsigned char *, const unsigned char *); ^ --- main.o --- main.c:536:10: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs(mailmsg); --- jobs.o --- jobs.c:986:17: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- main.o --- ^~~~~~~ --- jobs.o --- failed(usage, stopuse); ^~~~~~~ --- main.o --- ./defs.h:334:31: note: passing argument to parameter here void prs(const unsigned char *); --- jobs.o --- ./defs.h:214:57: note: passing argument to parameter here --- main.o --- ^ --- jobs.o --- void failed(const unsigned char *, const unsigned char *); ^ --- main.o --- main.c:562:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (mailp = mailpath) --- jobs.o --- jobs.c:998:11: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- main.o --- ~~~~~~^~~~~~~~~~ --- jobs.o --- failure(usage, killuse); ^~~~~ --- main.o --- main.c:562:12: note: place parentheses around the assignment to silence this warning if (mailp = mailpath) --- jobs.o --- ./defs.h:219:35: note: passing argument to parameter here --- main.o --- ^ --- jobs.o --- void failure(const unsigned char *, const unsigned char *); --- main.o --- ( ) --- jobs.o --- ^ --- main.o --- main.c:562:12: note: use '==' to turn this assignment into an equality comparison --- jobs.o --- jobs.c:998:18: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- main.o --- if (mailp = mailpath) --- jobs.o --- failure(usage, killuse); --- main.o --- ^ --- jobs.o --- ^~~~~~~ --- main.o --- == --- jobs.o --- ./defs.h:219:58: note: passing argument to parameter here --- main.o --- main.c:586:31: warning: passing 'char [7]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- jobs.o --- void failure(const unsigned char *, const unsigned char *); --- main.o --- unsigned char *name = lookup("LC_ALL")->namval; --- jobs.o --- ^ --- main.o --- ^~~~~~~~ --- jobs.o --- jobs.c:1011:12: warning: passing 'char *' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- main.o --- ./defs.h:320:38: note: passing argument to parameter here --- jobs.o --- if (!eq(argv[1], "-l")) { --- main.o --- struct namnod *lookup(unsigned char *); --- jobs.o --- ^~~~~~~ --- main.o --- ^ --- jobs.o --- ./defs.h:414:24: note: expanded from macro 'eq' --- main.o --- main.c:588:17: warning: passing 'char [9]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- jobs.o --- #define eq(a, b) (cf(a, b) == 0) --- main.o --- name = lookup("LC_CTYPE")->namval; --- jobs.o --- ^ --- main.o --- ^~~~~~~~~~ --- jobs.o --- ./defs.h:387:29: note: passing argument to parameter here --- main.o --- ./defs.h:320:38: note: passing argument to parameter here --- jobs.o --- int cf(const unsigned char *, const unsigned char *); --- main.o --- struct namnod *lookup(unsigned char *); --- jobs.o --- ^ --- main.o --- ^ --- jobs.o --- jobs.c:1011:21: warning: passing 'char [3]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- main.o --- main.c:590:17: warning: passing 'char [5]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- jobs.o --- if (!eq(argv[1], "-l")) { --- main.o --- name = lookup("LANG")->namval; --- jobs.o --- ^~~~ --- main.o --- ^~~~~~ --- jobs.o --- ./defs.h:414:27: note: expanded from macro 'eq' --- main.o --- ./defs.h:320:38: note: passing argument to parameter here --- jobs.o --- #define eq(a, b) (cf(a, b) == 0) --- main.o --- struct namnod *lookup(unsigned char *); --- jobs.o --- ^ --- main.o --- ^ --- jobs.o --- ./defs.h:387:52: note: passing argument to parameter here --- main.o --- main.c:611:19: warning: passing 'const char *' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- jobs.o --- int cf(const unsigned char *, const unsigned char *); --- main.o --- dfault(&ps1nod, (geteuid() ? stdprompt : supprompt)); --- jobs.o --- ^ --- main.o --- ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- jobs.o --- jobs.c:1012:13: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- main.o --- ./defs.h:315:51: note: passing argument to parameter here --- jobs.o --- failure(usage, killuse); --- main.o --- void dfault(struct namnod *, const unsigned char *); --- jobs.o --- ^~~~~ --- main.o --- ^ --- jobs.o --- ./defs.h:219:35: note: passing argument to parameter here --- main.o --- main.c:612:19: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- jobs.o --- void failure(const unsigned char *, const unsigned char *); --- main.o --- dfault(&ps2nod, readmsg); --- jobs.o --- ^ --- main.o --- ^~~~~~~ --- macro.o --- 13 warnings generated. --- jobs.o --- jobs.c:1012:20: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- main.o --- ./defs.h:315:51: note: passing argument to parameter here --- jobs.o --- failure(usage, killuse); --- main.o --- void dfault(struct namnod *, const unsigned char *); --- jobs.o --- ^~~~~~~ --- main.o --- ^ --- msg.o --- --- jobs.o --- ./defs.h:219:58: note: passing argument to parameter here void failure(const unsigned char *, const unsigned char *); ^ jobs.c:1021:14: warning: passing 'char [12]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff(buf); ^~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ jobs.c:1032:12: warning: passing 'char *' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failure(cmd, badsig); ^~~ ./defs.h:219:35: note: passing argument to parameter here void failure(const unsigned char *, const unsigned char *); ^ jobs.c:1032:17: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failure(cmd, badsig); ^~~~~~ ./defs.h:219:58: note: passing argument to parameter here void failure(const unsigned char *, const unsigned char *); ^ jobs.c:1047:10: warning: passing 'char *' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed(argv[0], badopt); ^~~~~~~ ./defs.h:214:34: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); ^ jobs.c:1047:19: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed(argv[0], badopt); ^~~~~~ ./defs.h:214:57: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); ^ --- msg.o --- clang -c -O2 -D_FILE_OFFSET_BITS=64L msg.c --- main.o --- 28 warnings generated. --- name.o --- clang -c -O2 -D_FILE_OFFSET_BITS=64L name.c --- print.o --- clang -c -O2 -D_FILE_OFFSET_BITS=64L print.c --- jobs.o --- 64 warnings generated. --- pwd.o --- --- print.o --- print.c:77:27: warning: passing 'const char *' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] write(output, s, length(s) - 1); ^ ./defs.h:388:33: note: passing argument to parameter here int length(const unsigned char *); ^ --- pwd.o --- clang -c -O2 -D_FILE_OFFSET_BITS=64L pwd.c --- name.o --- name.c:146:21: warning: passing 'char *const' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if ((cond = cf(w, syswds[mid].sysnam)) < 0) ^~~~~~~~~~~~~~~~~~ --- print.o --- print.c:151:10: warning: passing 'unsigned char [21]' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] strncpy(numbuf, abuf, sizeof (numbuf)); ^~~~~~ --- name.o --- ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); --- pwd.o --- pwd.c:234:13: warning: passing 'unsigned char [1025]' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- name.o --- ^ --- pwd.o --- if(getcwd(cwdname, PATH_MAX+1) == (char *)0) --- print.o --- /usr/include/string.h:101:32: note: passing argument to parameter here --- pwd.o --- ^~~~~~~ --- print.o --- char *strncpy(char * __restrict, const char * __restrict, size_t); ^ --- name.o --- name.c:209:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] dolocale(n->namid); --- pwd.o --- /usr/include/unistd.h:338:20: note: passing argument to parameter here --- name.o --- ^~~~~~~~ --- pwd.o --- char *getcwd(char *, size_t); --- print.o --- print.c:151:18: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- pwd.o --- ^ --- print.o --- strncpy(numbuf, abuf, sizeof (numbuf)); ^~~~ --- name.o --- name.c:54:28: note: passing argument to parameter here static void dolocale(char *); --- pwd.o --- pwd.c:252:13: warning: passing 'unsigned char [1025]' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- name.o --- ^ --- pwd.o --- if(getcwd(cwdname, PATH_MAX+1) == (char *)0) { --- print.o --- /usr/include/string.h:101:57: note: passing argument to parameter here --- pwd.o --- ^~~~~~~ --- print.o --- char *strncpy(char * __restrict, const char * __restrict, size_t); ^ --- name.o --- name.c:233:20: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed(n->namid, wtfailed); --- pwd.o --- /usr/include/unistd.h:338:20: note: passing argument to parameter here --- name.o --- ^~~~~~~~ --- pwd.o --- char *getcwd(char *, size_t); --- print.o --- print.c:166:15: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- pwd.o --- ^ --- print.o --- failed(icp, badnum); ^~~~~~ --- name.o --- ./defs.h:214:57: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); --- pwd.o --- pwd.c:254:11: warning: passing 'char [35]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- name.o --- ^ --- pwd.o --- error("cannot determine current directory"); --- print.o --- ./defs.h:214:57: note: passing argument to parameter here --- pwd.o --- ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- print.o --- void failed(const unsigned char *, const unsigned char *); ^ --- name.o --- name.c:239:36: warning: passing 'char [6]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (n == &pathnod || eq(n->namid,"SHELL")) --- pwd.o --- ./defs.h:215:33: note: passing argument to parameter here --- name.o --- ^~~~~~~ --- pwd.o --- void error(const unsigned char *); --- print.o --- print.c:267:19: warning: passing 'const char *' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- pwd.o --- ^ --- print.o --- int len = length((const char *)s) - 1; ^~~~~~~~~~~~~~~ --- name.o --- ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) --- pwd.o --- pwd.c:256:11: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- name.o --- ^ --- pwd.o --- error(longpwd); --- print.o --- ./defs.h:388:33: note: passing argument to parameter here --- pwd.o --- ^~~~~~~ --- print.o --- int length(const unsigned char *); ^ --- name.o --- ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); --- pwd.o --- ./defs.h:215:33: note: passing argument to parameter here --- name.o --- ^ --- pwd.o --- void error(const unsigned char *); --- print.o --- print.c:276:10: warning: passing 'const char *' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- pwd.o --- ^ --- print.o --- movstr((const char *)s, &bufp[index]); ^~~~~~~~~~~~~~~ --- pwd.o --- 4 warnings generated. --- service.o --- --- name.o --- name.c:240:21: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed(n->namid, restricted); ^~~~~~~~~~ ./defs.h:214:57: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); ^ name.c:282:24: warning: passing 'char [1]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] path = getpath(""); ^~ ./defs.h:364:39: note: passing argument to parameter here unsigned char *getpath(unsigned char *); ^ name.c:332:17: warning: passing 'char [3]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (eq(*names, "-r")) { --- print.o --- ./defs.h:384:44: note: passing argument to parameter here unsigned char *movstr(const unsigned char *, unsigned char *); ^ --- name.o --- ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ name.c:334:10: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] error(badargs); ^~~~~~~ ./defs.h:215:33: note: passing argument to parameter here void error(const unsigned char *); ^ name.c:375:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while(*pc++ = *rest++); ~~~~~~^~~~~~~~~ name.c:375:15: note: place parentheses around the assignment to silence this warning while(*pc++ = *rest++); ^ ( ) name.c:375:15: note: use '==' to turn this assignment into an equality comparison while(*pc++ = *rest++); ^ == name.c:405:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while(*pc++ = *rest++); ~~~~~~^~~~~~~~~ name.c:405:18: note: place parentheses around the assignment to silence this warning while(*pc++ = *rest++); ^ ( ) name.c:405:18: note: use '==' to turn this assignment into an equality comparison while(*pc++ = *rest++); ^ == name.c:415:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while(d = *rest++) { ~~^~~~~~~~~ name.c:415:13: note: place parentheses around the assignment to silence this warning while(d = *rest++) { ^ ( ) name.c:415:13: note: use '==' to turn this assignment into an equality comparison while(d = *rest++) { ^ == name.c:425:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while(d = *pc++) { ~~^~~~~~~ name.c:425:13: note: place parentheses around the assignment to silence this warning while(d = *pc++) { ^ ( ) name.c:425:13: note: use '==' to turn this assignment into an equality comparison while(d = *pc++) { ^ == name.c:441:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while(*pc++ = *rest++); ~~~~~~^~~~~~~~~ name.c:441:17: note: place parentheses around the assignment to silence this warning while(*pc++ = *rest++); ^ ( ) name.c:441:17: note: use '==' to turn this assignment into an equality comparison while(*pc++ = *rest++); ^ == name.c:447:13: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] assign(n, nullstr); ^~~~~~~ name.c:230:47: note: passing argument to parameter 'v' here assign(struct namnod *n, const unsigned char *v) ^ name.c:504:15: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed(nam, notid); ^~~~~ ./defs.h:214:57: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); ^ name.c:577:12: warning: passing 'char [5]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff("(){\n"); ^~~~~~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ name.c:579:12: warning: passing 'char [4]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff("\n}\n"); ^~~~~~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ name.c:581:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (s = n->namval) ~~^~~~~~~~~~~ name.c:581:13: note: place parentheses around the assignment to silence this warning else if (s = n->namval) ^ ( ) name.c:581:13: note: use '==' to turn this assignment into an equality comparison else if (s = n->namval) ^ == name.c:626:12: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff(readonly); ^~~~~~~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ name.c:638:12: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs_buff(export); ^~~~~~ ./defs.h:348:36: note: passing argument to parameter here void prs_buff(const unsigned char *); ^ name.c:651:11: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] setname(*e++, N_ENVNAM); ^~~~ name.c:181:20: note: passing argument to parameter 'argi' here unsigned char *argi, ^ name.c:690:18: warning: passing 'char [2]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] p = movstrstak("=", p); ^~~ ./stak.h:87:56: note: passing argument to parameter here extern unsigned char *movstrstak(const unsigned char *, ^ name.c:743:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (n = findnam(name)) ~~^~~~~~~~~~~~~~~ name.c:743:8: note: place parentheses around the assignment to silence this warning if (n = findnam(name)) ^ ( ) name.c:743:8: note: use '==' to turn this assignment into an equality comparison if (n = findnam(name)) ^ == name.c:746:17: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed(name, wtfailed); ^~~~~~~~ ./defs.h:214:57: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); ^ name.c:754:17: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed(name, badunset); ^~~~~~~~ ./defs.h:214:57: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); ^ name.c:759:36: warning: passing 'char [6]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if ((flags & rshflg) && eq(name, "SHELL")) ^~~~~~~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ name.c:760:17: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed(name, restricted); ^~~~~~~~~~ ./defs.h:214:57: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); ^ name.c:780:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] dolocale(name); ^~~~ name.c:54:28: note: passing argument to parameter here static void dolocale(char *); ^ name.c:830:12: warning: passing 'char *' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] (!(eq(nm, "LC_ALL") || eq(nm, "LC_CTYPE") || eq(nm, "LANG")))) ^~ ./defs.h:414:24: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:29: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ name.c:830:16: warning: passing 'char [7]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] (!(eq(nm, "LC_ALL") || eq(nm, "LC_CTYPE") || eq(nm, "LANG")))) ^~~~~~~~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ name.c:830:32: warning: passing 'char *' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] (!(eq(nm, "LC_ALL") || eq(nm, "LC_CTYPE") || eq(nm, "LANG")))) ^~ ./defs.h:414:24: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:29: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ name.c:830:36: warning: passing 'char [9]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] (!(eq(nm, "LC_ALL") || eq(nm, "LC_CTYPE") || eq(nm, "LANG")))) ^~~~~~~~~~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ name.c:830:54: warning: passing 'char *' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] (!(eq(nm, "LC_ALL") || eq(nm, "LC_CTYPE") || eq(nm, "LANG")))) ^~ ./defs.h:414:24: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:29: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ name.c:830:58: warning: passing 'char [5]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] (!(eq(nm, "LC_ALL") || eq(nm, "LC_CTYPE") || eq(nm, "LANG")))) ^~~~~~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ name.c:850:20: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if ((n = findnam(localevar[lv]))) { ^~~~~~~~~~~~~ name.c:717:33: note: passing argument to parameter 'nam' here findnam(register unsigned char *nam) ^ name.c:856:38: warning: passing 'char *' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] fake_env[fe++] = p = alloc(length(localevar[lv]) ^~~~~~~~~~~~~ ./defs.h:388:33: note: passing argument to parameter here int length(const unsigned char *); ^ --- service.o --- clang -c -O2 -D_FILE_OFFSET_BITS=64L service.c service.c:72:17: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] ion = mactrim(iop->ioname); ^~~~~~~~~~~ ./defs.h:371:39: note: passing argument to parameter here unsigned char *mactrim(unsigned char *); ^ service.c:96:12: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (eq(minus, ion)) { ^~~~~ ./defs.h:414:24: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:29: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ service.c:100:18: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed(ion, badfile); ^~~~~~~ ./defs.h:214:57: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); ^ service.c:110:17: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed(ion, restricted); ^~~~~~~~~~ ./defs.h:214:57: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); ^ service.c:150:14: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed(s, restricted); ^~~~~~~~~~ ./defs.h:214:57: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); ^ service.c:214:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (*argp++ = *scanp++); ~~~~~~~~^~~~~~~~~~ service.c:214:17: note: place parentheses around the assignment to silence this warning while (*argp++ = *scanp++); ^ ( ) service.c:214:17: note: use '==' to turn this assignment into an equality comparison while (*argp++ = *scanp++); ^ == service.c:259:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (path = execs(path, t)) ~~~~~^~~~~~~~~~~~~~~~ service.c:259:15: note: place parentheses around the assignment to silence this warning while (path = execs(path, t)) ^ ( ) service.c:259:15: note: use '==' to turn this assignment into an equality comparison while (path = execs(path, t)) ^ == service.c:301:13: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed(p, toobig); ^~~~~~ ./defs.h:214:57: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); ^ service.c:304:13: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed(p, arglist); ^~~~~~~ ./defs.h:214:57: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); ^ service.c:307:13: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed(p, txtbsy); ^~~~~~ ./defs.h:214:57: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); ^ service.c:348:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (current = at) ~~~~~~~~^~~~ service.c:348:14: note: place parentheses around the assignment to silence this warning if (current = at) ^ ( ) service.c:348:14: note: use '==' to turn this assignment into an equality comparison if (current = at) ^ == service.c:351:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (c = *current) { ~~^~~~~~~~~~ service.c:351:12: note: place parentheses around the assignment to silence this warning while (c = *current) { ^ ( ) service.c:351:12: note: use '==' to turn this assignment into an equality comparison while (c = *current) { ^ == service.c:368:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (c = *current) { ~~^~~~~~~~~~ service.c:368:10: note: place parentheses around the assignment to silence this warning if (c = *current) { ^ ( ) service.c:368:10: note: use '==' to turn this assignment into an equality comparison if (c = *current) { ^ == service.c:395:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (current = at) ~~~~~~~~^~~~ service.c:395:14: note: place parentheses around the assignment to silence this warning if (current = at) ^ ( ) service.c:395:14: note: use '==' to turn this assignment into an equality comparison if (current = at) ^ == service.c:398:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (c = *current) { ~~^~~~~~~~~~ service.c:398:12: note: place parentheses around the assignment to silence this warning while (c = *current) { ^ ( ) service.c:398:12: note: use '==' to turn this assignment into an equality comparison while (c = *current) { ^ == service.c:520:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (c = ac) ~~^~~~ service.c:520:8: note: place parentheses around the assignment to silence this warning if (c = ac) ^ ( ) service.c:520:8: note: use '==' to turn this assignment into an equality comparison if (c = ac) ^ == service.c:545:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (c = *s) { ~~^~~~ service.c:545:12: note: place parentheses around the assignment to silence this warning while (c = *s) { ^ ( ) service.c:545:12: note: use '==' to turn this assignment into an equality comparison while (c = *s) { ^ == --- print.o --- 6 warnings generated. --- name.o --- 36 warnings generated. --- setbrk.o --- --- stak.o --- --- setbrk.o --- clang -c -O2 -D_FILE_OFFSET_BITS=64L setbrk.c --- stak.o --- clang -c -O2 -D_FILE_OFFSET_BITS=64L stak.c --- string.o --- --- stak.o --- stak.c:71:10: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] error(nostack); ^~~~~~~ ./defs.h:215:33: note: passing argument to parameter here void error(const unsigned char *); ^ stak.c:87:9: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] error(nospace); ^~~~~~~ ./defs.h:215:33: note: passing argument to parameter here void error(const unsigned char *); ^ stak.c:149:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (*b++ = *a++); ~~~~~^~~~~~ stak.c:149:14: note: place parentheses around the assignment to silence this warning while (*b++ = *a++); ^ ( ) stak.c:149:14: note: use '==' to turn this assignment into an equality comparison while (*b++ = *a++); ^ == --- string.o --- clang -c -O2 -D_FILE_OFFSET_BITS=64L string.c --- stak.o --- 3 warnings generated. --- test.o --- --- service.o --- service.c:645:8: error: incomplete definition of type 'struct acct' sabuf.ac_btime = time((time_t *)0); ~~~~~^ service.c:623:8: note: forward declaration of 'struct acct' struct acct sabuf; ^ service.c:647:8: error: incomplete definition of type 'struct acct' sabuf.ac_uid = getuid(); ~~~~~^ service.c:623:8: note: forward declaration of 'struct acct' struct acct sabuf; ^ service.c:648:8: error: incomplete definition of type 'struct acct' sabuf.ac_gid = getgid(); ~~~~~^ service.c:623:8: note: forward declaration of 'struct acct' struct acct sabuf; ^ service.c:649:32: error: incomplete definition of type 'struct acct' movstrn(simple(cmdadr), sabuf.ac_comm, sizeof (sabuf.ac_comm)); ~~~~~^ service.c:623:8: note: forward declaration of 'struct acct' struct acct sabuf; ^ service.c:649:55: error: incomplete definition of type 'struct acct' movstrn(simple(cmdadr), sabuf.ac_comm, sizeof (sabuf.ac_comm)); ~~~~~^ service.c:623:8: note: forward declaration of 'struct acct' struct acct sabuf; ^ service.c:663:8: error: incomplete definition of type 'struct acct' sabuf.ac_utime = compress(buffer.tms_utime + buffer.tms_cutime); ~~~~~^ service.c:623:8: note: forward declaration of 'struct acct' struct acct sabuf; ^ service.c:664:8: error: incomplete definition of type 'struct acct' sabuf.ac_stime = compress(buffer.tms_stime + buffer.tms_cstime); ~~~~~^ service.c:623:8: note: forward declaration of 'struct acct' struct acct sabuf; ^ service.c:665:8: error: incomplete definition of type 'struct acct' sabuf.ac_etime = compress(after - before); ~~~~~^ service.c:623:8: note: forward declaration of 'struct acct' struct acct sabuf; ^ service.c:669:29: error: invalid application of 'sizeof' to an incomplete type 'struct acct' write(fd, &sabuf, sizeof (sabuf)); ^~~~~~~ service.c:623:8: note: forward declaration of 'struct acct' struct acct sabuf; ^ service.c:623:13: error: tentative definition has type 'struct acct' that is never completed struct acct sabuf; ^ service.c:623:8: note: forward declaration of 'struct acct' struct acct sabuf; ^ 17 warnings and 10 errors generated. *** [service.o] Error code 1 bmake: stopped in /var/pkgsrc/work/shells/heirloom-sh/work/heirloom-sh-050706 --- test.o --- clang -c -O2 -D_FILE_OFFSET_BITS=64L test.c --- string.o --- string.c:45:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (*b++ = *a++); ~~~~~^~~~~~ --- test.o --- test.c:67:16: warning: passing 'char [2]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (eq(com[0],"[")) ^~~ --- string.o --- string.c:45:14: note: place parentheses around the assignment to silence this warning while (*b++ = *a++); ^ ( ) --- test.o --- ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ --- string.o --- string.c:45:14: note: use '==' to turn this assignment into an equality comparison while (*b++ = *a++); ^ --- test.o --- ./defs.h:387:52: note: passing argument to parameter here --- string.o --- == --- test.o --- int cf(const unsigned char *, const unsigned char *); ^ --- string.o --- string.c:54:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (d = *s++) --- test.o --- test.c:69:22: warning: passing 'char [2]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- string.o --- ~~^~~~~~ --- test.o --- if (!eq(com[--ac], "]")) ^~~ --- string.o --- string.c:54:11: note: place parentheses around the assignment to silence this warning while (d = *s++) --- test.o --- ./defs.h:414:27: note: expanded from macro 'eq' --- string.o --- ^ --- test.o --- #define eq(a, b) (cf(a, b) == 0) --- string.o --- ( ) --- test.o --- ^ --- string.o --- string.c:54:11: note: use '==' to turn this assignment into an equality comparison --- test.o --- ./defs.h:387:52: note: passing argument to parameter here --- string.o --- while (d = *s++) --- test.o --- int cf(const unsigned char *, const unsigned char *); --- string.o --- ^ --- test.o --- ^ --- string.o --- == --- test.o --- test.c:70:11: warning: passing 'char [5]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] --- string.o --- string.c:94:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] --- test.o --- failed("test", "] missing"); --- string.o --- if (s = as) --- test.o --- ^~~~~~ --- string.o --- ~~^~~~ --- test.o --- ./defs.h:214:34: note: passing argument to parameter here --- string.o --- string.c:94:8: note: place parentheses around the assignment to silence this warning --- test.o --- void failed(const unsigned char *, const unsigned char *); --- string.o --- if (s = as) --- test.o --- ^ --- string.o --- ^ ( ) --- test.o --- test.c:70:19: warning: passing 'char [10]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed("test", "] missing"); --- string.o --- string.c:94:8: note: use '==' to turn this assignment into an equality comparison --- test.o --- ^~~~~~~~~~~ --- string.o --- if (s = as) ^ == --- test.o --- ./defs.h:214:57: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); --- string.o --- 3 warnings generated. --- test.o --- ^ test.c:94:10: warning: passing 'char [5]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed("test", "argument expected"); ^~~~~~ ./defs.h:214:34: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); ^ test.c:94:18: warning: passing 'char [18]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed("test", "argument expected"); ^~~~~~~~~~~~~~~~~~~ ./defs.h:214:57: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); ^ test.c:109:14: warning: passing 'char [3]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (eq(p2, "-o")) ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ test.c:128:26: warning: passing 'char [3]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if ((p2 != 0) && eq(p2, "-a")) ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ test.c:137:20: warning: passing 'char [2]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (eq(nxtarg(0), "!")) ^~~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ test.c:152:12: warning: passing 'char [2]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (eq(a, "(")) ^~~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ test.c:155:22: warning: passing 'char [2]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (!eq(nxtarg(0), ")")) ^~~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ test.c:156:11: warning: passing 'char [5]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed("test",") expected"); ^~~~~~ ./defs.h:214:34: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); ^ test.c:156:18: warning: passing 'char [11]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] failed("test",") expected"); ^~~~~~~~~~~~ ./defs.h:214:57: note: passing argument to parameter here void failed(const unsigned char *, const unsigned char *); ^ test.c:161:28: warning: passing 'char [2]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if ((p2 == 0) || (!eq(p2, "=") && !eq(p2, "!="))) ^~~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ test.c:161:44: warning: passing 'char [3]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if ((p2 == 0) || (!eq(p2, "=") && !eq(p2, "!="))) ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ test.c:163:13: warning: passing 'char [3]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (eq(a, "-r")) ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ test.c:165:13: warning: passing 'char [3]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (eq(a, "-w")) ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ test.c:167:13: warning: passing 'char [3]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (eq(a, "-x")) ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ test.c:177:13: warning: passing 'char [3]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (eq(a, "-d")) ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ test.c:179:13: warning: passing 'char [3]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (eq(a, "-c")) ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ test.c:181:13: warning: passing 'char [3]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (eq(a, "-b")) ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ test.c:183:13: warning: passing 'char [3]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (eq(a, "-f")) ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ test.c:190:4: warning: add explicit braces to avoid dangling else [-Wdangling-else] else ^ test.c:192:13: warning: passing 'char [3]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (eq(a, "-u")) ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ test.c:194:13: warning: passing 'char [3]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (eq(a, "-g")) ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ test.c:196:13: warning: passing 'char [3]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (eq(a, "-k")) ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ test.c:198:13: warning: passing 'char [3]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (eq(a, "-p")) ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ test.c:200:13: warning: passing 'char [3]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (eq(a, "-h") || eq(a, "-L")) ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ test.c:200:28: warning: passing 'char [3]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (eq(a, "-h") || eq(a, "-L")) ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ test.c:202:16: warning: passing 'char [3]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (eq(a, "-s")) ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ test.c:204:13: warning: passing 'char [3]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (eq(a, "-t")) ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ test.c:208:33: warning: passing 'char [3]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (eq((a = nxtarg(0)), "-a") || eq(a, "-o")) ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ test.c:208:48: warning: passing 'char [3]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] else if (eq((a = nxtarg(0)), "-a") || eq(a, "-o")) ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ test.c:216:13: warning: passing 'char [3]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (eq(a, "-n")) ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ test.c:217:26: warning: passing 'char [1]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] return(!eq(nxtarg(0), "")); ^~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ test.c:218:13: warning: passing 'char [3]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (eq(a, "-z")) ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ test.c:219:25: warning: passing 'char [1]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] return(eq(nxtarg(0), "")); ^~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ test.c:224:17: warning: passing 'char [1]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] return(!eq(a, "")); ^~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ test.c:225:13: warning: passing 'char [3]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (eq(p2, "-a") || eq(p2, "-o")) ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ test.c:225:29: warning: passing 'char [3]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (eq(p2, "-a") || eq(p2, "-o")) ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ test.c:228:17: warning: passing 'char [1]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] return(!eq(a, "")); ^~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ test.c:230:13: warning: passing 'char [2]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (eq(p2, "=")) ^~~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ test.c:232:13: warning: passing 'char [3]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (eq(p2, "!=")) ^~~~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ test.c:236:13: warning: passing 'char [4]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (eq(p2, "-eq")) ^~~~~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ test.c:238:13: warning: passing 'char [4]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (eq(p2, "-ne")) ^~~~~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ test.c:240:13: warning: passing 'char [4]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (eq(p2, "-gt")) ^~~~~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ test.c:242:13: warning: passing 'char [4]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (eq(p2, "-lt")) ^~~~~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ test.c:244:13: warning: passing 'char [4]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (eq(p2, "-ge")) ^~~~~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ test.c:246:13: warning: passing 'char [4]' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] if (eq(p2, "-le")) ^~~~~ ./defs.h:414:27: note: expanded from macro 'eq' #define eq(a, b) (cf(a, b) == 0) ^ ./defs.h:387:52: note: passing argument to parameter here int cf(const unsigned char *, const unsigned char *); ^ test.c:249:10: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] bfailed(btest, badop, p2); ^~~~~ test.c:58:42: note: passing argument to parameter here static void bfailed(const unsigned char *, const unsigned char *, ^ test.c:249:17: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] bfailed(btest, badop, p2); ^~~~~ test.c:58:65: note: passing argument to parameter here static void bfailed(const unsigned char *, const unsigned char *, ^ test.c:305:7: warning: passing 'const char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] prs(colon); ^~~~~ ./defs.h:334:31: note: passing argument to parameter here void prs(const unsigned char *); ^ 52 warnings generated. 1 error bmake: stopped in /var/pkgsrc/work/shells/heirloom-sh/work/heirloom-sh-050706 *** Error code 2 Stop. bmake[1]: stopped in /usr/pkgsrc/shells/heirloom-sh *** Error code 1 Stop. bmake: stopped in /usr/pkgsrc/shells/heirloom-sh