]>
jfr.im git - irc/quakenet/newserv.git/blob - lib/base64.h
3 * Definitions of the base64 functions
9 extern int numerictab
[];
12 #define numerictolong(x,y) (donumtolong(x,y,0))
13 #define donumtolong(x,y,z) ((y)==0?(z):(donumtolong((x)+1,(y)-1,((z)<<6)+numerictab[(int)*(x)])))
16 /* Function defined here for speed.. */
17 /* slug -- these warnings were getting irritating, since we're on C99 we can now use __inline__ */
20 static long numerictolong(const char *numeric, int numericlen)
25 for (i=0;i<numericlen;i++) {
26 mynumeric=(mynumeric << 6)+numerictab[(int) *(numeric++)];
34 #define INLINE __attribute((always_inline)) inline
38 #define INLINE __forceinline
45 INLINE
long numerictolong(const char *numeric
, int numericlen
);
46 char *longtonumeric(long param
, int len
);
47 char *longtonumeric2(long param
, int len
, char *mynum
);