int parse_number(char *string, int start, int end) { int i, value = 0, neg = 0; if((int)string[start+1] == 45) { neg = 1; start++; } for(i=0;start < end; end--, i++) { if(i == 0) value = ((int)string[end] - 48); else value = value + ((int)string[end] - 48) * (10*i); } if(neg == 1) { value = value * -1; } return value; } int parse_number_debug(char *string, int start, int end) { printf("\nLimits: %i to %i\n",start, end); printf("%c\n",string[start]); int i, j, power, value = 0, neg = 0; if((int)string[start+1] == 45) { neg = 1; start++; } for(i=0;start < end; end--, i++) { if(i == 0) { value = ((int)string[end] - 48); printf("First value: %i\n",(int)string[end] - 48); } else { /* I feel dirrrrrrrrrrrrty */ for(j=1,power=10;j