serval-dna/nacl/nacl-20110221/curvecp/nameparse.c
Daniel O'Connor bf9710fd5a Unpacked nacl-20110221 after processing by nacl-prepare-sources.
This only affects build_android, if nacl-gcc-prep is run then build/`uname -s` will be created.
2012-02-27 12:40:14 +10:30

20 lines
514 B
C

#include "nameparse.h"
int nameparse(unsigned char *s,const char *x)
{
long long pos;
long long j;
if (!x) return 0;
for (pos = 0;pos < 256;++pos) s[pos] = 0;
pos = 0;
while (*x) {
if (*x == '.') { ++x; continue; }
for (j = 0;x[j];++j) if (x[j] == '.') break;
if (j > 63) return 0;
if (pos < 0 || pos >= 256) return 0; s[pos++] = j;
while (j > 0) { if (pos < 0 || pos >= 256) return 0; s[pos++] = *x++; --j; }
}
if (pos < 0 || pos >= 256) return 0; s[pos++] = 0;
return 1;
}