rendered paste bodyint 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<i;j++)
power *= 10;
value = value + ((int)string[end] - 48) * power;
printf("Next value: %i, power: %i\n",(int)string[end] - 48,i);
printf("Current value: %i\n",value);
}
}
if(neg == 1) {
value = value * -1;
}
return value;
}