- // find the number
- int number_length = 0;
- while ('0' <= value[i + number_length]
- && value[i + number_length] <= '9') {
- number_length++;
- }
- xbt_assert(number_length != 0,
- "bad string parameter, no number indication, at offset: %d (\"%s\")",
- i, value);
-
- // solve number
- number = atoi(value + i);
- i = i + number_length;
- xbt_assert(i + 2 < value_length,
- "bad string parameter, too few chars, at offset: %d (\"%s\")",
- i, value);
-
- // solve the indication
+ /* solve the number */
+ int number = value[i++] - '0';
+ while (value[i] >= '0' && value[i] <= '9')
+ number = 10 * number + (value[i++] - '0');
+
+ /* solve the indication */