=> Bootstrap dependency digest>=20010302: found digest-20160304 ===> Building for mush-7.2.6.b4.pl1nb5 --- main.o --- --- init.o --- --- misc.o --- --- main.o --- clang -O2 -g -fwritable-strings -DCURSES -DBSD -DBSD44 -DSIGRET=void -DBASENAME -c main.c --- init.o --- clang -O2 -g -fwritable-strings -DCURSES -DBSD -DBSD44 -DSIGRET=void -DBASENAME -c init.c --- misc.o --- clang -O2 -g -fwritable-strings -DCURSES -DBSD -DBSD44 -DSIGRET=void -DBASENAME -c misc.c --- main.o --- In file included from main.c:3: --- misc.o --- In file included from misc.c:3: --- main.o --- In file included from ./mush.h:3: --- init.o --- In file included from init.c:4: --- misc.o --- In file included from ./mush.h:3: --- init.o --- In file included from ./mush.h:3: --- main.o --- ./config.h:60:28: warning: '/*' within block comment [-Wcomment] /* #define INTERNAL_MALLOC /**/ --- misc.o --- ./config.h:60:28: warning: '/*' within block comment [-Wcomment] --- main.o --- ^ --- misc.o --- /* #define INTERNAL_MALLOC /**/ --- init.o --- ./config.h:60:28: warning: '/*' within block comment [-Wcomment] --- misc.o --- ^ --- init.o --- /* #define INTERNAL_MALLOC /**/ ^ --- main.o --- ./config.h:72:32: warning: '/*' within block comment [-Wcomment] /* #define TIMEZONE T->tm_zone /**/ --- misc.o --- ./config.h:72:32: warning: '/*' within block comment [-Wcomment] --- main.o --- ^ --- misc.o --- /* #define TIMEZONE T->tm_zone /**/ --- init.o --- ./config.h:72:32: warning: '/*' within block comment [-Wcomment] --- misc.o --- ^ --- init.o --- /* #define TIMEZONE T->tm_zone /**/ ^ --- main.o --- ./config.h:73:16: warning: '/*' within block comment [-Wcomment] /* #define USA /**/ --- misc.o --- ./config.h:73:16: warning: '/*' within block comment [-Wcomment] --- main.o --- ^ --- misc.o --- /* #define USA /**/ --- init.o --- ./config.h:73:16: warning: '/*' within block comment [-Wcomment] --- misc.o --- ^ --- init.o --- /* #define USA /**/ ^ --- main.o --- ./config.h:82:25: warning: '/*' within block comment [-Wcomment] /* #define POP3_SUPPORT /**/ --- misc.o --- ./config.h:82:25: warning: '/*' within block comment [-Wcomment] --- main.o --- ^ --- misc.o --- /* #define POP3_SUPPORT /**/ --- init.o --- ./config.h:82:25: warning: '/*' within block comment [-Wcomment] --- misc.o --- ^ --- init.o --- /* #define POP3_SUPPORT /**/ ^ --- main.o --- ./config.h:90:17: warning: '/*' within block comment [-Wcomment] /* #define MMDF /**/ --- misc.o --- ./config.h:90:17: warning: '/*' within block comment [-Wcomment] --- main.o --- ^ --- init.o --- ./config.h:90:17: warning: '/*' within block comment [-Wcomment] --- misc.o --- /* #define MMDF /**/ --- init.o --- /* #define MMDF /**/ --- misc.o --- ^ --- init.o --- ^ --- main.o --- ./config.h:132:34: warning: '/*' within block comment [-Wcomment] /* #define MSG_SEPARATOR "From " /**/ --- misc.o --- ./config.h:132:34: warning: '/*' within block comment [-Wcomment] --- main.o --- ^ --- init.o --- ./config.h:132:34: warning: '/*' within block comment [-Wcomment] --- misc.o --- /* #define MSG_SEPARATOR "From " /**/ --- init.o --- /* #define MSG_SEPARATOR "From " /**/ --- misc.o --- ^ --- init.o --- ^ --- main.o --- ./config.h:203:25: warning: '/*' within block comment [-Wcomment] /* #define PICKY_MAILER /**/ --- misc.o --- ./config.h:203:25: warning: '/*' within block comment [-Wcomment] --- main.o --- ^ --- init.o --- ./config.h:203:25: warning: '/*' within block comment [-Wcomment] --- misc.o --- /* #define PICKY_MAILER /**/ --- init.o --- /* #define PICKY_MAILER /**/ --- misc.o --- ^ --- init.o --- ^ --- main.o --- ./config.h:216:18: warning: '/*' within block comment [-Wcomment] /* #define GETWD /**/ --- misc.o --- ./config.h:216:18: warning: '/*' within block comment [-Wcomment] --- main.o --- ^ --- init.o --- ./config.h:216:18: warning: '/*' within block comment [-Wcomment] --- misc.o --- /* #define GETWD /**/ --- init.o --- /* #define GETWD /**/ --- misc.o --- ^ --- init.o --- ^ --- main.o --- main.c:25:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] main(argc, argv) ^ --- init.o --- init.c:37:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] --- misc.o --- misc.c:8:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] --- init.o --- if (realname = getenv("NAME")) { --- misc.o --- chk_msg(s) --- init.o --- ~~~~~~~~~^~~~~~~~~~~~~~~~ --- misc.o --- ^ --- main.o --- main.c:133:13: warning: implicit declaration of function 'Fputs' is invalid in C99 [-Wimplicit-function-declaration] (void) fputs(p, stderr), exit(1); ^ --- init.o --- init.c:37:18: note: place parentheses around the assignment to silence this warning --- misc.o --- misc.c:30:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] --- init.o --- if (realname = getenv("NAME")) { --- misc.o --- next_msg() --- init.o --- ^ --- misc.o --- ^ --- init.o --- ( ) --- main.o --- ./mush.h:112:16: note: expanded from macro 'fputs' # define fputs Fputs /* See comments in print.c */ ^ --- misc.o --- misc.c:34:9: warning: '&&' within '||' [-Wlogical-op-parentheses] --- init.o --- init.c:37:18: note: use '==' to turn this assignment into an equality comparison --- misc.o --- istool && !do_set(set_options, "show_deleted"); --- init.o --- if (realname = getenv("NAME")) { --- misc.o --- ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- init.o --- ^ == --- main.o --- main.c:294:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (argv = make_command(buf, TRPL_NULL, &argc)) ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- misc.o --- misc.c:34:9: note: place parentheses around the '&&' expression to silence this warning istool && !do_set(set_options, "show_deleted"); --- init.o --- init.c:60:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] --- misc.o --- ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- init.o --- if (p = getlogin()) ~~^~~~~~~~~~~~ --- main.o --- main.c:294:11: note: place parentheses around the assignment to silence this warning if (argv = make_command(buf, TRPL_NULL, &argc)) ^ --- misc.o --- misc.c:51:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] --- main.o --- ( ) --- misc.o --- print_help(argc, argv) --- init.o --- init.c:60:10: note: place parentheses around the assignment to silence this warning --- misc.o --- ^ --- init.o --- if (p = getlogin()) ^ ( ) --- main.o --- main.c:294:11: note: use '==' to turn this assignment into an equality comparison if (argv = make_command(buf, TRPL_NULL, &argc)) --- misc.o --- misc.c:65:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] --- main.o --- ^ --- misc.o --- help(unused, str, file) --- main.o --- == --- misc.o --- ^ --- init.o --- init.c:60:10: note: use '==' to turn this assignment into an equality comparison if (p = getlogin()) ^ == --- misc.o --- misc.c:109:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] --- main.o --- main.c:342:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] --- misc.o --- while (p = fgets(buf, sizeof buf, fp)) --- main.o --- do_version() --- misc.o --- ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- main.o --- ^ --- init.o --- init.c:71:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (p = index(realname, ',')) ~~^~~~~~~~~~~~~~~~~~~~~~ --- main.o --- 12 warnings generated. --- mail.o --- --- misc.o --- misc.c:109:14: note: place parentheses around the assignment to silence this warning while (p = fgets(buf, sizeof buf, fp)) ^ ( ) misc.c:109:14: note: use '==' to turn this assignment into an equality comparison while (p = fgets(buf, sizeof buf, fp)) ^ == misc.c:134:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] get_msg_list(argv, list) ^ misc.c:197:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] cmd_line(buf, list) ^ misc.c:212:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (argv = make_command(buf, TRPL_NULL, &argc)) ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ misc.c:212:14: note: place parentheses around the assignment to silence this warning if (argv = make_command(buf, TRPL_NULL, &argc)) ^ ( ) --- init.o --- init.c:71:12: note: place parentheses around the assignment to silence this warning if (p = index(realname, ',')) ^ ( ) init.c:71:12: note: use '==' to turn this assignment into an equality comparison if (p = index(realname, ',')) ^ == init.c:122:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ourname = (char **)calloc((unsigned)2, sizeof (char *))) ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ init.c:122:14: note: place parentheses around the assignment to silence this warning if (ourname = (char **)calloc((unsigned)2, sizeof (char *))) ^ ( ) init.c:122:14: note: use '==' to turn this assignment into an equality comparison if (ourname = (char **)calloc((unsigned)2, sizeof (char *))) ^ --- misc.o --- misc.c:212:14: note: use '==' to turn this assignment into an equality comparison if (argv = make_command(buf, TRPL_NULL, &argc)) ^ == misc.c:292:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] msg_flags(c, v, list) ^ --- init.o --- == init.c:132:21: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ourname = (char **)malloc((unsigned)cnt * sizeof (char *))) { ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ init.c:132:21: note: place parentheses around the assignment to silence this warning if (ourname = (char **)malloc((unsigned)cnt * sizeof (char *))) { ^ ( ) init.c:132:21: note: use '==' to turn this assignment into an equality comparison if (ourname = (char **)malloc((unsigned)cnt * sizeof (char *))) { ^ == init.c:191:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] source(argc, argv) ^ init.c:204:37: warning: '&&' within '||' [-Wlogical-op-parentheses] else if ((p = getenv("MUSHRC")) && *p || (p = getenv("MAILRC")) && *p) ~~~~~~~~~~~~~~~~~~~~~~~^~~~~ ~~ init.c:204:37: note: place parentheses around the '&&' expression to silence this warning else if ((p = getenv("MUSHRC")) && *p || (p = getenv("MAILRC")) && *p) ^ ( ) init.c:204:69: warning: '&&' within '||' [-Wlogical-op-parentheses] else if ((p = getenv("MUSHRC")) && *p || (p = getenv("MAILRC")) && *p) ~~ ~~~~~~~~~~~~~~~~~~~~~~~^~~~~ init.c:204:69: note: place parentheses around the '&&' expression to silence this warning else if ((p = getenv("MUSHRC")) && *p || (p = getenv("MAILRC")) && *p) ^ ( ) init.c:214:6: warning: add explicit braces to avoid dangling else [-Wdangling-else] else ^ init.c:232:8: warning: add explicit braces to avoid dangling else [-Wdangling-else] } else { ^ --- mail.o --- clang -O2 -g -fwritable-strings -DCURSES -DBSD -DBSD44 -DSIGRET=void -DBASENAME -c mail.c --- init.o --- init.c:277:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] --- misc.o --- misc.c:418:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] --- init.o --- src_parse(file, fp, if_else, depth, line_no) --- misc.o --- do_pager(buf, start_pager) --- mail.o --- In file included from mail.c:3: --- init.o --- ^ --- misc.o --- ^ --- mail.o --- In file included from ./mush.h:3: --- init.o --- init.c:291:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] --- misc.o --- misc.c:537:9: warning: implicit declaration of function 'Fputs' is invalid in C99 [-Wimplicit-function-declaration] --- init.o --- while (p = fgets(&line[cont_line], BUFSIZ - cont_line - 1, fp)) { --- misc.o --- return fputs(buf, pp); /* returns EOF if user exited pager */ --- init.o --- ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- mail.o --- ./config.h:60:28: warning: '/*' within block comment [-Wcomment] --- misc.o --- ^ --- mail.o --- /* #define INTERNAL_MALLOC /**/ ^ --- init.o --- init.c:291:14: note: place parentheses around the assignment to silence this warning --- misc.o --- ./mush.h:112:16: note: expanded from macro 'fputs' --- init.o --- while (p = fgets(&line[cont_line], BUFSIZ - cont_line - 1, fp)) { --- misc.o --- # define fputs Fputs /* See comments in print.c */ --- init.o --- ^ --- mail.o --- ./config.h:72:32: warning: '/*' within block comment [-Wcomment] --- misc.o --- ^ --- init.o --- ( ) --- mail.o --- /* #define TIMEZONE T->tm_zone /**/ ^ --- misc.o --- misc.c:576:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] --- init.o --- init.c:291:14: note: use '==' to turn this assignment into an equality comparison --- misc.o --- c_more(p) --- init.o --- while (p = fgets(&line[cont_line], BUFSIZ - cont_line - 1, fp)) { --- mail.o --- ./config.h:73:16: warning: '/*' within block comment [-Wcomment] --- misc.o --- ^ --- init.o --- ^ --- mail.o --- /* #define USA /**/ --- init.o --- == --- mail.o --- ^ --- misc.o --- misc.c:590:24: warning: field width should have type 'int', but argument has type 'unsigned long' [-Wformat] (void) printf("\r%*c\r", strlen(p), ' '); /* remove the prompt */ --- init.o --- init.c:293:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] --- mail.o --- ./config.h:82:25: warning: '/*' within block comment [-Wcomment] --- misc.o --- ~~^ ~~~~~~~~~ --- init.o --- if (p2 = index(p, '\n')) --- mail.o --- /* #define POP3_SUPPORT /**/ --- init.o --- ~~~^~~~~~~~~~~~~~~~ --- mail.o --- ^ --- misc.o --- misc.c:653:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (p = alias_to_address(p)) { --- init.o --- init.c:293:9: note: place parentheses around the assignment to silence this warning --- misc.o --- ~~^~~~~~~~~~~~~~~~~~~~~ --- mail.o --- ./config.h:90:17: warning: '/*' within block comment [-Wcomment] --- init.o --- if (p2 = index(p, '\n')) --- mail.o --- /* #define MMDF /**/ --- init.o --- ^ --- mail.o --- ^ --- init.o --- ( ) --- misc.o --- misc.c:653:14: note: place parentheses around the assignment to silence this warning else if (p = alias_to_address(p)) { ^ --- mail.o --- ./config.h:132:34: warning: '/*' within block comment [-Wcomment] --- init.o --- init.c:293:9: note: use '==' to turn this assignment into an equality comparison --- misc.o --- ( ) --- mail.o --- /* #define MSG_SEPARATOR "From " /**/ --- init.o --- if (p2 = index(p, '\n')) --- mail.o --- ^ --- init.o --- ^ == --- misc.o --- misc.c:653:14: note: use '==' to turn this assignment into an equality comparison else if (p = alias_to_address(p)) { --- mail.o --- ./config.h:203:25: warning: '/*' within block comment [-Wcomment] --- misc.o --- ^ --- mail.o --- /* #define PICKY_MAILER /**/ --- init.o --- init.c:294:20: warning: '&&' within '||' [-Wlogical-op-parentheses] --- misc.o --- == --- mail.o --- ^ --- init.o --- while (p2 > p && *p2 == '\n' || isspace(*p2)) ~~~~~~~^~~~~~~~~~~~~~ ~~ --- misc.o --- misc.c:711:14: warning: implicit declaration of function 'Fputs' is invalid in C99 [-Wimplicit-function-declaration] --- mail.o --- ./config.h:216:18: warning: '/*' within block comment [-Wcomment] --- misc.o --- (void) fputs(buf, fp), lines++; --- mail.o --- /* #define GETWD /**/ --- init.o --- init.c:294:20: note: place parentheses around the '&&' expression to silence this warning --- misc.o --- ^ --- mail.o --- ^ --- init.o --- while (p2 > p && *p2 == '\n' || isspace(*p2)) ^ ( ) --- misc.o --- ./mush.h:112:16: note: expanded from macro 'fputs' --- mail.o --- mail.c:30:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] --- misc.o --- # define fputs Fputs /* See comments in print.c */ --- mail.o --- do_mail(n, argv, list) --- misc.o --- ^ --- mail.o --- ^ --- init.o --- init.c:308:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (p = any(line, "\"'#\\")) { ~~^~~~~~~~~~~~~~~~~~~~~ --- misc.o --- misc.c:723:13: warning: implicit declaration of function 'Fputs' is invalid in C99 [-Wimplicit-function-declaration] --- mail.o --- mail.c:213:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] --- misc.o --- (void) fputs("-- \n", fp); --- mail.o --- if (pcc = cc_to(n, buf)) { --- misc.o --- ^ --- mail.o --- ~~~~^~~~~~~~~~~~~~~ --- init.o --- init.c:308:8: note: place parentheses around the assignment to silence this warning if (p = any(line, "\"'#\\")) { ^ ( ) --- misc.o --- ./mush.h:112:16: note: expanded from macro 'fputs' --- mail.o --- mail.c:213:15: note: place parentheses around the assignment to silence this warning --- misc.o --- # define fputs Fputs /* See comments in print.c */ --- mail.o --- if (pcc = cc_to(n, buf)) { --- misc.o --- ^ --- mail.o --- ^ ( ) --- init.o --- init.c:308:8: note: use '==' to turn this assignment into an equality comparison if (p = any(line, "\"'#\\")) { ^ == --- misc.o --- misc.c:736:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (p = do_set(set_options, "fortunates")) { --- mail.o --- mail.c:213:15: note: use '==' to turn this assignment into an equality comparison --- misc.o --- ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- mail.o --- if (pcc = cc_to(n, buf)) { ^ == --- init.o --- init.c:329:25: warning: '&&' within '||' [-Wlogical-op-parentheses] if (!*line || !parsing && !(newargv = mk_argv(line, &argc, 0)) ~~ ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- misc.o --- misc.c:736:8: note: place parentheses around the assignment to silence this warning if (p = do_set(set_options, "fortunates")) { ^ --- mail.o --- mail.c:246:19: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] --- misc.o --- ( ) --- mail.o --- if (in_reply_fmt = do_set(set_options, "in_reply_to")) ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- init.o --- init.c:329:25: note: place parentheses around the '&&' expression to silence this warning if (!*line || !parsing && !(newargv = mk_argv(line, &argc, 0)) ^ ( ) --- misc.o --- misc.c:736:8: note: use '==' to turn this assignment into an equality comparison if (p = do_set(set_options, "fortunates")) { --- mail.o --- mail.c:246:19: note: place parentheses around the assignment to silence this warning --- misc.o --- ^ --- mail.o --- if (in_reply_fmt = do_set(set_options, "in_reply_to")) --- misc.o --- == --- mail.o --- ^ ( ) --- init.o --- init.c:330:13: warning: '&&' within '||' [-Wlogical-op-parentheses] || parsing && !(newargv = make_command(line, TRPL_NULL, &argc))) { ~~ ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- misc.o --- misc.c:760:10: warning: implicit declaration of function 'Fputs' is invalid in C99 [-Wimplicit-function-declaration] (void) fputs(buf, fp), lines++; --- mail.o --- mail.c:246:19: note: use '==' to turn this assignment into an equality comparison --- misc.o --- ^ --- mail.o --- if (in_reply_fmt = do_set(set_options, "in_reply_to")) ^ --- init.o --- init.c:330:13: note: place parentheses around the '&&' expression to silence this warning --- mail.o --- == --- init.o --- || parsing && !(newargv = make_command(line, TRPL_NULL, &argc))) { ^ ( ) --- misc.o --- ./mush.h:112:16: note: expanded from macro 'fputs' # define fputs Fputs /* See comments in print.c */ ^ --- mail.o --- mail.c:251:29: warning: '&&' within '||' [-Wlogical-op-parentheses] if (ison(flgs, FORWARD) && ison(flgs, EDIT) || ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ ~~ --- init.o --- init.c:354:7: warning: add explicit braces to avoid dangling else [-Wdangling-else] else ^ --- misc.o --- misc.c:797:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] check_flags(flags) ^ --- mail.o --- mail.c:251:29: note: place parentheses around the '&&' expression to silence this warning if (ison(flgs, FORWARD) && ison(flgs, EDIT) || ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ --- init.o --- init.c:421:42: warning: '&&' within '||' [-Wlogical-op-parentheses] parsing = !equals ^ (n == -1 || n == 1 && lhs[1] == 'e' || ~~ ~~~~~~~^~~~~~~~~~~~~~~~ --- mail.o --- mail.c:252:30: warning: '&&' within '||' [-Wlogical-op-parentheses] lower(firstchar) == 'r' && isoff(flgs, NEW_SUBJECT)) { ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ --- init.o --- init.c:421:42: note: place parentheses around the '&&' expression to silence this warning parsing = !equals ^ (n == -1 || n == 1 && lhs[1] == 'e' || ^ ( ) --- mail.o --- mail.c:252:30: note: place parentheses around the '&&' expression to silence this warning lower(firstchar) == 'r' && isoff(flgs, NEW_SUBJECT)) { ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ --- init.o --- init.c:422:27: warning: '&&' within '||' [-Wlogical-op-parentheses] !stat(path, &statb) && (lhs[1] == 'e' || !statb.st_size)); ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- mail.o --- mail.c:256:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (subj = subject_to(current_msg, buf)) ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- init.o --- init.c:422:27: note: place parentheses around the '&&' expression to silence this warning !stat(path, &statb) && (lhs[1] == 'e' || !statb.st_size)); ^ ( ) --- mail.o --- mail.c:256:16: note: place parentheses around the assignment to silence this warning else if (subj = subject_to(current_msg, buf)) ^ ( ) --- init.o --- init.c:455:37: warning: '&&' within '||' [-Wlogical-op-parentheses] else if (!strcmp(lhs, "redirect") && (!isatty(0) != !equals) ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ --- mail.o --- mail.c:256:16: note: use '==' to turn this assignment into an equality comparison else if (subj = subject_to(current_msg, buf)) ^ == --- init.o --- init.c:455:37: note: place parentheses around the '&&' expression to silence this warning else if (!strcmp(lhs, "redirect") && (!isatty(0) != !equals) ^ ( ) --- mail.o --- mail.c:288:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] mail_someone(to, subject, cc, bcc, flgs, list) ^ --- init.o --- init.c:458:35: warning: '&&' within '||' [-Wlogical-op-parentheses] || !strcmp(lhs, "is_shell") && (!is_shell == !equals) ~~ ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ --- mail.o --- mail.c:331:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (p = set_header("To: ", to, !*to)) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- init.o --- init.c:458:35: note: place parentheses around the '&&' expression to silence this warning || !strcmp(lhs, "is_shell") && (!is_shell == !equals) ^ ( ) --- mail.o --- mail.c:331:8: note: place parentheses around the assignment to silence this warning if (p = set_header("To: ", to, !*to)) { ^ ( ) --- init.o --- init.c:460:36: warning: '&&' within '||' [-Wlogical-op-parentheses] (ison(glob_flags, IS_SENDING) && equals || ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~ ~~ --- mail.o --- mail.c:331:8: note: use '==' to turn this assignment into an equality comparison if (p = set_header("To: ", to, !*to)) { ^ == --- init.o --- init.c:460:36: note: place parentheses around the '&&' expression to silence this warning (ison(glob_flags, IS_SENDING) && equals || ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~ --- mail.o --- mail.c:345:36: warning: '&&' within '||' [-Wlogical-op-parentheses] if (*Cc || ison(flags, EDIT_HDRS) && do_set(set_options, "askcc")) { ~~ ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- init.o --- init.c:461:37: warning: '&&' within '||' [-Wlogical-op-parentheses] isoff(glob_flags, IS_SENDING) && !equals) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ --- mail.o --- mail.c:345:36: note: place parentheses around the '&&' expression to silence this warning if (*Cc || ison(flags, EDIT_HDRS) && do_set(set_options, "askcc")) { ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- init.o --- init.c:461:37: note: place parentheses around the '&&' expression to silence this warning isoff(glob_flags, IS_SENDING) && !equals) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ --- mail.o --- mail.c:381:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] start_file(list) ^ --- init.o --- init.c:459:37: warning: '&&' within '||' [-Wlogical-op-parentheses] || !strcmp(lhs, "is_sending") && ~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ --- mail.o --- mail.c:407:16: warning: '&&' within '||' [-Wlogical-op-parentheses] if (istool && isoff(flags, SEND_NOW) || ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ ~~ --- init.o --- init.c:459:37: note: place parentheses around the '&&' expression to silence this warning || !strcmp(lhs, "is_sending") && ^ ( --- mail.o --- mail.c:407:16: note: place parentheses around the '&&' expression to silence this warning if (istool && isoff(flags, SEND_NOW) || ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ --- init.o --- init.c:463:17: warning: '&&' within '||' [-Wlogical-op-parentheses] (hdrs_only && equals || !hdrs_only && !equals) ~~~~~~~~~~^~~~~~~~~ ~~ --- mail.o --- mail.c:585:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] add_to_letter(line) ^ --- init.o --- init.c:463:17: note: place parentheses around the '&&' expression to silence this warning (hdrs_only && equals || !hdrs_only && !equals) ^ ( ) --- mail.o --- mail.c:598:9: warning: implicit declaration of function 'Fputs' is invalid in C99 [-Wimplicit-function-declaration] (void) fputs(line, ed_fp); ^ --- init.o --- init.c:463:41: warning: '&&' within '||' [-Wlogical-op-parentheses] (hdrs_only && equals || !hdrs_only && !equals) ~~ ~~~~~~~~~~~^~~~~~~~~~ --- mail.o --- ./mush.h:112:16: note: expanded from macro 'fputs' # define fputs Fputs /* See comments in print.c */ ^ --- init.o --- init.c:463:41: note: place parentheses around the '&&' expression to silence this warning (hdrs_only && equals || !hdrs_only && !equals) ^ ( ) --- mail.o --- mail.c:618:11: warning: '&&' within '||' [-Wlogical-op-parentheses] if (*p && p[1] || (p = do_set(set_options, "visual"))) ~~~^~~~~~~ ~~ --- init.o --- init.c:462:36: warning: '&&' within '||' [-Wlogical-op-parentheses] || !strcmp(lhs, "hdrs_only") && ~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ init.c:462:36: note: place parentheses around the '&&' expression to silence this warning || !strcmp(lhs, "hdrs_only") && ^ ( init.c:465:14: warning: '&&' within '||' [-Wlogical-op-parentheses] (istool && equals || !istool && !equals) ~~~~~~~^~~~~~~~~ ~~ init.c:465:14: note: place parentheses around the '&&' expression to silence this warning (istool && equals || !istool && !equals) ~~~~~~~^~~~~~~~~ init.c:464:33: warning: '&&' within '||' [-Wlogical-op-parentheses] || !strcmp(lhs, "istool") && ~~ ~~~~~~~~~~~~~~~~~~~~~~~^~ init.c:464:33: note: place parentheses around the '&&' expression to silence this warning || !strcmp(lhs, "istool") && ^ ( init.c:467:50: warning: '&&' within '||' [-Wlogical-op-parentheses] ((iscurses || ison(glob_flags, PRE_CURSES)) && equals ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~ init.c:467:50: note: place parentheses around the '&&' expression to silence this warning ((iscurses || ison(glob_flags, PRE_CURSES)) && equals ^ ( ) init.c:466:35: warning: '&&' within '||' [-Wlogical-op-parentheses] || !strcmp(lhs, "iscurses") && ~~ ~~~~~~~~~~~~~~~~~~~~~~~~~^~ init.c:466:35: note: place parentheses around the '&&' expression to silence this warning || !strcmp(lhs, "iscurses") && ^ ( --- mail.o --- mail.c:618:11: note: place parentheses around the '&&' expression to silence this warning if (*p && p[1] || (p = do_set(set_options, "visual"))) ^ ( ) mail.c:661:8: warning: implicit declaration of function 'Fputs' is invalid in C99 [-Wimplicit-function-declaration] if (fputs(buf, pipe_fp) == EOF) { ^ ./mush.h:112:16: note: expanded from macro 'fputs' # define fputs Fputs /* See comments in print.c */ ^ mail.c:798:3: warning: add explicit braces to avoid dangling else [-Wdangling-else] else ^ mail.c:808:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (p = set_header("Subject: ", Subject, 1)) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:808:12: note: place parentheses around the assignment to silence this warning if (p = set_header("Subject: ", Subject, 1)) ^ ( ) mail.c:808:12: note: use '==' to turn this assignment into an equality comparison if (p = set_header("Subject: ", Subject, 1)) ^ == mail.c:811:3: warning: add explicit braces to avoid dangling else [-Wdangling-else] else ^ mail.c:813:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (p = set_header("Cc: ", Cc, 1)) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:813:12: note: place parentheses around the assignment to silence this warning if (p = set_header("Cc: ", Cc, 1)) ^ ( ) mail.c:813:12: note: use '==' to turn this assignment into an equality comparison if (p = set_header("Cc: ", Cc, 1)) ^ == mail.c:816:3: warning: add explicit braces to avoid dangling else [-Wdangling-else] else { ^ mail.c:820:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (p = set_header("Bcc: ", Bcc, 1)) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:820:12: note: place parentheses around the assignment to silence this warning if (p = set_header("Bcc: ", Bcc, 1)) ^ ( ) mail.c:820:12: note: use '==' to turn this assignment into an equality comparison if (p = set_header("Bcc: ", Bcc, 1)) ^ == mail.c:823:3: warning: add explicit braces to avoid dangling else [-Wdangling-else] else { ^ mail.c:886:13: warning: implicit declaration of function 'Fputs' is invalid in C99 [-Wimplicit-function-declaration] (void) fputs(p, ed_fp); /* don't add \n. padding may be necessary */ ^ ./mush.h:112:16: note: expanded from macro 'fputs' # define fputs Fputs /* See comments in print.c */ ^ mail.c:936:10: warning: implicit declaration of function 'Fputs' is invalid in C99 [-Wimplicit-function-declaration] (void) fputs(&line[1], ed_fp); ^ ./mush.h:112:16: note: expanded from macro 'fputs' # define fputs Fputs /* See comments in print.c */ ^ mail.c:998:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (p = set_header("Cc: ", Cc, 1)) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:998:9: note: place parentheses around the assignment to silence this warning if (p = set_header("Cc: ", Cc, 1)) ^ ( ) mail.c:998:9: note: use '==' to turn this assignment into an equality comparison if (p = set_header("Cc: ", Cc, 1)) ^ == --- misc.o --- 28 warnings generated. --- mail.o --- mail.c:1096:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (p = read_header_field(msg_cnt, "to")) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:1096:8: note: place parentheses around the assignment to silence this warning if (p = read_header_field(msg_cnt, "to")) { ^ ( ) mail.c:1096:8: note: use '==' to turn this assignment into an equality comparison if (p = read_header_field(msg_cnt, "to")) { ^ == mail.c:1099:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (p = read_header_field(msg_cnt, "cc")) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:1099:12: note: place parentheses around the assignment to silence this warning if (p = read_header_field(msg_cnt, "cc")) ^ ( ) mail.c:1099:12: note: use '==' to turn this assignment into an equality comparison if (p = read_header_field(msg_cnt, "cc")) ^ == mail.c:1101:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (p = read_header_field(msg_cnt, "bcc")) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:1101:12: note: place parentheses around the assignment to silence this warning if (p = read_header_field(msg_cnt, "bcc")) ^ ( ) mail.c:1101:12: note: use '==' to turn this assignment into an equality comparison if (p = read_header_field(msg_cnt, "bcc")) ^ == mail.c:1103:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (p = read_header_field(msg_cnt, "fcc")) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:1103:12: note: place parentheses around the assignment to silence this warning if (p = read_header_field(msg_cnt, "fcc")) ^ ( ) mail.c:1103:12: note: use '==' to turn this assignment into an equality comparison --- hdrs.o --- --- init.o --- 40 warnings generated. --- mail.o --- if (p = read_header_field(msg_cnt, "fcc")) ^ == mail.c:1204:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (p = alias_to_address(Bcc)) ~~^~~~~~~~~~~~~~~~~~~~~~~ mail.c:1204:8: note: place parentheses around the assignment to silence this warning if (p = alias_to_address(Bcc)) ^ ( ) mail.c:1204:8: note: use '==' to turn this assignment into an equality comparison if (p = alias_to_address(Bcc)) ^ == mail.c:1346:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (p = do_set(set_options, "logfile")) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:1346:11: note: place parentheses around the assignment to silence this warning if (p = do_set(set_options, "logfile")) { ^ ( ) --- execute.o --- --- mail.o --- mail.c:1346:11: note: use '==' to turn this assignment into an equality comparison if (p = do_set(set_options, "logfile")) { ^ == mail.c:1362:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (p = do_set(set_options, "record")) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:1362:11: note: place parentheses around the assignment to silence this warning if (p = do_set(set_options, "record")) { ^ ( ) mail.c:1362:11: note: use '==' to turn this assignment into an equality comparison if (p = do_set(set_options, "record")) { ^ == --- hdrs.o --- clang -O2 -g -fwritable-strings -DCURSES -DBSD -DBSD44 -DSIGRET=void -DBASENAME -c hdrs.c --- execute.o --- clang -O2 -g -fwritable-strings -DCURSES -DBSD -DBSD44 -DSIGRET=void -DBASENAME -c execute.c --- mail.o --- mail.c:1428:10: warning: implicit declaration of function 'Fputs' is invalid in C99 [-Wimplicit-function-declaration] if (fputs(buf, files[size]) == EOF) { --- execute.o --- In file included from execute.c:3: --- hdrs.o --- In file included from hdrs.c:15: --- mail.o --- ^ --- execute.o --- In file included from ./mush.h:3: --- hdrs.o --- In file included from ./mush.h:3: --- mail.o --- ./mush.h:112:16: note: expanded from macro 'fputs' # define fputs Fputs /* See comments in print.c */ --- execute.o --- ./config.h:60:28: warning: '/*' within block comment [-Wcomment] --- mail.o --- ^ --- hdrs.o --- ./config.h:60:28: warning: '/*' within block comment [-Wcomment] --- execute.o --- /* #define INTERNAL_MALLOC /**/ --- hdrs.o --- /* #define INTERNAL_MALLOC /**/ --- execute.o --- ^ --- hdrs.o --- ^ --- mail.o --- mail.c:1581:10: warning: implicit declaration of function 'Fputs' is invalid in C99 [-Wimplicit-function-declaration] (void) fputs(own_from, files[i]); --- execute.o --- ./config.h:72:32: warning: '/*' within block comment [-Wcomment] --- mail.o --- ^ --- hdrs.o --- ./config.h:72:32: warning: '/*' within block comment [-Wcomment] --- execute.o --- /* #define TIMEZONE T->tm_zone /**/ --- hdrs.o --- /* #define TIMEZONE T->tm_zone /**/ --- execute.o --- ^ --- hdrs.o --- ^ --- mail.o --- ./mush.h:112:16: note: expanded from macro 'fputs' # define fputs Fputs /* See comments in print.c */ --- execute.o --- ./config.h:73:16: warning: '/*' within block comment [-Wcomment] --- mail.o --- ^ --- hdrs.o --- ./config.h:73:16: warning: '/*' within block comment [-Wcomment] --- execute.o --- /* #define USA /**/ --- hdrs.o --- /* #define USA /**/ --- execute.o --- ^ --- hdrs.o --- ^ --- mail.o --- mail.c:1728:11: warning: implicit declaration of function 'Fputs' is invalid in C99 [-Wimplicit-function-declaration] (void) fputs(buf, files[i]); --- execute.o --- ./config.h:82:25: warning: '/*' within block comment [-Wcomment] --- mail.o --- ^ --- hdrs.o --- ./config.h:82:25: warning: '/*' within block comment [-Wcomment] --- execute.o --- /* #define POP3_SUPPORT /**/ --- hdrs.o --- /* #define POP3_SUPPORT /**/ --- execute.o --- ^ --- hdrs.o --- ^ --- mail.o --- ./mush.h:112:16: note: expanded from macro 'fputs' # define fputs Fputs /* See comments in print.c */ --- execute.o --- ./config.h:90:17: warning: '/*' within block comment [-Wcomment] --- mail.o --- ^ --- hdrs.o --- ./config.h:90:17: warning: '/*' within block comment [-Wcomment] --- execute.o --- /* #define MMDF /**/ --- hdrs.o --- /* #define MMDF /**/ --- execute.o --- ^ --- hdrs.o --- ^ --- mail.o --- mail.c:1745:13: warning: implicit declaration of function 'Fputs' is invalid in C99 [-Wimplicit-function-declaration] (void) fputs(From_buf, files[i]); --- execute.o --- ./config.h:132:34: warning: '/*' within block comment [-Wcomment] --- mail.o --- ^ --- hdrs.o --- ./config.h:132:34: warning: '/*' within block comment [-Wcomment] --- execute.o --- /* #define MSG_SEPARATOR "From " /**/ --- hdrs.o --- /* #define MSG_SEPARATOR "From " /**/ --- execute.o --- ^ --- hdrs.o --- ^ --- mail.o --- ./mush.h:112:16: note: expanded from macro 'fputs' # define fputs Fputs /* See comments in print.c */ --- execute.o --- ./config.h:203:25: warning: '/*' within block comment [-Wcomment] --- mail.o --- ^ --- hdrs.o --- ./config.h:203:25: warning: '/*' within block comment [-Wcomment] --- execute.o --- /* #define PICKY_MAILER /**/ --- hdrs.o --- /* #define PICKY_MAILER /**/ --- execute.o --- ^ --- hdrs.o --- ^ --- mail.o --- mail.c:1759:31: warning: '&&' within '||' [-Wlogical-op-parentheses] (*Subject || for_editor && (do_set(set_options, "ask") || --- execute.o --- ./config.h:216:18: warning: '/*' within block comment [-Wcomment] --- mail.o --- ~~ ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- hdrs.o --- ./config.h:216:18: warning: '/*' within block comment [-Wcomment] --- execute.o --- /* #define GETWD /**/ --- hdrs.o --- /* #define GETWD /**/ --- execute.o --- ^ --- hdrs.o --- ^ --- mail.o --- mail.c:1759:31: note: place parentheses around the '&&' expression to silence this warning (*Subject || for_editor && (do_set(set_options, "ask") || --- execute.o --- 8 warnings generated. --- mail.o --- ^ --- commands.o --- --- mail.o --- ( mail.c:1764:24: warning: '&&' within '||' [-Wlogical-op-parentheses] if (*Cc || for_editor && do_set(set_options, "askcc")) ~~ ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mail.c:1764:24: note: place parentheses around the '&&' expression to silence this warning if (*Cc || for_editor && do_set(set_options, "askcc")) ^ ( ) mail.c:1781:10: warning: implicit declaration of function 'Fputs' is invalid in C99 [-Wimplicit-function-declaration] (void) fputs(buf, files[i]); ^ ./mush.h:112:16: note: expanded from macro 'fputs' # define fputs Fputs /* See comments in print.c */ ^ mail.c:1830:31: warning: '&&' within '||' [-Wlogical-op-parentheses] if (sig == -1 || sig != 0 && !do_set(set_options, "nosave")) ~~ ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- hdrs.o --- hdrs.c:124:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] do_hdrs(argc, argv, list) ^ hdrs.c:163:48: warning: '&&' within '||' [-Wlogical-op-parentheses] if (argc && (argv[0][1] == '-' || argc > 1 && !strcmp(argv[1], "-"))) { ~~ ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ hdrs.c:163:48: note: place parentheses around the '&&' expression to silence this warning if (argc && (argv[0][1] == '-' || argc > 1 && !strcmp(argv[1], "-"))) { ^ ( ) hdrs.c:167:15: warning: '&&' within '||' [-Wlogical-op-parentheses] argc > 1 && !strcmp(argv[1], "+")) || ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ hdrs.c:167:15: note: place parentheses around the '&&' expression to silence this warning argc > 1 && !strcmp(argv[1], "+")) || ^ ( ) --- mail.o --- mail.c:1830:31: note: place parentheses around the '&&' expression to silence this warning if (sig == -1 || sig != 0 && !do_set(set_options, "nosave")) ^ ( ) --- hdrs.o --- hdrs.c:166:21: warning: '&&' within '||' [-Wlogical-op-parentheses] } else if (argc && (argv[0][1] == '+' || ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ hdrs.c:166:21: note: place parentheses around the '&&' expression to silence this warning } else if (argc && (argv[0][1] == '+' || ^ ( hdrs.c:168:24: warning: '&&' within '||' [-Wlogical-op-parentheses] first_char == 'z' && !argv[1]) { ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ hdrs.c:168:24: note: place parentheses around the '&&' expression to silence this warning first_char == 'z' && !argv[1]) { ^ ( ) hdrs.c:173:32: warning: '&&' within '||' [-Wlogical-op-parentheses] } else if (argc && *++argv && ~~~~~~~~~~~~~~~~^~ hdrs.c:173:32: note: place parentheses around the '&&' expression to silence this warning } else if (argc && *++argv && ^ ( hdrs.c:176:32: warning: '&&' within '||' [-Wlogical-op-parentheses] ison(glob_flags, IS_PIPE) && list) { ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ hdrs.c:176:32: note: place parentheses around the '&&' expression to silence this warning ison(glob_flags, IS_PIPE) && list) { ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ hdrs.c:197:38: warning: '&&' within '||' [-Wlogical-op-parentheses] (iscurses || oldscrn != screen) && ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ hdrs.c:197:38: note: place parentheses around the '&&' expression to silence this warning (iscurses || oldscrn != screen) && ^ ( hdrs.c:312:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] specl_hdrs(argv, list) ^ hdrs.c:343:39: warning: '&&' within '||' [-Wlogical-op-parentheses] if (special == ALL || special == NEW && ~~ ~~~~~~~~~~~~~~~^~ hdrs.c:343:39: note: place parentheses around the '&&' expression to silence this warning if (special == ALL || special == NEW && ^ ( hdrs.c:430:41: warning: '&&' within '||' [-Wlogical-op-parentheses] if ((p = header_field(cnt, "from")) && strcpy(from, p) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ hdrs.c:430:41: note: place parentheses around the '&&' expression to silence this warning if ((p = header_field(cnt, "from")) && strcpy(from, p) ^ ( ) hdrs.c:468:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (p = header_field(cnt, "subject")) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ hdrs.c:468:11: note: place parentheses around the assignment to silence this warning if (p = header_field(cnt, "subject")) ^ ( ) hdrs.c:468:11: note: use '==' to turn this assignment into an equality comparison if (p = header_field(cnt, "subject")) ^ == hdrs.c:514:39: warning: '&&' within '||' [-Wlogical-op-parentheses] while (isdigit(*++p) || !got_dot && *p == '.') { ~~ ~~~~~~~~~^~~~~~~~~~~~ hdrs.c:514:39: note: place parentheses around the '&&' expression to silence this warning while (isdigit(*++p) || !got_dot && *p == '.') { ^ ( ) hdrs.c:541:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (p2 = rindex(user, '!')) ~~~^~~~~~~~~~~~~~~~~~~ hdrs.c:541:14: note: place parentheses around the assignment to silence this warning if (p2 = rindex(user, '!')) ^ ( ) hdrs.c:541:14: note: use '==' to turn this assignment into an equality comparison if (p2 = rindex(user, '!')) ^ == hdrs.c:589:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (p3 = index(p2, '!')) { --- commands.o --- clang -O2 -g -fwritable-strings -DCURSES -DBSD -DBSD44 -DSIGRET=void -DBASENAME -c commands.c --- hdrs.o --- ~~~^~~~~~~~~~~~~~~~ --- mail.o --- mail.c:1911:9: warning: implicit declaration of function 'Fputs' is invalid in C99 [-Wimplicit-function-declaration] (void) fputs(buf, dead); ^ --- hdrs.o --- hdrs.c:589:13: note: place parentheses around the assignment to silence this warning --- commands.o --- In file included from commands.c:3: --- hdrs.o --- while (p3 = index(p2, '!')) { ^ --- commands.o --- In file included from ./mush.h:3: --- hdrs.o --- ( ) --- mail.o --- ./mush.h:112:16: note: expanded from macro 'fputs' # define fputs Fputs /* See comments in print.c */ ^ --- commands.o --- ./config.h:60:28: warning: '/*' within block comment [-Wcomment] --- hdrs.o --- hdrs.c:589:13: note: use '==' to turn this assignment into an equality comparison --- commands.o --- /* #define INTERNAL_MALLOC /**/ --- hdrs.o --- while (p3 = index(p2, '!')) { --- commands.o --- ^ --- hdrs.o --- ^ == --- commands.o --- ./config.h:72:32: warning: '/*' within block comment [-Wcomment] /* #define TIMEZONE T->tm_zone /**/ --- hdrs.o --- hdrs.c:657:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] --- commands.o --- ^ --- hdrs.o --- if (field = do_set(set_options, "reply_to_hdr")) { ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- commands.o --- ./config.h:73:16: warning: '/*' within block comment [-Wcomment] /* #define USA /**/ --- hdrs.o --- hdrs.c:657:15: note: place parentheses around the assignment to silence this warning --- commands.o --- ^ --- hdrs.o --- if (field = do_set(set_options, "reply_to_hdr")) { ^ ( ) --- commands.o --- ./config.h:82:25: warning: '/*' within block comment [-Wcomment] /* #define POP3_SUPPORT /**/ ^ --- hdrs.o --- hdrs.c:657:15: note: use '==' to turn this assignment into an equality comparison if (field = do_set(set_options, "reply_to_hdr")) { ^ == --- commands.o --- ./config.h:90:17: warning: '/*' within block comment [-Wcomment] /* #define MMDF /**/ ^ --- hdrs.o --- hdrs.c:664:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (p2 = any(field, " \t,:")) ~~~^~~~~~~~~~~~~~~~~~~~~ --- commands.o --- ./config.h:132:34: warning: '/*' within block comment [-Wcomment] /* #define MSG_SEPARATOR "From " /**/ ^ --- hdrs.o --- hdrs.c:664:13: note: place parentheses around the assignment to silence this warning if (p2 = any(field, " \t,:")) ^ ( ) --- commands.o --- ./config.h:203:25: warning: '/*' within block comment [-Wcomment] /* #define PICKY_MAILER /**/ ^ --- hdrs.o --- hdrs.c:664:13: note: use '==' to turn this assignment into an equality comparison if (p2 = any(field, " \t,:")) ^ == --- commands.o --- ./config.h:216:18: warning: '/*' within block comment [-Wcomment] /* #define GETWD /**/ ^ --- hdrs.o --- hdrs.c:690:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (p2 = msg_get(n, line, sizeof line)) ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- commands.o --- commands.c:5:8: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] static toggle_debug(), preserve(), respond(); ~~~~~~ ^ --- hdrs.o --- hdrs.c:690:9: note: place parentheses around the assignment to silence this warning if (p2 = msg_get(n, line, sizeof line)) ^ --- commands.o --- commands.c:5:24: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] --- hdrs.o --- ( ) --- commands.o --- static toggle_debug(), preserve(), respond(); ~~~~~~ ^ --- hdrs.o --- hdrs.c:690:9: note: use '==' to turn this assignment into an equality comparison if (p2 = msg_get(n, line, sizeof line)) --- commands.o --- commands.c:5:36: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] --- hdrs.o --- ^ --- commands.o --- static toggle_debug(), preserve(), respond(); --- hdrs.o --- == --- commands.o --- ~~~~~~ ^ --- hdrs.o --- hdrs.c:696:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] --- commands.o --- commands.c:87:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] --- hdrs.o --- for (p2 = p; p2 = any(p2, "\" "); p2++) { --- commands.o --- toggle_debug(argc, argv) --- hdrs.o --- ~~~^~~~~~~~~~~~~~~~ --- commands.o --- ^ --- hdrs.o --- hdrs.c:696:18: note: place parentheses around the assignment to silence this warning --- commands.o --- commands.c:102:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] --- hdrs.o --- for (p2 = p; p2 = any(p2, "\" "); p2++) { --- commands.o --- readmsg(x, argv, list) --- hdrs.o --- ^ --- commands.o --- ^ --- hdrs.o --- ( ) --- commands.o --- commands.c:130:2: warning: add explicit braces to avoid dangling else [-Wdangling-else] --- hdrs.o --- hdrs.c:696:18: note: use '==' to turn this assignment into an equality comparison --- commands.o --- else if (*p == '+') { --- hdrs.o --- for (p2 = p; p2 = any(p2, "\" "); p2++) { --- commands.o --- ^ --- hdrs.o --- ^ == --- commands.o --- commands.c:205:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] preserve(n, argv, list) --- hdrs.o --- hdrs.c:731:41: warning: '&&' within '||' [-Wlogical-op-parentheses] --- commands.o --- ^ --- hdrs.o --- if (!lcase_strncmp(field, "from_", -1) && ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ --- commands.o --- commands.c:223:8: warning: add explicit braces to avoid dangling else [-Wdangling-else] } else { --- hdrs.o --- hdrs.c:731:41: note: place parentheses around the '&&' expression to silence this warning --- commands.o --- ^ --- hdrs.o --- if (!lcase_strncmp(field, "from_", -1) && ^ ( --- commands.o --- commands.c:234:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] lpr(n, argv, list) ^ --- hdrs.o --- hdrs.c:801:2: warning: add explicit braces to avoid dangling else [-Wdangling-else] else { ^ --- commands.o --- commands.c:265:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (c = argv[0][n++]) ~~^~~~~~~~~~~~~~ commands.c:265:11: note: place parentheses around the assignment to silence this warning while (c = argv[0][n++]) ^ ( ) commands.c:265:11: note: use '==' to turn this assignment into an equality comparison while (c = argv[0][n++]) ^ == commands.c:285:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (cmd = do_set(set_options, "print_cmd")) ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ commands.c:285:13: note: place parentheses around the assignment to silence this warning if (cmd = do_set(set_options, "print_cmd")) ^ ( ) commands.c:285:13: note: use '==' to turn this assignment into an equality comparison if (cmd = do_set(set_options, "print_cmd")) ^ == commands.c:316:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] save_msg(n, argv, list) /* argc isn't used, so use space for variable 'n' */ ^ commands.c:408:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (p = header_field(msg_number, "subject")) { ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ commands.c:408:13: note: place parentheses around the assignment to silence this warning if (p = header_field(msg_number, "subject")) { ^ ( ) commands.c:408:13: note: use '==' to turn this assignment into an equality comparison if (p = header_field(msg_number, "subject")) { ^ == commands.c:422:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (p = rindex(addr, '!')) ~~^~~~~~~~~~~~~~~~~~~ commands.c:422:13: note: place parentheses around the assignment to silence this warning if (p = rindex(addr, '!')) ^ ( ) commands.c:422:13: note: use '==' to turn this assignment into an equality comparison if (p = rindex(addr, '!')) ^ == commands.c:426:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (p2 = any(p, "@%")) ~~~^~~~~~~~~~~~~~ commands.c:426:14: note: place parentheses around the assignment to silence this warning if (p2 = any(p, "@%")) ^ ( ) commands.c:426:14: note: use '==' to turn this assignment into an equality comparison if (p2 = any(p, "@%")) ^ == commands.c:491:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] respond(n, argv, list) ^ commands.c:545:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] cd(x, argv) /* argc, unused -- use space for a non-register variable */ ^ commands.c:577:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (p2 = any(cdpath, " \t:")) ~~~^~~~~~~~~~~~~~~~~~~~~ commands.c:577:10: note: place parentheses around the assignment to silence this warning if (p2 = any(cdpath, " \t:")) ^ ( ) commands.c:577:10: note: use '==' to turn this assignment into an equality comparison if (p2 = any(cdpath, " \t:")) ^ == commands.c:580:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (cdpath = p2) /* assign and compare to NULL */ ~~~~~~~^~~~ commands.c:580:14: note: place parentheses around the assignment to silence this warning if (cdpath = p2) /* assign and compare to NULL */ ^ ( ) commands.c:580:14: note: use '==' to turn this assignment into an equality comparison if (cdpath = p2) /* assign and compare to NULL */ ^ == commands.c:600:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] mush_quit(argc, argv) ^ commands.c:628:1: warning: control may reach end of non-void function [-Wreturn-type] } ^ commands.c:630:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] delete(argc, argv, list) ^ commands.c:653:6: warning: add explicit braces to avoid dangling else [-Wdangling-else] else ^ commands.c:673:2: warning: add explicit braces to avoid dangling else [-Wdangling-else] else { ^ commands.c:706:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] do_from(n, argv, list) ^ --- hdrs.o --- 29 warnings generated. --- commands.o --- commands.c:719:4: warning: add explicit braces to avoid dangling else [-Wdangling-else] } else if (!strcmp(*argv, "-")) { ^ commands.c:764:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] sorter(cmd1, cmd2) ^ commands.c:770:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] question_mark(x, argv) ^ --- print.o --- clang -O2 -g -fwritable-strings -DCURSES -DBSD -DBSD44 -DSIGRET=void -DBASENAME -c print.c --- mail.o --- 49 warnings generated. --- print.o --- In file included from print.c:3: In file included from ./mush.h:3: ./config.h:60:28: warning: '/*' within block comment [-Wcomment] /* #define INTERNAL_MALLOC /**/ ^ ./config.h:72:32: warning: '/*' within block comment [-Wcomment] /* #define TIMEZONE T->tm_zone /**/ ^ ./config.h:73:16: warning: '/*' within block comment [-Wcomment] /* #define USA /**/ ^ ./config.h:82:25: warning: '/*' within block comment [-Wcomment] /* #define POP3_SUPPORT /**/ ^ ./config.h:90:17: warning: '/*' within block comment [-Wcomment] /* #define MMDF /**/ ^ ./config.h:132:34: warning: '/*' within block comment [-Wcomment] /* #define MSG_SEPARATOR "From " /**/ ^ ./config.h:203:25: warning: '/*' within block comment [-Wcomment] /* #define PICKY_MAILER /**/ ^ ./config.h:216:18: warning: '/*' within block comment [-Wcomment] /* #define GETWD /**/ ^ --- file.o --- clang -O2 -g -fwritable-strings -DCURSES -DBSD -DBSD44 -DSIGRET=void -DBASENAME -c file.c In file included from file.c:3: In file included from ./mush.h:3: ./config.h:60:28: warning: '/*' within block comment [-Wcomment] /* #define INTERNAL_MALLOC /**/ ^ ./config.h:72:32: warning: '/*' within block comment [-Wcomment] /* #define TIMEZONE T->tm_zone /**/ ^ ./config.h:73:16: warning: '/*' within block comment [-Wcomment] /* #define USA /**/ ^ ./config.h:82:25: warning: '/*' within block comment [-Wcomment] /* #define POP3_SUPPORT /**/ ^ ./config.h:90:17: warning: '/*' within block comment [-Wcomment] /* #define MMDF /**/ ^ ./config.h:132:34: warning: '/*' within block comment [-Wcomment] /* #define MSG_SEPARATOR "From " /**/ ^ ./config.h:203:25: warning: '/*' within block comment [-Wcomment] /* #define PICKY_MAILER /**/ ^ ./config.h:216:18: warning: '/*' within block comment [-Wcomment] /* #define GETWD /**/ ^ --- print.o --- print.c:104:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (p = index(p, '\n')) ~~^~~~~~~~~~~~~~~~ --- file.o --- file.c:42:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (p = index(p2, '/')) ~~^~~~~~~~~~~~~~~~ --- print.o --- print.c:104:11: note: place parentheses around the assignment to silence this warning while (p = index(p, '\n')) ^ --- file.o --- file.c:42:9: note: place parentheses around the assignment to silence this warning --- print.o --- ( ) --- file.o --- if (p = index(p2, '/')) ^ ( ) --- print.o --- print.c:104:11: note: use '==' to turn this assignment into an equality comparison while (p = index(p, '\n')) ^ --- file.o --- file.c:42:9: note: use '==' to turn this assignment into an equality comparison --- print.o --- == --- file.o --- if (p = index(p2, '/')) ^ == --- print.o --- print.c:261:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] Fputs(line, fp) ^ --- file.o --- file.c:160:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] --- commands.o --- 36 warnings generated. --- file.o --- file_to_fp(p, fp, mode) ^ --- print.o --- 10 warnings generated. --- signals.o --- --- file.o --- file.c:184:13: warning: format string is not a string literal (potentially insecure) [-Wformat-security] wprint(file); ^~~~ file.c:184:13: note: treat the string as an argument to avoid this wprint(file); ^ "%s", file.c:200:13: warning: implicit declaration of function 'Fputs' is invalid in C99 [-Wimplicit-function-declaration] (void) fputs(buf, tmp_fp); ^ ./mush.h:112:16: note: expanded from macro 'fputs' # define fputs Fputs /* See comments in print.c */ ^ file.c:203:13: warning: implicit declaration of function 'Fputs' is invalid in C99 [-Wimplicit-function-declaration] (void) fputs(buf, fp); ^ ./mush.h:112:16: note: expanded from macro 'fputs' # define fputs Fputs /* See comments in print.c */ ^ file.c:217:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] emptyfile(fp, fname) ^ file.c:243:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] nopenfiles(argc) ^ file.c:273:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] closefileds (n) ^ file.c:326:8: warning: add explicit braces to avoid dangling else [-Wdangling-else] } else if (lockit) { ^ file.c:336:3: warning: add explicit braces to avoid dangling else [-Wdangling-else] Debug("Successfully opened %s\n", tmp); ^ ./mush.h:370:36: note: expanded from macro 'Debug' #define Debug if (debug == 0) {;} else (void) wprint ^ file.c:348:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] open_list(names, files, size) ^ file.c:392:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] find_files(s, names, size, force) ^ file.c:413:32: warning: '&&' within '||' [-Wlogical-op-parentheses] *file == '|' || *file == '/' && !glob(file, gpat)) { ~~ ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ file.c:413:32: note: place parentheses around the '&&' expression to silence this warning *file == '|' || *file == '/' && !glob(file, gpat)) { ^ ( ) file.c:453:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] Access(file, mode) ^ --- setopts.o --- --- signals.o --- clang -O2 -g -fwritable-strings -DCURSES -DBSD -DBSD44 -DSIGRET=void -DBASENAME -c signals.c --- setopts.o --- clang -O2 -g -fwritable-strings -DCURSES -DBSD -DBSD44 -DSIGRET=void -DBASENAME -c setopts.c --- signals.o --- In file included from signals.c:3: --- setopts.o --- In file included from setopts.c:3: --- signals.o --- In file included from ./mush.h:3: --- setopts.o --- In file included from ./mush.h:3: --- signals.o --- ./config.h:60:28: warning: '/*' within block comment [-Wcomment] --- setopts.o --- ./config.h:60:28: warning: '/*' within block comment [-Wcomment] --- signals.o --- /* #define INTERNAL_MALLOC /**/ --- setopts.o --- /* #define INTERNAL_MALLOC /**/ --- signals.o --- ^ --- setopts.o --- ^ --- signals.o --- ./config.h:72:32: warning: '/*' within block comment [-Wcomment] --- setopts.o --- ./config.h:72:32: warning: '/*' within block comment [-Wcomment] --- signals.o --- /* #define TIMEZONE T->tm_zone /**/ --- setopts.o --- /* #define TIMEZONE T->tm_zone /**/ --- signals.o --- ^ --- setopts.o --- ^ --- signals.o --- ./config.h:73:16: warning: '/*' within block comment [-Wcomment] --- setopts.o --- ./config.h:73:16: warning: '/*' within block comment [-Wcomment] --- signals.o --- /* #define USA /**/ --- setopts.o --- /* #define USA /**/ --- signals.o --- ^ --- setopts.o --- ^ --- signals.o --- ./config.h:82:25: warning: '/*' within block comment [-Wcomment] --- setopts.o --- ./config.h:82:25: warning: '/*' within block comment [-Wcomment] --- signals.o --- /* #define POP3_SUPPORT /**/ --- setopts.o --- /* #define POP3_SUPPORT /**/ --- signals.o --- ^ --- setopts.o --- ^ --- signals.o --- ./config.h:90:17: warning: '/*' within block comment [-Wcomment] --- setopts.o --- ./config.h:90:17: warning: '/*' within block comment [-Wcomment] --- signals.o --- /* #define MMDF /**/ --- setopts.o --- /* #define MMDF /**/ --- signals.o --- ^ --- setopts.o --- ^ --- signals.o --- ./config.h:132:34: warning: '/*' within block comment [-Wcomment] --- setopts.o --- ./config.h:132:34: warning: '/*' within block comment [-Wcomment] --- signals.o --- /* #define MSG_SEPARATOR "From " /**/ --- setopts.o --- /* #define MSG_SEPARATOR "From " /**/ --- signals.o --- ^ --- setopts.o --- ^ --- signals.o --- ./config.h:203:25: warning: '/*' within block comment [-Wcomment] --- setopts.o --- ./config.h:203:25: warning: '/*' within block comment [-Wcomment] --- signals.o --- /* #define PICKY_MAILER /**/ --- setopts.o --- /* #define PICKY_MAILER /**/ --- signals.o --- ^ --- setopts.o --- ^ --- signals.o --- ./config.h:216:18: warning: '/*' within block comment [-Wcomment] --- setopts.o --- ./config.h:216:18: warning: '/*' within block comment [-Wcomment] --- signals.o --- /* #define GETWD /**/ --- setopts.o --- /* #define GETWD /**/ --- signals.o --- ^ --- setopts.o --- ^ --- file.o --- 22 warnings generated. --- msgs.o --- --- setopts.o --- setopts.c:22:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] add_option(list, argv) ^ setopts.c:34:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (value = index(option, '=')) { ~~~~~~^~~~~~~~~~~~~~~~~~~~ setopts.c:34:15: note: place parentheses around the assignment to silence this warning if (value = index(option, '=')) { ^ ( ) setopts.c:34:15: note: use '==' to turn this assignment into an equality comparison if (value = index(option, '=')) { ^ == setopts.c:45:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (value = *++argv) /* "option = value" */ ~~~~~~^~~~~~~~~ setopts.c:45:12: note: place parentheses around the assignment to silence this warning if (value = *++argv) /* "option = value" */ ^ ( ) --- signals.o --- signals.c:47:2: warning: add explicit braces to avoid dangling else [-Wdangling-else] Debug("interrupt() caught: %d\n", sig); ^ ./mush.h:370:36: note: expanded from macro 'Debug' #define Debug if (debug == 0) {;} else (void) wprint ^ signals.c:61:2: warning: add explicit braces to avoid dangling else [-Wdangling-else] Debug("Caught signal: %d\n", sig); ^ ./mush.h:370:36: note: expanded from macro 'Debug' #define Debug if (debug == 0) {;} else (void) wprint ^ signals.c:158:58: warning: '&&' within '||' [-Wlogical-op-parentheses] if (istool || was_stopped || ison(glob_flags, IGN_SIGS) && !iscurses) ~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ signals.c:158:58: note: place parentheses around the '&&' expression to silence this warning if (istool || was_stopped || ison(glob_flags, IGN_SIGS) && !iscurses) --- setopts.o --- setopts.c:45:12: note: use '==' to turn this assignment into an equality comparison if (value = *++argv) /* "option = value" */ ^ == setopts.c:238:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] un_set(list, p) ^ setopts.c:346:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] set(n, argv, list) ^ setopts.c:365:19: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (incurses = iscurses) /* assign and compare to TRUE */ ~~~~~~~~~^~~~~~~~~~ setopts.c:365:19: note: place parentheses around the assignment to silence this warning if (incurses = iscurses) /* assign and compare to TRUE */ ^ ( ) setopts.c:365:19: note: use '==' to turn this assignment into an equality comparison if (incurses = iscurses) /* assign and compare to TRUE */ ^ --- signals.o --- ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ --- setopts.o --- == setopts.c:427:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (newargv[0] = index(argv[0], '=')) ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ setopts.c:427:17: note: place parentheses around the assignment to silence this warning if (newargv[0] = index(argv[0], '=')) ^ ( ) setopts.c:427:17: note: use '==' to turn this assignment into an equality comparison if (newargv[0] = index(argv[0], '=')) ^ == --- msgs.o --- clang -O2 -g -fwritable-strings -DCURSES -DBSD -DBSD44 -DSIGRET=void -DBASENAME -c msgs.c In file included from msgs.c:3: In file included from ./mush.h:3: ./config.h:60:28: warning: '/*' within block comment [-Wcomment] /* #define INTERNAL_MALLOC /**/ ^ ./config.h:72:32: warning: '/*' within block comment [-Wcomment] /* #define TIMEZONE T->tm_zone /**/ ^ ./config.h:73:16: warning: '/*' within block comment [-Wcomment] /* #define USA /**/ ^ ./config.h:82:25: warning: '/*' within block comment [-Wcomment] /* #define POP3_SUPPORT /**/ ^ ./config.h:90:17: warning: '/*' within block comment [-Wcomment] /* #define MMDF /**/ ^ ./config.h:132:34: warning: '/*' within block comment [-Wcomment] /* #define MSG_SEPARATOR "From " /**/ ^ ./config.h:203:25: warning: '/*' within block comment [-Wcomment] /* #define PICKY_MAILER /**/ ^ ./config.h:216:18: warning: '/*' within block comment [-Wcomment] /* #define GETWD /**/ ^ --- signals.o --- signals.c:296:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] --- setopts.o --- setopts.c:465:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] --- signals.o --- get_new_mail(update_size) --- setopts.o --- alts(argc, argv) --- signals.o --- ^ --- setopts.o --- ^ --- msgs.o --- msgs.c:65:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] copy_msg(n, fp, flags, pattern) ^ --- setopts.o --- setopts.c:505:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] --- signals.o --- signals.c:350:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] --- setopts.o --- if (alternates = (char **)calloc((unsigned)argc+1, sizeof(char *))) --- signals.o --- show_new_mail() --- setopts.o --- ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- signals.o --- ^ --- msgs.o --- msgs.c:109:6: warning: implicit declaration of function 'Fputs' is invalid in C99 [-Wimplicit-function-declaration] fputs(format_hdr(n, indent_str, FALSE) + 9, fp); /* magic 9 !! */ ^ --- setopts.o --- setopts.c:505:20: note: place parentheses around the assignment to silence this warning --- signals.o --- signals.c:400:25: warning: '&&' within '||' [-Wlogical-op-parentheses] --- setopts.o --- if (alternates = (char **)calloc((unsigned)argc+1, sizeof(char *))) --- signals.o --- if (!noisy || iscurses && isoff(glob_flags, CNTD_CMD)) --- setopts.o --- ^ --- signals.o --- ~~ ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- msgs.o --- ./mush.h:112:16: note: expanded from macro 'fputs' --- setopts.o --- ( ) --- msgs.o --- # define fputs Fputs /* See comments in print.c */ ^ --- signals.o --- signals.c:400:25: note: place parentheses around the '&&' expression to silence this warning --- setopts.o --- setopts.c:505:20: note: use '==' to turn this assignment into an equality comparison --- signals.o --- if (!noisy || iscurses && isoff(glob_flags, CNTD_CMD)) --- setopts.o --- if (alternates = (char **)calloc((unsigned)argc+1, sizeof(char *))) --- signals.o --- ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- msgs.o --- msgs.c:143:33: warning: '&&' within '||' [-Wlogical-op-parentheses] --- setopts.o --- ^ --- msgs.o --- if (squeeze > 1 || pat_len && pat_seek) --- setopts.o --- == --- msgs.o --- ~~ ~~~~~~~~^~~~~~~~~~~ --- signals.o --- signals.c:429:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] check_new_mail() --- setopts.o --- setopts.c:524:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] --- signals.o --- ^ --- msgs.o --- msgs.c:143:33: note: place parentheses around the '&&' expression to silence this warning --- setopts.o --- save_opts(cnt, argv) --- msgs.o --- if (squeeze > 1 || pat_len && pat_seek) --- setopts.o --- ^ --- msgs.o --- ^ ( ) --- signals.o --- signals.c:445:19: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (ret_value = mail_size()) { --- setopts.o --- setopts.c:629:22: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] --- signals.o --- ~~~~~~~~~~^~~~~~~~~~~~~ --- setopts.o --- for (d = buf; *d = *s; d++, s++) { --- msgs.o --- msgs.c:164:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] --- setopts.o --- ~~~^~~~ --- msgs.o --- if (end_pat = index(pattern, '/')) ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ --- signals.o --- signals.c:445:19: note: place parentheses around the assignment to silence this warning if (ret_value = mail_size()) { --- setopts.o --- setopts.c:629:22: note: place parentheses around the assignment to silence this warning --- signals.o --- ^ --- setopts.o --- for (d = buf; *d = *s; d++, s++) { --- signals.o --- ( ) --- msgs.o --- msgs.c:164:16: note: place parentheses around the assignment to silence this warning --- setopts.o --- ^ --- msgs.o --- if (end_pat = index(pattern, '/')) --- setopts.o --- ( ) --- msgs.o --- ^ ( ) --- signals.o --- signals.c:445:19: note: use '==' to turn this assignment into an equality comparison if (ret_value = mail_size()) { --- setopts.o --- setopts.c:629:22: note: use '==' to turn this assignment into an equality comparison --- signals.o --- ^ --- setopts.o --- for (d = buf; *d = *s; d++, s++) { --- signals.o --- == --- msgs.o --- msgs.c:164:16: note: use '==' to turn this assignment into an equality comparison --- setopts.o --- ^ --- msgs.o --- if (end_pat = index(pattern, '/')) --- setopts.o --- == --- msgs.o --- ^ == --- signals.o --- 16 warnings generated. --- pick.o --- --- setopts.o --- setopts.c:711:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (p = any(opts->value, "\"'")) ~~^~~~~~~~~~~~~~~~~~~~~~~~~ setopts.c:711:17: note: place parentheses around the assignment to silence this warning else if (p = any(opts->value, "\"'")) ^ ( ) setopts.c:711:17: note: use '==' to turn this assignment into an equality comparison else if (p = any(opts->value, "\"'")) ^ == setopts.c:788:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] do_alias(argc, argv) ^ setopts.c:854:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (p = alias_to_address(*argv)) ~~^~~~~~~~~~~~~~~~~~~~~~~~~ setopts.c:854:9: note: place parentheses around the assignment to silence this warning --- msgs.o --- msgs.c:192:14: warning: implicit declaration of function 'Fputs' is invalid in C99 [-Wimplicit-function-declaration] (void) fputs(line, fp); ^ ./mush.h:112:16: note: expanded from macro 'fputs' # define fputs Fputs /* See comments in print.c */ ^ msgs.c:211:14: warning: implicit declaration of function 'Fputs' is invalid in C99 [-Wimplicit-function-declaration] (void) fputs(line, fp); ^ ./mush.h:112:16: note: expanded from macro 'fputs' # define fputs Fputs /* See comments in print.c */ ^ msgs.c:180:6: warning: add explicit braces to avoid dangling else [-Wdangling-else] else if (!on_hdr) { ^ msgs.c:224:5: warning: add explicit braces to avoid dangling else [-Wdangling-else] } else ^ msgs.c:252:14: warning: '&&' within '||' [-Wlogical-op-parentheses] if (!on_hdr && (still_more < msg[n].m_size || line[0] != '\n') || --- setopts.o --- if (p = alias_to_address(*argv)) ^ ( ) setopts.c:854:9: note: use '==' to turn this assignment into an equality comparison if (p = alias_to_address(*argv)) ^ == setopts.c:868:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (p = do_set(*list, *argv)) ~~^~~~~~~~~~~~~~~~~~~~~~ setopts.c:868:8: note: place parentheses around the assignment to silence this warning if (p = do_set(*list, *argv)) ^ ( ) setopts.c:868:8: note: use '==' to turn this assignment into an equality comparison if (p = do_set(*list, *argv)) ^ == --- msgs.o --- ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~ msgs.c:252:14: note: place parentheses around the '&&' expression to silence this warning if (!on_hdr && (still_more < msg[n].m_size || line[0] != '\n') || ^ ( ) msgs.c:257:10: warning: implicit declaration of function 'Fputs' is invalid in C99 [-Wimplicit-function-declaration] (void) fputs(indent_str, fp); ^ ./mush.h:112:16: note: expanded from macro 'fputs' # define fputs Fputs /* See comments in print.c */ ^ --- pick.o --- clang -O2 -g -fwritable-strings -DCURSES -DBSD -DBSD44 -DSIGRET=void -DBASENAME -c pick.c In file included from pick.c:3: In file included from ./mush.h:3: ./config.h:60:28: warning: '/*' within block comment [-Wcomment] /* #define INTERNAL_MALLOC /**/ ^ ./config.h:72:32: warning: '/*' within block comment [-Wcomment] /* #define TIMEZONE T->tm_zone /**/ ^ ./config.h:73:16: warning: '/*' within block comment [-Wcomment] /* #define USA /**/ ^ ./config.h:82:25: warning: '/*' within block comment [-Wcomment] /* #define POP3_SUPPORT /**/ ^ ./config.h:90:17: warning: '/*' within block comment [-Wcomment] /* #define MMDF /**/ ^ ./config.h:132:34: warning: '/*' within block comment [-Wcomment] /* #define MSG_SEPARATOR "From " /**/ ^ ./config.h:203:25: warning: '/*' within block comment [-Wcomment] /* #define PICKY_MAILER /**/ ^ ./config.h:216:18: warning: '/*' within block comment [-Wcomment] /* #define GETWD /**/ ^ --- msgs.o --- msgs.c:281:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] copyback(prompt, final) ^ --- pick.o --- pick.c:5:8: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] static find_pattern(), date1(), ago_date(); ~~~~~~ ^ --- msgs.o --- msgs.c:437:38: warning: '&&' within '||' [-Wlogical-op-parentheses] isoff(msg[i].m_flags, PRESERVE) && isspool ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ --- pick.o --- pick.c:5:24: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] static find_pattern(), date1(), ago_date(); ~~~~~~ ^ --- msgs.o --- msgs.c:437:38: note: place parentheses around the '&&' expression to silence this warning isoff(msg[i].m_flags, PRESERVE) && isspool ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ --- pick.o --- pick.c:5:33: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] static find_pattern(), date1(), ago_date(); ~~~~~~ ^ --- msgs.o --- msgs.c:439:3: warning: '&&' within '||' [-Wlogical-op-parentheses] && delete_it) { ^~~~~~~~~~~~ --- pick.o --- pick.c:23:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] do_pick(n, argv, list) ^ --- msgs.o --- msgs.c:439:3: note: place parentheses around the '&&' expression to silence this warning && delete_it) { ^~~~~~~~~~~~ --- pick.o --- pick.c:55:3: warning: add explicit braces to avoid dangling else [-Wdangling-else] else ^ --- msgs.o --- msgs.c:533:54: warning: incompatible pointer types passing 'long [2]' to parameter of type 'const struct utimbuf *' [-Wincompatible-pointer-types] if (!strcmp(mailfile, spoolfile) && utime(mailfile, times)) ^~~~~ --- pick.o --- pick.c:214:3: warning: add explicit braces to avoid dangling else [-Wdangling-else] else ^ --- msgs.o --- /usr/include/utime.h:50:47: note: passing argument to parameter here int utime(const char *, const struct utimbuf *); ^ --- pick.o --- pick.c:243:3: warning: add explicit braces to avoid dangling else [-Wdangling-else] else ^ --- msgs.o --- msgs.c:572:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] mail_size() ^ --- pick.o --- pick.c:253:12: warning: implicit declaration of function 'find_dups' is invalid in C99 [-Wimplicit-function-declaration] matches = find_dups(head_first? head_cnt : msg_cnt, ^ --- msgs.o --- msgs.c:763:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (p = index(p+1, 'r')) { ~~^~~~~~~~~~~~~~~~~ --- pick.o --- pick.c:291:3: warning: add explicit braces to avoid dangling else [-Wdangling-else] else { ^ --- msgs.o --- msgs.c:763:11: note: place parentheses around the assignment to silence this warning while (p = index(p+1, 'r')) { ^ --- pick.o --- pick.c:318:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] --- msgs.o --- ( ) --- pick.o --- find_dups(cnt, check_list, ret_list) ^ --- msgs.o --- msgs.c:763:11: note: use '==' to turn this assignment into an equality comparison while (p = index(p+1, 'r')) { ^ --- pick.o --- pick.c:397:50: warning: format specifies type 'int' but the argument has type 'size_t' (aka 'unsigned long') [-Wformat] --- msgs.o --- == --- pick.o --- printf("could not find start of message %d\n", mid); ~~ ^~~ %zu --- msgs.o --- msgs.c:795:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] load_folder(file, append, list) ^ --- pick.o --- pick.c:430:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] find_pattern(cnt, p, check_list, ret_list) ^ --- msgs.o --- msgs.c:854:30: warning: '&&' within '||' [-Wlogical-op-parentheses] if ((p = any(p, " \t")) && (p = parse_date(p + 1)) || ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ~~ --- pick.o --- pick.c:515:18: warning: '&&' within '||' [-Wlogical-op-parentheses] if (before && msg_mdy[i%3] < mdy[i%3] ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ --- msgs.o --- msgs.c:854:30: note: place parentheses around the '&&' expression to silence this warning if ((p = any(p, " \t")) && (p = parse_date(p + 1)) || ^ --- pick.o --- pick.c:515:18: note: place parentheses around the '&&' expression to silence this warning --- msgs.o --- ( ) --- pick.o --- if (before && msg_mdy[i%3] < mdy[i%3] ^ ( ) --- msgs.o --- msgs.c:856:50: warning: '&&' within '||' [-Wlogical-op-parentheses] (p = get_name_n_addr(buf + 5, NULL, NULL)) && ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ --- pick.o --- pick.c:516:18: warning: '&&' within '||' [-Wlogical-op-parentheses] || after && msg_mdy[i%3] > mdy[i%3] ~~ ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ --- msgs.o --- msgs.c:856:50: note: place parentheses around the '&&' expression to silence this warning (p = get_name_n_addr(buf + 5, NULL, NULL)) && ^ --- pick.o --- pick.c:516:18: note: place parentheses around the '&&' expression to silence this warning --- msgs.o --- ( --- pick.o --- || after && msg_mdy[i%3] > mdy[i%3] ^ ( ) --- msgs.o --- msgs.c:948:39: warning: implicit declaration of function 'Fputs' is invalid in C99 [-Wimplicit-function-declaration] if (isoff(glob_flags, READ_ONLY) && fputs(buf, tmpf) == -1) { ^ --- pick.o --- pick.c:517:18: warning: '&&' within '||' [-Wlogical-op-parentheses] || i == 4 && (msg_mdy[i%3] == mdy[i%3])) { ~~ ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- msgs.o --- ./mush.h:112:16: note: expanded from macro 'fputs' # define fputs Fputs /* See comments in print.c */ ^ --- pick.o --- pick.c:517:18: note: place parentheses around the '&&' expression to silence this warning || i == 4 && (msg_mdy[i%3] == mdy[i%3])) { ^ ( ) --- msgs.o --- msgs.c:1055:42: warning: implicit declaration of function 'Fputs' is invalid in C99 [-Wimplicit-function-declaration] --- setopts.o --- 23 warnings generated. --- msgs.o --- if (isoff(glob_flags, READ_ONLY) && fputs(buf, tmpf) == -1) { ^ --- pick.o --- pick.c:552:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (p2 = any(p, " \t")) ~~~^~~~~~~~~~~~~~~ --- msgs.o --- ./mush.h:112:16: note: expanded from macro 'fputs' # define fputs Fputs /* See comments in print.c */ ^ --- sort.o --- --- pick.o --- pick.c:552:11: note: place parentheses around the assignment to silence this warning --- sort.o --- clang -O2 -g -fwritable-strings -DCURSES -DBSD -DBSD44 -DSIGRET=void -DBASENAME -c sort.c --- pick.o --- if (p2 = any(p, " \t")) --- sort.o --- In file included from sort.c:3: In file included from ./mush.h:3: ./config.h:60:28: warning: '/*' within block comment [-Wcomment] /* #define INTERNAL_MALLOC /**/ ^ ./config.h:72:32: warning: '/*' within block comment [-Wcomment] /* #define TIMEZONE T->tm_zone /**/ ^ ./config.h:73:16: warning: '/*' within block comment [-Wcomment] /* #define USA /**/ ^ ./config.h:82:25: warning: '/*' within block comment [-Wcomment] /* #define POP3_SUPPORT /**/ ^ ./config.h:90:17: warning: '/*' within block comment [-Wcomment] /* #define MMDF /**/ ^ ./config.h:132:34: warning: '/*' within block comment [-Wcomment] /* #define MSG_SEPARATOR "From " /**/ ^ ./config.h:203:25: warning: '/*' within block comment [-Wcomment] /* #define PICKY_MAILER /**/ ^ ./config.h:216:18: warning: '/*' within block comment [-Wcomment] /* #define GETWD /**/ ^ --- pick.o --- ^ ( ) --- sort.o --- sort.c:5:8: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] static pri_cmp(); --- pick.o --- pick.c:552:11: note: use '==' to turn this assignment into an equality comparison --- sort.o --- ~~~~~~ ^ --- pick.o --- if (p2 = any(p, " \t")) ^ == --- sort.o --- sort.c:130:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] status_cmp(msg1, msg2) ^ --- pick.o --- pick.c:618:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] search(flags) ^ --- sort.o --- sort.c:172:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] author_cmp(msg1, msg2) --- pick.o --- pick.c:654:2: warning: add explicit braces to avoid dangling else [-Wdangling-else] --- sort.o --- ^ --- pick.o --- else ^ --- sort.o --- sort.c:180:47: warning: format specifies type 'int' but the argument has type 'long' [-Wformat] Debug("author: msg %d: %s, msg %d: %s\n", msg1-msg, buf1, msg2-msg, buf2); --- pick.o --- pick.c:767:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] --- sort.o --- ~~ ^~~~~~~~ --- pick.o --- date1(p) --- sort.o --- %ld --- pick.o --- ^ --- sort.o --- sort.c:180:63: warning: format specifies type 'int' but the argument has type 'long' [-Wformat] --- pick.o --- pick.c:804:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] --- sort.o --- Debug("author: msg %d: %s, msg %d: %s\n", msg1-msg, buf1, msg2-msg, buf2); --- pick.o --- if (p = p2) /* set p to p2 and check to see if it's valid */ --- sort.o --- ~~ ^~~~~~~~ --- pick.o --- ~~^~~~ --- sort.o --- %ld --- pick.o --- pick.c:804:12: note: place parentheses around the assignment to silence this warning --- sort.o --- sort.c:190:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] --- pick.o --- if (p = p2) /* set p to p2 and check to see if it's valid */ --- sort.o --- size_cmp(msg1, msg2) --- pick.o --- ^ --- sort.o --- ^ --- pick.o --- ( ) --- sort.o --- sort.c:196:2: warning: format specifies type 'int' but the argument has type 'long' [-Wformat] --- pick.o --- pick.c:804:12: note: use '==' to turn this assignment into an equality comparison --- sort.o --- msg1-msg, msg1->m_size, msg2-msg, msg2->m_size); --- pick.o --- if (p = p2) /* set p to p2 and check to see if it's valid */ --- sort.o --- ^~~~~~~~ --- pick.o --- ^ == --- sort.o --- sort.c:196:26: warning: format specifies type 'int' but the argument has type 'long' [-Wformat] msg1-msg, msg1->m_size, msg2-msg, msg2->m_size); --- pick.o --- pick.c:827:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] --- sort.o --- ^~~~~~~~ --- pick.o --- ago_date(argv) ^ --- sort.o --- sort.c:197:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (retval = (msg1->m_size - msg2->m_size) * order) /* assign and test */ ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sort.c:197:16: note: place parentheses around the assignment to silence this warning if (retval = (msg1->m_size - msg2->m_size) * order) /* assign and test */ ^ ( ) sort.c:197:16: note: use '==' to turn this assignment into an equality comparison if (retval = (msg1->m_size - msg2->m_size) * order) /* assign and test */ ^ == sort.c:207:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] subject_cmp(msg1, msg2) ^ --- msgs.o --- 29 warnings generated. --- sort.o --- sort.c:228:52: warning: format specifies type 'int' but the argument has type 'long' [-Wformat] Debug("subjects: (%d): \"%s\" (%d): \"%s\"\n", msg1-msg, p1, msg2-msg, p2); ~~ ^~~~~~~~ %ld sort.c:228:66: warning: format specifies type 'int' but the argument has type 'long' [-Wformat] Debug("subjects: (%d): \"%s\" (%d): \"%s\"\n", msg1-msg, p1, msg2-msg, p2); ~~ ^~~~~~~~ %ld sort.c:241:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] subj_with_re(msg1, msg2) ^ sort.c:254:2: warning: format specifies type 'int' but the argument has type 'long' [-Wformat] msg1-msg, buf1, msg2-msg, buf2); ^~~~~~~~ sort.c:254:18: warning: format specifies type 'int' but the argument has type 'long' [-Wformat] msg1-msg, buf1, msg2-msg, buf2); ^~~~~~~~ sort.c:266:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] addressee_cmp(msg1, msg2) ^ sort.c:279:2: warning: format specifies type 'int' but the argument has type 'long' [-Wformat] msg1-msg, buf1, msg2-msg, buf2); ^~~~~~~~ sort.c:279:18: warning: format specifies type 'int' but the argument has type 'long' [-Wformat] msg1-msg, buf1, msg2-msg, buf2); ^~~~~~~~ sort.c:288:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] date_cmp(msg1, msg2) ^ sort.c:304:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] pri_cmp(msg1, msg2) ^ --- expr.o --- --- sort.o --- sort.c:320:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] msg_cmp(msg1, msg2) ^ sort.c:329:3: warning: format specifies type 'int' but the argument has type 'long' [-Wformat] msg1-msg, msg2-msg, subsort); ^~~~~~~~ sort.c:329:13: warning: format specifies type 'int' but the argument has type 'long' [-Wformat] msg1-msg, msg2-msg, subsort); ^~~~~~~~ --- expr.o --- clang -O2 -g -fwritable-strings -DCURSES -DBSD -DBSD44 -DSIGRET=void -DBASENAME -c expr.c In file included from expr.c:3: In file included from ./mush.h:3: ./config.h:60:28: warning: '/*' within block comment [-Wcomment] /* #define INTERNAL_MALLOC /**/ ^ ./config.h:72:32: warning: '/*' within block comment [-Wcomment] /* #define TIMEZONE T->tm_zone /**/ ^ ./config.h:73:16: warning: '/*' within block comment [-Wcomment] /* #define USA /**/ ^ ./config.h:82:25: warning: '/*' within block comment [-Wcomment] /* #define POP3_SUPPORT /**/ ^ ./config.h:90:17: warning: '/*' within block comment [-Wcomment] /* #define MMDF /**/ ^ ./config.h:132:34: warning: '/*' within block comment [-Wcomment] /* #define MSG_SEPARATOR "From " /**/ ^ ./config.h:203:25: warning: '/*' within block comment [-Wcomment] /* #define PICKY_MAILER /**/ ^ ./config.h:216:18: warning: '/*' within block comment [-Wcomment] /* #define GETWD /**/ ^ --- sort.o --- 31 warnings generated. --- strings.o --- --- expr.o --- expr.c:92:39: warning: '&&' within '||' [-Wlogical-op-parentheses] || !index(" \t{},.*`$", *(p+1)) && !isdigit(*(p+1))) ~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ expr.c:92:39: note: place parentheses around the '&&' expression to silence this warning || !index(" \t{},.*`$", *(p+1)) && !isdigit(*(p+1))) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ --- strings.o --- clang -O2 -g -fwritable-strings -DCURSES -DBSD -DBSD44 -DSIGRET=void -DBASENAME -c strings.c In file included from strings.c:3: In file included from ./mush.h:3: ./config.h:60:28: warning: '/*' within block comment [-Wcomment] /* #define INTERNAL_MALLOC /**/ ^ ./config.h:72:32: warning: '/*' within block comment [-Wcomment] /* #define TIMEZONE T->tm_zone /**/ ^ ./config.h:73:16: warning: '/*' within block comment [-Wcomment] /* #define USA /**/ ^ ./config.h:82:25: warning: '/*' within block comment [-Wcomment] /* #define POP3_SUPPORT /**/ ^ ./config.h:90:17: warning: '/*' within block comment [-Wcomment] /* #define MMDF /**/ ^ ./config.h:132:34: warning: '/*' within block comment [-Wcomment] /* #define MSG_SEPARATOR "From " /**/ ^ ./config.h:203:25: warning: '/*' within block comment [-Wcomment] /* #define PICKY_MAILER /**/ ^ ./config.h:216:18: warning: '/*' within block comment [-Wcomment] /* #define GETWD /**/ ^ --- expr.o --- 9 warnings generated. --- folders.o --- --- strings.o --- strings.c:37:19: warning: '&&' within '||' [-Wlogical-op-parentheses] while (p2 > p && *--p2 == '\n' || isspace(*p2)) ~~~~~~~^~~~~~~~~~~~~~~~ ~~ strings.c:37:19: note: place parentheses around the '&&' expression to silence this warning while (p2 > p && *--p2 == '\n' || isspace(*p2)) ^ ( ) --- folders.o --- clang -O2 -g -fwritable-strings -DCURSES -DBSD -DBSD44 -DSIGRET=void -DBASENAME -c folders.c --- pick.o --- 29 warnings generated. --- folders.o --- In file included from folders.c:3: In file included from ./mush.h:3: ./config.h:60:28: warning: '/*' within block comment [-Wcomment] /* #define INTERNAL_MALLOC /**/ ^ ./config.h:72:32: warning: '/*' within block comment [-Wcomment] /* #define TIMEZONE T->tm_zone /**/ ^ ./config.h:73:16: warning: '/*' within block comment [-Wcomment] /* #define USA /**/ ^ ./config.h:82:25: warning: '/*' within block comment [-Wcomment] /* #define POP3_SUPPORT /**/ ^ ./config.h:90:17: warning: '/*' within block comment [-Wcomment] /* #define MMDF /**/ ^ ./config.h:132:34: warning: '/*' within block comment [-Wcomment] /* #define MSG_SEPARATOR "From " /**/ ^ ./config.h:203:25: warning: '/*' within block comment [-Wcomment] /* #define PICKY_MAILER /**/ ^ ./config.h:216:18: warning: '/*' within block comment [-Wcomment] /* #define GETWD /**/ ^ --- dates.o --- --- strings.o --- strings.c:193:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] lcase_strncmp(str1, str2, n) ^ strings.c:212:19: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (*dst++ = lower(*src)) ~~~~~~~^~~~~~~~~~~~~ strings.c:212:19: note: place parentheses around the assignment to silence this warning while (*dst++ = lower(*src)) ^ ( ) strings.c:212:19: note: use '==' to turn this assignment into an equality comparison while (*dst++ = lower(*src)) ^ == strings.c:218:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] Strcpy(dst, src) ^ strings.c:224:19: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (*dst++ = *src++) ~~~~~~~^~~~~~~~ strings.c:224:19: note: place parentheses around the assignment to silence this warning while (*dst++ = *src++) ^ ( ) strings.c:224:19: note: use '==' to turn this assignment into an equality comparison while (*dst++ = *src++) ^ == strings.c:434:43: warning: '&&' within '||' [-Wlogical-op-parentheses] else if (isalpha(*t) || *t > '\132' && *t < '\140') ~~ ~~~~~~~~~~~~^~~~~~~~~~~~~~ --- dates.o --- clang -O2 -g -fwritable-strings -DCURSES -DBSD -DBSD44 -DSIGRET=void -DBASENAME -c dates.c --- folders.o --- folders.c:20:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] folder(argc, argv, list) ^ --- dates.o --- In file included from dates.c:3: In file included from ./mush.h:3: --- folders.o --- folders.c:35:17: warning: address of array 'tempfile' will always evaluate to 'true' [-Wpointer-bool-conversion] } else if (!tempfile || !*tempfile) { ~^~~~~~~~ --- dates.o --- ./config.h:60:28: warning: '/*' within block comment [-Wcomment] /* #define INTERNAL_MALLOC /**/ ^ ./config.h:72:32: warning: '/*' within block comment [-Wcomment] /* #define TIMEZONE T->tm_zone /**/ ^ ./config.h:73:16: warning: '/*' within block comment [-Wcomment] /* #define USA /**/ ^ ./config.h:82:25: warning: '/*' within block comment [-Wcomment] /* #define POP3_SUPPORT /**/ ^ ./config.h:90:17: warning: '/*' within block comment [-Wcomment] /* #define MMDF /**/ ^ ./config.h:132:34: warning: '/*' within block comment [-Wcomment] /* #define MSG_SEPARATOR "From " /**/ ^ ./config.h:203:25: warning: '/*' within block comment [-Wcomment] /* #define PICKY_MAILER /**/ ^ ./config.h:216:18: warning: '/*' within block comment [-Wcomment] /* #define GETWD /**/ ^ --- strings.o --- strings.c:434:43: note: place parentheses around the '&&' expression to silence this warning else if (isalpha(*t) || *t > '\132' && *t < '\140') --- folders.o --- folders.c:250:25: warning: '&&' within '||' [-Wlogical-op-parentheses] --- strings.o --- ^ --- folders.o --- if ((!istool || istool && !msg_cnt) && !iscurses) --- strings.o --- ( ) --- dates.o --- dates.c:513:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] --- folders.o --- ~~ ~~~~~~~^~~~~~~~~~~ --- dates.o --- month_to_n(name) ^ --- strings.o --- strings.c:527:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] --- folders.o --- folders.c:250:25: note: place parentheses around the '&&' expression to silence this warning --- strings.o --- if (file = rindex(path, '/')) --- folders.o --- if ((!istool || istool && !msg_cnt) && !iscurses) --- strings.o --- ~~~~~^~~~~~~~~~~~~~~~~~~ --- folders.o --- ~~~~~~~^~~~~~~~~~~ --- dates.o --- 9 warnings generated. --- loop.o --- --- folders.o --- folders.c:276:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] folders(argc, argv) ^ --- strings.o --- strings.c:527:14: note: place parentheses around the assignment to silence this warning if (file = rindex(path, '/')) ^ ( ) strings.c:527:14: note: use '==' to turn this assignment into an equality comparison if (file = rindex(path, '/')) ^ == --- loop.o --- clang -O2 -g -fwritable-strings -DCURSES -DBSD -DBSD44 -DSIGRET=void -DBASENAME -c loop.c In file included from loop.c:9: In file included from ./mush.h:3: ./config.h:60:28: warning: '/*' within block comment [-Wcomment] /* #define INTERNAL_MALLOC /**/ ^ ./config.h:72:32: warning: '/*' within block comment [-Wcomment] /* #define TIMEZONE T->tm_zone /**/ ^ ./config.h:73:16: warning: '/*' within block comment [-Wcomment] /* #define USA /**/ ^ ./config.h:82:25: warning: '/*' within block comment [-Wcomment] /* #define POP3_SUPPORT /**/ ^ ./config.h:90:17: warning: '/*' within block comment [-Wcomment] /* #define MMDF /**/ ^ ./config.h:132:34: warning: '/*' within block comment [-Wcomment] /* #define MSG_SEPARATOR "From " /**/ ^ ./config.h:203:25: warning: '/*' within block comment [-Wcomment] /* #define PICKY_MAILER /**/ ^ ./config.h:216:18: warning: '/*' within block comment [-Wcomment] /* #define GETWD /**/ ^ --- folders.o --- folders.c:293:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (argv = make_command(buf, TRPL_NULL, &argc)) ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- loop.o --- loop.c:266:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] do_command(argc, argv, list) ^ --- folders.o --- folders.c:293:14: note: place parentheses around the assignment to silence this warning if (argv = make_command(buf, TRPL_NULL, &argc)) ^ --- loop.o --- loop.c:285:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] --- folders.o --- ( ) --- loop.o --- if (do_pipe = (*p == '|')) ~~~~~~~~^~~~~~~~~~~~~ --- folders.o --- folders.c:293:14: note: use '==' to turn this assignment into an equality comparison if (argv = make_command(buf, TRPL_NULL, &argc)) --- loop.o --- loop.c:285:18: note: place parentheses around the assignment to silence this warning --- folders.o --- ^ --- loop.o --- if (do_pipe = (*p == '|')) --- folders.o --- == --- loop.o --- ^ ( ) --- folders.o --- folders.c:302:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] test_folder(name, prompt) --- loop.o --- loop.c:285:18: note: use '==' to turn this assignment into an equality comparison --- folders.o --- ^ --- loop.o --- if (do_pipe = (*p == '|')) ^ == --- folders.o --- folders.c:313:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (p = any(line, " \t")) { ~~^~~~~~~~~~~~~~~~~~ --- loop.o --- loop.c:287:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (next_cmd = argv[i+1]) ~~~~~~~~~^~~~~~~~~~~ --- folders.o --- folders.c:313:8: note: place parentheses around the assignment to silence this warning if (p = any(line, " \t")) { ^ --- loop.o --- loop.c:287:24: note: place parentheses around the assignment to silence this warning --- folders.o --- ( ) --- loop.o --- else if (next_cmd = argv[i+1]) ^ ( ) --- folders.o --- folders.c:313:8: note: use '==' to turn this assignment into an equality comparison if (p = any(line, " \t")) { ^ --- loop.o --- loop.c:287:24: note: use '==' to turn this assignment into an equality comparison --- folders.o --- == --- loop.o --- else if (next_cmd = argv[i+1]) --- folders.o --- folders.c:346:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] merge_folders(n, argv, list) ^ folders.c:409:28: warning: '&&' within '||' [-Wlogical-op-parentheses] if ((!istool || istool && !msg_cnt) ~~ ~~~~~~~^~~~~~~~~~~ folders.c:409:28: note: place parentheses around the '&&' expression to silence this warning if ((!istool || istool && !msg_cnt) ~~~~~~~^~~~~~~~~~~ folders.c:431:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] do_undigest(n, argv, list) ^ --- loop.o --- ^ == --- folders.o --- folders.c:553:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] undigest(n, fp, sep) --- loop.o --- loop.c:327:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] --- folders.o --- ^ --- loop.o --- if (tmp = mk_argv(next_cmd, &argc, 1)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- folders.o --- folders.c:579:6: warning: implicit declaration of function 'Fputs' is invalid in C99 [-Wimplicit-function-declaration] if (fputs(from, fp) == EOF) --- loop.o --- loop.c:327:10: note: place parentheses around the assignment to silence this warning --- folders.o --- ^ --- loop.o --- if (tmp = mk_argv(next_cmd, &argc, 1)) { ^ ( ) --- folders.o --- ./mush.h:112:16: note: expanded from macro 'fputs' # define fputs Fputs /* See comments in print.c */ ^ --- loop.o --- loop.c:327:10: note: use '==' to turn this assignment into an equality comparison if (tmp = mk_argv(next_cmd, &argc, 1)) { --- strings.o --- 15 warnings generated. --- loop.o --- ^ --- viewopts.o --- --- folders.o --- folders.c:603:4: warning: implicit declaration of function 'Fputs' is invalid in C99 [-Wimplicit-function-declaration] fputs(last_sep, fp) == EOF) { ^ ./mush.h:112:16: note: expanded from macro 'fputs' # define fputs Fputs /* See comments in print.c */ ^ folders.c:650:34: warning: implicit declaration of function 'Fputs' is invalid in C99 [-Wimplicit-function-declaration] if (*afrom && *from_hdr && fputs(from_hdr, fp) == EOF) { ^ ./mush.h:112:16: note: expanded from macro 'fputs' # define fputs Fputs /* See comments in print.c */ ^ folders.c:669:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (p = parse_date(line+6)) ~~^~~~~~~~~~~~~~~~~~~~ folders.c:669:9: note: place parentheses around the assignment to silence this warning if (p = parse_date(line+6)) --- loop.o --- == loop.c:339:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] exec_argv(argc, argv, list) ^ loop.c:344:47: warning: '&&' within '||' [-Wlogical-op-parentheses] if (!argv || !*argv || argv[0][0] == '\\' && !argv[0][1]) { ~~ ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ loop.c:344:47: note: place parentheses around the '&&' expression to silence this warning if (!argv || !*argv || argv[0][0] == '\\' && !argv[0][1]) { ^ ( ) --- folders.o --- ^ ( ) folders.c:669:9: note: use '==' to turn this assignment into an equality comparison if (p = parse_date(line+6)) ^ == folders.c:675:13: warning: implicit declaration of function 'Fputs' is invalid in C99 [-Wimplicit-function-declaration] } else if (fputs(line, fp) == EOF) { ^ ./mush.h:112:16: note: expanded from macro 'fputs' # define fputs Fputs /* See comments in print.c */ ^ folders.c:704:6: warning: implicit declaration of function 'Fputs' is invalid in C99 [-Wimplicit-function-declaration] if (fputs(from, fp) == EOF) ^ ./mush.h:112:16: note: expanded from macro 'fputs' # define fputs Fputs /* See comments in print.c */ ^ --- viewopts.o --- clang -O2 -g -fwritable-strings -DCURSES -DBSD -DBSD44 -DSIGRET=void -DBASENAME -c viewopts.c In file included from viewopts.c:3: In file included from ./mush.h:3: ./config.h:60:28: warning: '/*' within block comment [-Wcomment] /* #define INTERNAL_MALLOC /**/ ^ ./config.h:72:32: warning: '/*' within block comment [-Wcomment] /* #define TIMEZONE T->tm_zone /**/ ^ ./config.h:73:16: warning: '/*' within block comment [-Wcomment] /* #define USA /**/ ^ ./config.h:82:25: warning: '/*' within block comment [-Wcomment] /* #define POP3_SUPPORT /**/ ^ ./config.h:90:17: warning: '/*' within block comment [-Wcomment] /* #define MMDF /**/ ^ ./config.h:132:34: warning: '/*' within block comment [-Wcomment] /* #define MSG_SEPARATOR "From " /**/ ^ ./config.h:203:25: warning: '/*' within block comment [-Wcomment] /* #define PICKY_MAILER /**/ ^ ./config.h:216:18: warning: '/*' within block comment [-Wcomment] /* #define GETWD /**/ ^ --- loop.o --- loop.c:429:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] --- viewopts.o --- 8 warnings generated. --- curses.o --- --- loop.o --- alias_stuff(b, argc, Argv) ^ loop.c:684:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] varexp(ref) ^ loop.c:698:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (do_bool = (*str == '?')) ~~~~~~~~^~~~~~~~~~~~~~~ loop.c:698:14: note: place parentheses around the assignment to silence this warning if (do_bool = (*str == '?')) ^ ( ) loop.c:698:14: note: use '==' to turn this assignment into an equality comparison if (do_bool = (*str == '?')) ^ == loop.c:701:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (p = index(str + 1, '}')) { ~~^~~~~~~~~~~~~~~~~~~~~ loop.c:701:12: note: place parentheses around the assignment to silence this warning if (p = index(str + 1, '}')) { ^ ( ) loop.c:701:12: note: use '==' to turn this assignment into an equality comparison if (p = index(str + 1, '}')) { ^ == loop.c:866:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] variable_expand(str) ^ loop.c:882:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (p = any(str, " \t")) ~~^~~~~~~~~~~~~~~~~ loop.c:882:12: note: place parentheses around the assignment to silence this warning if (p = any(str, " \t")) ^ ( ) loop.c:882:12: note: use '==' to turn this assignment into an equality comparison if (p = any(str, " \t")) ^ == loop.c:996:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (*++p = *str) /* assign and compare to NUL */ ~~~~~^~~~~~ loop.c:996:16: note: place parentheses around the assignment to silence this warning if (*++p = *str) /* assign and compare to NUL */ ^ ( ) loop.c:996:16: note: use '==' to turn this assignment into an equality comparison if (*++p = *str) /* assign and compare to NUL */ ^ == loop.c:1000:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (p2 = index("\"'", *p)) { ~~~^~~~~~~~~~~~~~~~~~ loop.c:1000:10: note: place parentheses around the assignment to silence this warning if (p2 = index("\"'", *p)) { ^ ( ) loop.c:1000:10: note: use '==' to turn this assignment into an equality comparison if (p2 = index("\"'", *p)) { ^ == loop.c:1023:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (c = *str) /* set c = *str, check for null */ ~~^~~~~~ loop.c:1023:12: note: place parentheses around the assignment to silence this warning if (c = *str) /* set c = *str, check for null */ ^ ( ) loop.c:1023:12: note: use '==' to turn this assignment into an equality comparison if (c = *str) /* set c = *str, check for null */ ^ == loop.c:1089:4: warning: add explicit braces to avoid dangling else [-Wdangling-else] } else ^ loop.c:1108:6: warning: add explicit braces to avoid dangling else [-Wdangling-else] hist_error("You haven't done anything yet!\n"); ^ loop.c:1067:38: note: expanded from macro 'hist_error' #define hist_error if (nonobang) {;} else print ^ loop.c:1139:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (isrange = (*str == '-')) ~~~~~~~~^~~~~~~~~~~~~~~ loop.c:1139:14: note: place parentheses around the assignment to silence this warning if (isrange = (*str == '-')) ^ ( ) loop.c:1139:14: note: use '==' to turn this assignment into an equality comparison if (isrange = (*str == '-')) ^ == --- curses.o --- clang -O2 -g -fwritable-strings -DCURSES -DBSD -DBSD44 -DSIGRET=void -DBASENAME -c curses.c In file included from curses.c:5: In file included from ./mush.h:3: ./config.h:60:28: warning: '/*' within block comment [-Wcomment] /* #define INTERNAL_MALLOC /**/ ^ ./config.h:72:32: warning: '/*' within block comment [-Wcomment] /* #define TIMEZONE T->tm_zone /**/ ^ ./config.h:73:16: warning: '/*' within block comment [-Wcomment] /* #define USA /**/ ^ ./config.h:82:25: warning: '/*' within block comment [-Wcomment] /* #define POP3_SUPPORT /**/ ^ ./config.h:90:17: warning: '/*' within block comment [-Wcomment] /* #define MMDF /**/ ^ ./config.h:132:34: warning: '/*' within block comment [-Wcomment] /* #define MSG_SEPARATOR "From " /**/ ^ ./config.h:203:25: warning: '/*' within block comment [-Wcomment] /* #define PICKY_MAILER /**/ ^ ./config.h:216:18: warning: '/*' within block comment [-Wcomment] /* #define GETWD /**/ ^ curses.c:9:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] curses_init(argc, argv) ^ curses.c:113:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] curses_command(c) ^ --- loop.o --- loop.c:1219:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (p = index(++str, '?')) ~~^~~~~~~~~~~~~~~~~~~ --- curses.o --- curses.c:211:31: warning: '&&' within '||' [-Wlogical-op-parentheses] isoff(glob_flags, CNTD_CMD) && curlin == LINES-2) { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ --- loop.o --- loop.c:1219:8: note: place parentheses around the assignment to silence this warning if (p = index(++str, '?')) ^ ( ) --- curses.o --- curses.c:211:31: note: place parentheses around the '&&' expression to silence this warning isoff(glob_flags, CNTD_CMD) && curlin == LINES-2) { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ --- loop.o --- loop.c:1219:8: note: use '==' to turn this assignment into an equality comparison if (p = index(++str, '?')) ^ == --- curses.o --- curses.c:230:38: warning: '&&' within '||' [-Wlogical-op-parentheses] --- folders.o --- 25 warnings generated. --- curses.o --- if (isoff(glob_flags, CNTD_CMD) && curlin == 1 || ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ~~ --- loop.o --- loop.c:1319:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] disp_hist(n, argv) /* argc not used -- use space for the variable, "n" */ ^ --- curses.o --- curses.c:230:38: note: place parentheses around the '&&' expression to silence this warning if (isoff(glob_flags, CNTD_CMD) && curlin == 1 || ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ --- loop.o --- loop.c:1345:4: warning: add explicit braces to avoid dangling else [-Wdangling-else] } else ^ --- curses.o --- curses.c:251:27: warning: '&&' within '||' [-Wlogical-op-parentheses] --- curs_io.o --- clang -O2 -g -fwritable-strings -DCURSES -DBSD -DBSD44 -DSIGRET=void -DBASENAME -c curs_io.c --- curses.o --- if (c == C_FIRST_MSG && (current_msg = 0) < n_array[0] || --- curs_io.o --- In file included from curs_io.c:4: In file included from ./mush.h:3: ./config.h:60:28: warning: '/*' within block comment [-Wcomment] /* #define INTERNAL_MALLOC /**/ ^ ./config.h:72:32: warning: '/*' within block comment [-Wcomment] /* #define TIMEZONE T->tm_zone /**/ ^ ./config.h:73:16: warning: '/*' within block comment [-Wcomment] /* #define USA /**/ ^ ./config.h:82:25: warning: '/*' within block comment [-Wcomment] /* #define POP3_SUPPORT /**/ ^ ./config.h:90:17: warning: '/*' within block comment [-Wcomment] /* #define MMDF /**/ ^ ./config.h:132:34: warning: '/*' within block comment [-Wcomment] /* #define MSG_SEPARATOR "From " /**/ ^ ./config.h:203:25: warning: '/*' within block comment [-Wcomment] /* #define PICKY_MAILER /**/ ^ ./config.h:216:18: warning: '/*' within block comment [-Wcomment] /* #define GETWD /**/ ^ --- curses.o --- ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~ --- curs_io.o --- In file included from curs_io.c:6: In file included from ./glob.h:9: /usr/include/sys/dir.h:39:2: warning: "The information in this file should be obtained from " [-W#warnings] #warning "The information in this file should be obtained from " ^ /usr/include/sys/dir.h:40:2: warning: "and is provided solely (and temporarily) for backward compatibility." [-W#warnings] #warning "and is provided solely (and temporarily) for backward compatibility." ^ curs_io.c:8:8: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] static check_map(), line_wrap(); ~~~~~~ ^ curs_io.c:8:21: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] static check_map(), line_wrap(); ~~~~~~ ^ curs_io.c:63:18: error: use of undeclared identifier 'TIOCGETC' if (ioctl(0, TIOCGETC, &tchars) != -1) ^ curs_io.c:63:29: error: use of undeclared identifier 'tchars' if (ioctl(0, TIOCGETC, &tchars) != -1) ^ curs_io.c:64:9: error: use of undeclared identifier 'tchars' eofc = tchars.t_eofc; ^ curs_io.c:130:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] Getstr(String, length, offset) ^ curs_io.c:238:32: warning: '&&' within '||' [-Wlogical-op-parentheses] isspace(String[count-1]) && !isspace(String[count]) || ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ curs_io.c:238:32: note: place parentheses around the '&&' expression to silence this warning isspace(String[count-1]) && !isspace(String[count]) || ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ curs_io.c:239:33: warning: '&&' within '||' [-Wlogical-op-parentheses] !isalnum(String[count-1]) && isalnum(String[count])) ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ curs_io.c:239:33: note: place parentheses around the '&&' expression to silence this warning !isalnum(String[count-1]) && isalnum(String[count])) ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ curs_io.c:377:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] check_map(c, map_list) ^ curs_io.c:410:33: warning: '&&' within '||' [-Wlogical-op-parentheses] || !ioctl(0, FIONREAD, &n) && n > 0 ~~ ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ curs_io.c:410:33: note: place parentheses around the '&&' expression to silence this warning || !ioctl(0, FIONREAD, &n) && n > 0 ^ ( ) curs_io.c:483:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] line_wrap(string, count) ^ curs_io.c:523:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] errbell(ret) ^ --- curses.o --- curses.c:251:27: note: place parentheses around the '&&' expression to silence this warning --- curs_io.o --- curs_io.c:534:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] --- curses.o --- if (c == C_FIRST_MSG && (current_msg = 0) < n_array[0] || --- curs_io.o --- completion(string, count, showlist, ignore) --- curses.o --- ^ --- curs_io.o --- ^ --- curses.o --- ( ) --- curs_io.o --- curs_io.c:617:7: warning: add explicit braces to avoid dangling else [-Wdangling-else] --- curses.o --- curses.c:252:19: warning: '&&' within '||' [-Wlogical-op-parentheses] --- curs_io.o --- Debug("%s", string); --- curses.o --- c == C_LAST_MSG && (current_msg = msg_cnt-1)> n_array[screen-1]) --- curs_io.o --- ^ --- curses.o --- ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- curs_io.o --- ./mush.h:370:36: note: expanded from macro 'Debug' --- curses.o --- curses.c:252:19: note: place parentheses around the '&&' expression to silence this warning --- curs_io.o --- #define Debug if (debug == 0) {;} else (void) wprint --- curses.o --- c == C_LAST_MSG && (current_msg = msg_cnt-1)> n_array[screen-1]) --- curs_io.o --- ^ --- curses.o --- ^ ( ) --- curs_io.o --- curs_io.c:655:8: warning: add explicit braces to avoid dangling else [-Wdangling-else] Debug("\ncompletion is (%s)\n%s", exp[0], string); --- curses.o --- curses.c:256:3: warning: add explicit braces to avoid dangling else [-Wdangling-else] --- curs_io.o --- ^ --- curses.o --- else ^ --- curs_io.o --- ./mush.h:370:36: note: expanded from macro 'Debug' #define Debug if (debug == 0) {;} else (void) wprint --- curses.o --- curses.c:379:20: warning: '&&' within '||' [-Wlogical-op-parentheses] --- curs_io.o --- ^ --- curses.o --- n >= n_array[0] && n <= n_array[screen-1])) { ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ --- curs_io.o --- curs_io.c:661:4: warning: add explicit braces to avoid dangling else [-Wdangling-else] Debug("\nno longer prefix\n%s", string); --- curses.o --- curses.c:379:20: note: place parentheses around the '&&' expression to silence this warning --- curs_io.o --- ^ --- curses.o --- n >= n_array[0] && n <= n_array[screen-1])) { ^ ( ) --- curs_io.o --- ./mush.h:370:36: note: expanded from macro 'Debug' #define Debug if (debug == 0) {;} else (void) wprint ^ --- curses.o --- curses.c:678:23: warning: '&&' within '||' [-Wlogical-op-parentheses] c != C_DISPLAY_NEXT && ison(msg[current_msg].m_flags, DELETE)) { ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- curs_io.o --- curs_io.c:682:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] fignore(argc, argvp) ^ --- curses.o --- curses.c:678:23: note: place parentheses around the '&&' expression to silence this warning c != C_DISPLAY_NEXT && ison(msg[current_msg].m_flags, DELETE)) { ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- curs_io.o --- curs_io.c:692:27: warning: '&&' within '||' [-Wlogical-op-parentheses] if (!argvp || !*argvp && !**argvp) ~~ ~~~~~~~~^~~~~~~~~~~ --- curses.o --- curses.c:771:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] vrfy_update(redo) ^ --- curs_io.o --- curs_io.c:692:27: note: place parentheses around the '&&' expression to silence this warning if (!argvp || !*argvp && !**argvp) ^ ( ) --- curses.o --- curses.c:838:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] curses_help_msg(visible) ^ --- curs_io.o --- 25 warnings and 3 errors generated. *** [curs_io.o] Error code 1 bmake: stopped in /var/pkgsrc/work/mail/mush/work --- curses.o --- curses.c:943:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] hit_return() ^ curses.c:961:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] curses_msg_list(str, list, m_list) ^ --- loop.o --- 29 warnings generated. --- curses.o --- 21 warnings generated. 1 error bmake: stopped in /var/pkgsrc/work/mail/mush/work *** Error code 2 Stop. bmake[1]: stopped in /usr/pkgsrc/mail/mush *** Error code 1 Stop. bmake: stopped in /usr/pkgsrc/mail/mush