home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 11 Util / 11-Util.zip / OS2_LEX.ZIP / INTEG.C < prev    next >
C/C++ Source or Header  |  1980-01-01  |  501b  |  24 lines

  1. /*
  2.  * integ -- ascii to long (various bases)
  3.  */
  4. long
  5. integ(cp, base)
  6. char *cp;
  7. register base;
  8. {
  9.         register c;
  10.         long n;
  11.  
  12.         n = 0;
  13.         while (c = *cp++) {
  14.                 if (c>='A' && c<='Z')
  15.                         c += 'a'-'A';
  16.                 if (c>='a' && c<='z')
  17.                         c = (c-'a')+10+'0';
  18.                 if (c < '0' || c > base+'0')
  19.                         break;
  20.                 n = n*base + c-'0';
  21.         }
  22.         return(n);
  23. }
  24.