core dump and bad total length of j
MAILER-DAEMON at gabriel.UUCP
MAILER-DAEMON at gabriel.UUCP
Fri May 23 18:48:00 AEST 1986
Subject: core dump and bad total length of jobs from uuq -l
Index: /usr/src/usr.bin/uucp/uuq.c 2.9+bsd
Description:
As above.
Repeat-By:
queue up a bunch of jobs. run uuq -l. Notice that
uuq -l gives you the wrong total length and then dumps core.
Fix:
Replace a couple of printf("%d", long-value)'s with "... %ld...":
*** /tmp/,RCSt1010028 Fri May 23 04:45:05 1986
--- uuq.c Fri May 23 04:35:56 1986
***************
*** 130,136
/* The 80 * njobs is because of the uucp handshaking */
minutes = (float)(sp->s_bytes + 80 * sp->s_njobs)/baudrate;
hours = minutes/60;
! printf(", %d bytes, ", sp->s_bytes);
if (minutes > 60){
printf("%d hour%s, ",hours,
hours > 1 ? "s": "");
--- 130,136 -----
/* The 80 * njobs is because of the uucp handshaking */
minutes = (float)(sp->s_bytes + 80 * sp->s_njobs)/baudrate;
hours = minutes/60;
! printf(", %ld bytes, ", sp->s_bytes);
if (minutes > 60){
printf("%d hour%s, ",hours,
hours > 1 ? "s": "");
***************
*** 142,149
if (hflag)
continue;
/* sort them babies! */
! sortjob = (struct job **)calloc(sp->s_njobs, sizeof (struct job
! *));
for (i=0, jp=sp->s_jobp; i < sp->s_njobs; i++, jp=jp->j_jobp)
sortjob[i] = jp;
qsort(sortjob, sp->s_njobs, sizeof (struct job *), jcompare);
--- 142,148 -----
if (hflag)
continue;
/* sort them babies! */
! sortjob = (struct job **)calloc(sp->s_njobs, sizeof (struct job *));
for (i=0, jp=sp->s_jobp; i < sp->s_njobs; i++, jp=jp->j_jobp)
sortjob[i] = jp;
qsort(sortjob, sp->s_njobs, sizeof (struct job *), jcompare);
***************
*** 150,156
for (i = 0; i < sp->s_njobs; i++) {
jp = sortjob[i];
if (lflag) {
! printf("%s %2d %-*s%7d%5.1f %-12.12s %c %.*s\n",
jp->j_jobno, jp->j_files, Maxulen, jp->j_user, jp->j_bytes, jp->j_bytes/baudrate,
ctime(&jp->j_date) + 4, jp->j_flags, sizeof (jp->j_fname), jp->j_fname
);
--- 149,155 -----
for (i = 0; i < sp->s_njobs; i++) {
jp = sortjob[i];
if (lflag) {
! printf("%s %2d %-*s%7ld%5.1f %-12.12s %c %.*s\n",
jp->j_jobno, jp->j_files, Maxulen, jp->j_user, jp->j_bytes, jp->j_bytes/baudrate,
ctime(&jp->j_date) + 4, jp->j_flags, sizeof (jp->j_fname), jp->j_fname
);
More information about the Comp.bugs.2bsd
mailing list