175 if(num.length == 0) { |
176 if(num.length == 0) { |
176 // empty string after '-' is legal |
177 // empty string after '-' is legal |
177 n = -1; |
178 n = -1; |
178 } else { |
179 } else { |
179 char *end; |
180 char *end; |
|
181 errno = 0; |
180 n = strtoll(num.ptr, &end, 10); |
182 n = strtoll(num.ptr, &end, 10); |
181 if(errno != 0 || end != range.ptr + i || n < 0) { |
183 if(errno != 0 || end != range.ptr + i || n < 0) { |
182 // syntax error |
184 // syntax error |
183 free_range(sn, range_list); |
185 free_range(sn, range_list); |
184 return NULL; |
186 return NULL; |