5 * Revision 1.1.1.1 1996/02/15 17:49:32 mclareni
10 CERN PROGLIB# M507 LENOCC .VERSION KERNHPX 1.02 920511
11 ORIG. 30/04/92, RDM + JZ
13 N = LENOCC (CHLINE) find last non-blank character in CHLINE
15 #if defined(CERNLIB_QX_SC)
16 int lenocc_(chline, len)
18 #if defined(CERNLIB_QXNO_SC)
19 int lenocc(chline, len)
24 static unsigned int blnk = 0x20202020;
30 if (len <= 24) goto small;
32 /* ---- handle long string */
34 /* look at the last ntail characters */
36 ntail = ((int)chcur & 3);
37 for (i = ntail; i > 0; i--)
38 { if (*--chcur != ' ') goto exit; }
40 /* look for trailing blank words */
42 wdcur = (unsigned int*) (chcur-4);
43 while (wdcur >= (unsigned int*)chline )
44 { if (*wdcur != blnk) break; wdcur--; }
46 /* find last non-blank character */
48 chcur = (char*) (wdcur+1);
49 while (chcur > chline)
50 { if (*--chcur != ' ') goto exit; }
53 exit: return chcur+1 - chline;
55 /* ---- handle short string */
58 while (chcur > chline)
59 { if (*--chcur != ' ') goto exit; }
62 /*> END <----------------------------------------------------------*/