Rev 2331 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
2331 | Albom | 1 | |
2 | |||
3 | |||
4 | |||
5 | |||
6 | |||
7 | |||
8 | |||
9 | |||
10 | { |
||
11 | do { |
||
12 | if (*s == c) |
||
13 | { |
||
14 | return (char*)s; |
||
15 | } |
||
16 | } while (*s++); |
||
17 | return (0); |
||
18 | } |
||
19 | |||
20 | |||
21 | |||
22 | |||
23 | { |
||
24 | int i, j; |
||
25 | unsigned char chr[3]; |
||
26 | |||
27 | |||
28 | { |
||
29 | chr[0] = (unsigned char) inp[i]; |
||
30 | if (i < len) |
||
31 | { |
||
32 | chr[1] = (unsigned char) inp[i+1]; |
||
33 | chr[2] = (unsigned char) inp[i+2]; |
||
34 | } |
||
35 | |||
36 | |||
37 | outp[++j] = base64_table[ ((chr[0] & 3) << 4) | (chr[1] >> 4) ]; |
||
38 | |||
39 | |||
40 | outp[++j] = base64_table[ chr[2] & 63 ]; |
||
41 | } |
||
42 | |||
43 | |||
44 | { |
||
45 | case 1: |
||
46 | outp[j-1] = outp[j] = '='; |
||
47 | break; |
||
48 | |||
49 | |||
50 | outp[j] = '='; |
||
51 | break; |
||
52 | |||
53 | |||
54 | break; |
||
55 | |||
56 | |||
57 | |||
58 | |||
59 | |||
60 | |||
61 | } |
||
62 | |||
63 | |||
64 | |||
65 | |||
66 | { |
||
67 | int i, j, k, n; |
||
9637 | akron1 | 68 | char *chr_adr; |
69 | char chr[4]; |
||
70 | |||
2331 | Albom | 71 | |
9637 | akron1 | 72 | j = -1; |
73 | k = 0; |
||
74 | while (i < len) |
||
75 | { |
||
76 | for (n = 0; n <= 3; n++) |
||
77 | { |
||
78 | chr[n] = 0; |
||
79 | while ((inp[i] <= 0x20) & (i < len)) |
||
80 | i++; |
||
81 | if (i < len) |
||
82 | { |
||
83 | if ((n >= 2) & (inp[i] == '=')) |
||
84 | k++; |
||
85 | else |
||
86 | { |
||
87 | chr_adr = strchr(base64_table, inp[i]); |
||
88 | if (chr_adr) |
||
89 | chr[n] = chr_adr - base64_table; |
||
90 | } |
||
91 | i++; |
||
92 | } |
||
93 | } |
||
94 | outp[++j] = ((chr[0] << 2) | (chr[1] >> 4)); |
||
95 | outp[++j] = ((chr[1] << 4) | (chr[2] >> 2)); |
||
96 | outp[++j] = ((chr[2] & 0x03 )<< 6) | (chr[3] & 0x3f); |
||
97 | } |
||
98 | |||
2331 | Albom | 99 | |
9637 | akron1 | 100 | |
2331 | Albom | 101 | |
9637 | akron1 | 102 | } |
2331 | Albom | 103 | |
104 | |||
105 | |||
106 | |||
107 | |||
108 | |||
109 | { |
||
110 | void *name; |
||
111 | void *function; |
||
112 | } export_t; |
||
113 | |||
114 | |||
115 | char szbase64_decode[]={"base64_decode"}; |
||
116 | |||
117 | |||
118 | { |
||
119 | {szbase64_encode, (void*) base64_encode}, |
||
120 | {szbase64_decode, (void*) base64_decode}, |
||
121 | { NULL, NULL }, |
||
122 | }; |
||
123 | |||
124 | |||
125 |