--- acct/pacct_rd.c +++ acct/pacct_rd.c @@ -277,7 +277,7 @@ double_2_comp2_t (double value) exp++; } /* shift exponent into place */ - return mant | (exp << MANTSIZE2 - 1); + return mant | (exp << (MANTSIZE2 - 1)); } --- acct/sa.c +++ acct/sa.c @@ -1579,10 +1579,9 @@ ask_if_junkable (char *s, int len) printf ("Junk `%*s'? ", len, s); fflush (stdout); - fgets (line, 1000, stdin); - sscanf (line, " %s ", word); - - if ((word[0] == 'y') || (word[0] == 'Y')) + if (fgets (line, 1000, stdin) && + (sscanf (line, " %s ", word) > 0) && + ((word[0] == 'y') || (word[0] == 'Y'))) return 1; return 0;