/********************************************************************** * Copyright (c) Digital Equipment Corporation 1984, 1985, 1986. * * All Rights Reserved. * * Reference "/usr/src/COPYRIGHT" for applicable restrictions. * **********************************************************************/ /* SCCSID: @(#)a64l.c 3.0 4/22/86 */ /* (System 5) 1.5 */ /* 3.0 SID # 1.3 */ /*LINTLIBRARY*/ /* * convert base 64 ascii to long int * char set is [./0-9A-Za-z] * */ #define BITSPERCHAR 6 /* to hold entire character set */ long a64l(s) register char *s; { register int i, c; long lg = 0; for (i = 0; (c = *s++) != '\0'; i += BITSPERCHAR) { if (c > 'Z') c -= 'a' - 'Z' - 1; if (c > '9') c -= 'A' - '9' - 1; lg |= (long)(c - ('0' - 2)) << i; } return (lg); }