Files
bash/jobs-patch
T
2011-12-07 09:08:05 -05:00

66 lines
1.5 KiB
Plaintext

*** ../bash-20070510/jobs.c Thu Mar 8 16:05:50 2007
--- jobs.c Fri May 18 11:40:14 2007
***************
*** 784,792 ****
{
old = js.j_firstj++;
while (js.j_firstj != old)
{
if (js.j_firstj >= js.j_jobslots)
js.j_firstj = 0;
! if (jobs[js.j_firstj])
break;
js.j_firstj++;
--- 784,794 ----
{
old = js.j_firstj++;
+ if (old >= js.j_jobslots)
+ old = js.j_jobslots - 1;
while (js.j_firstj != old)
{
if (js.j_firstj >= js.j_jobslots)
js.j_firstj = 0;
! if (jobs[js.j_firstj] || js.j_firstj == old) /* needed if old == 0 */
break;
js.j_firstj++;
***************
*** 798,806 ****
{
old = js.j_lastj--;
while (js.j_lastj != old)
{
if (js.j_lastj < 0)
js.j_lastj = js.j_jobslots - 1;
! if (jobs[js.j_lastj])
break;
js.j_lastj--;
--- 800,810 ----
{
old = js.j_lastj--;
+ if (old < 0)
+ old = 0;
while (js.j_lastj != old)
{
if (js.j_lastj < 0)
js.j_lastj = js.j_jobslots - 1;
! if (jobs[js.j_lastj] || js.j_lastj == old) /* needed if old == js.j_jobslots */
break;
js.j_lastj--;
***************
*** 964,968 ****
realloc_jobs_list ();
! return (js.j_lastj ? js.j_lastj + 1 : 0);
}
--- 975,983 ----
realloc_jobs_list ();
! #ifdef DEBUG
! itrace("compact_jobs_list: returning %d", (js.j_lastj || jobs[js.j_lastj]) ? js.j_lastj + 1 : 0);
! #endif
!
! return ((js.j_lastj || jobs[js.j_lastj]) ? js.j_lastj + 1 : 0);
}