Subversion Repositories Kolibri OS

Rev

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