diff --git a/src/cmd/upas/marshal/marshal.c b/src/cmd/upas/marshal/marshal.c index 7cef1828..8ebd3957 100644 --- a/src/cmd/upas/marshal/marshal.c +++ b/src/cmd/upas/marshal/marshal.c @@ -1183,7 +1183,7 @@ waitforsubprocs(void) err = w->msg; if(pid >= 0 && (w=procwait(pid)) && w->msg[0]) err = w->msg; - return nil; + return err; } int diff --git a/src/cmd/upas/smtp/smtp.c b/src/cmd/upas/smtp/smtp.c index 893f5789..62ef865e 100644 --- a/src/cmd/upas/smtp/smtp.c +++ b/src/cmd/upas/smtp/smtp.c @@ -229,7 +229,7 @@ threadmain(int argc, char **argv) for(i = 0; i < argc; i++){ if((trv = rcptto(argv[i])) != 0){ /* remember worst error */ - if(rv != Giveup) + if(strcmp(rv, Giveup) != 0) rv = trv; errs[rcvrs] = strdup(s_to_c(reply)); removenewline(errs[rcvrs]); @@ -241,7 +241,7 @@ threadmain(int argc, char **argv) } /* if no ok rcvrs or worst error is retry, give up */ - if(ok == 0 || rv == Retry) + if(ok == 0 || strcmp(rv, Retry) == 0) goto error; if(ping){