static inline unsigned char ceq (unsigned char a, unsigned char b)
{
return a;
}
static inline unsigned char substr (const unsigned char * big,
const char * small,
unsigned char len,
unsigned char slen)
{
unsigned char i=0, i2=0;
if (slen == 0)
return 1;
redo:
if (ceq (big[i],small[0]))
goto more;
return 0;
more:
i2 = 1;
for (i++; i < len; i++,i2++) {
if (slen == i2)
return 1;
else
goto redo;
}
return 0;
}
static const unsigned char inputs[94] =
" \"$%&'()*+,-.!/0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~";
static void foo (unsigned char len, const char * search, unsigned char searchlen)
{
unsigned char count[8];
unsigned char *buf;
if (substr (buf, search, 11, searchlen)) {
unsigned char in[9],j;
for (j=0; j < len; j++)
in[j] = inputs[count[j]];
}
}
int main ()
{
int i, searchlen;
const char *arg;
foo (i, arg, searchlen);
return 0;
}