|
Lines 175-185
Link Here
|
| 175 |
compar(p1, p2) |
175 |
compar(p1, p2) |
| 176 |
const void *p1, *p2; |
176 |
const void *p1, *p2; |
| 177 |
{ |
177 |
{ |
| 178 |
if ((*(struct queue **)p1)->q_time < (*(struct queue **)p2)->q_time) |
178 |
const struct queue *qe1, *qe2; |
|
|
179 |
qe1 = *(const struct queue **)p1; |
| 180 |
qe2 = *(const struct queue **)p2; |
| 181 |
|
| 182 |
if (qe1->q_time < qe2->q_time) return(-1); |
| 183 |
if (qe1->q_time > qe2->q_time) return(1); |
| 184 |
/* |
| 185 |
* At this point, the two files have the same last-modification time. |
| 186 |
* return a result based on filenames, so that 'cfA001some.host' will |
| 187 |
* come before 'cfA002some.host'. Since the jobid ('001') will wrap |
| 188 |
* around when it gets to '999', we also assume that '9xx' jobs are |
| 189 |
* older than '0xx' jobs. |
| 190 |
*/ |
| 191 |
if ((qe1->q_name[3] == '9') && (qe2->q_name[3] == '0')) |
| 179 |
return(-1); |
192 |
return(-1); |
| 180 |
if ((*(struct queue **)p1)->q_time > (*(struct queue **)p2)->q_time) |
193 |
if ((qe1->q_name[3] == '0') && (qe2->q_name[3] == '9')) |
| 181 |
return(1); |
194 |
return(1); |
| 182 |
return(0); |
195 |
return(strcmp(qe1->q_name,qe2->q_name)); |
| 183 |
} |
196 |
} |
| 184 |
|
197 |
|
| 185 |
/* sleep n milliseconds */ |
198 |
/* sleep n milliseconds */ |