From 19d2273cb7bdde0b13a8858ec8c4f264a2bb11b4 Mon Sep 17 00:00:00 2001 From: Oliver Kiddle Date: Fri, 2 Nov 2001 12:35:32 +0000 Subject: 16198: add %j prompt expansion and j test character for no. of jobs in prompt --- Src/prompt.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'Src/prompt.c') diff --git a/Src/prompt.c b/Src/prompt.c index d5df9d1ce..9b6edfcc6 100644 --- a/Src/prompt.c +++ b/Src/prompt.c @@ -202,7 +202,7 @@ static int putpromptchar(int doprint, int endchar) { char *ss, *tmbuf = NULL, *hostnam; - int t0, arg, test, sep; + int t0, arg, test, sep, j, numjobs; struct tm *tm; time_t timet; Nameddir nd; @@ -286,6 +286,13 @@ putpromptchar(int doprint, int endchar) if (getegid() == arg) test = 1; break; + case 'j': + for (numjobs = 0, j = 1; j < MAXJOB; j++) + if (jobtab[j].stat && jobtab[j].procs && + !(jobtab[j].stat & STAT_NOPRINT)) numjobs++; + if (numjobs >= arg) + test = 1; + break; case 'l': *bp = '\0'; countprompt(bufline, &t0, 0, 0); @@ -371,6 +378,14 @@ putpromptchar(int doprint, int endchar) sprintf(bp, "%d", curhist); bp += strlen(bp); break; + case 'j': + for (numjobs = 0, j = 1; j < MAXJOB; j++) + if (jobtab[j].stat && jobtab[j].procs && + !(jobtab[j].stat & STAT_NOPRINT)) numjobs++; + addbufspc(DIGBUFSIZE); + sprintf(bp, "%d", numjobs); + bp += strlen(bp); + break; case 'M': queue_signals(); if ((hostnam = getsparam("HOST"))) -- cgit 1.4.1