short StringToNum(char*cc, long *L, char base); short StringToNum(char*cc, long *L, char base) { short sign; short ch; *L=0; if(*cc=='-') {sign=-1;cc++;} else sign=1; if(*cc=='+') cc++; while(*cc!=0) { ch=*cc;cc++; if(ch<'0'|| ( (ch>'9') && (ch<'A')) || ch>'F') { printf("Bad character. ASCI= %i, char= %c\n",*(cc-1),*(cc-1)); return -1;} ch-='0'; if(ch>9) ch-='A'-'0'-10; if(ch>=base) {printf("Bad character. ASCI= %i, char= %c\n",*(cc-1),*(cc-1));return -1;} *L*=base; *L+=ch; } if(sign<0) *L=-(*L); return 1; }