]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MINICERN/packlib/kernlib/kerngen/ccgen/irtgs/lnblnk.c
Bugfix in AliPoints2Memory
[u/mrichter/AliRoot.git] / MINICERN / packlib / kernlib / kerngen / ccgen / irtgs / lnblnk.c
1 /*
2  * $Id$
3  *
4  * $Log$
5  * Revision 1.1.1.1  1996/02/15 17:49:33  mclareni
6  * Kernlib
7  *
8  */
9 /*>    ROUTINE LNBLNK
10   CERN PROGLIB# M507    LNBLNK          .VERSION KERNIRT  1.05  920511
11   ORIG. 30/04/92, RDM + JZ
12
13   N = LNBLNK (CHLINE)   find last non-blank character in CHLINE
14 */
15       int lnblnk_(chline, len)
16       char  *chline;
17       int   len;
18 {
19       static unsigned int blnk = 0x20202020;
20       unsigned int *wdcur;
21       char  *chcur;
22       int   ntail, i;
23
24       chcur = chline + len;
25       if (len <= 24)               goto small;
26
27 /* ----        handle long string             */
28
29 /*        look for trailing blank words   */
30
31       wdcur = (unsigned int*) (chcur-4);
32       while (wdcur >= (unsigned int*)chline )
33         {  if (*wdcur != blnk)   break;  wdcur--; }
34
35 /*        find last non-blank character   */
36
37       chcur = (char*) (wdcur+1);
38       while (chcur > chline)
39         {  if (*--chcur != ' ')      goto exit; }
40       return 0;
41
42 exit: return chcur+1 - chline;
43
44 /* ----        handle short string            */
45
46 small:
47       while (chcur > chline)
48         {  if (*--chcur != ' ')      goto exit; }
49       return 0;
50 }
51 /*> END <----------------------------------------------------------*/