src/server/safs/service.c

changeset 548
40ecc0a6b280
parent 496
d511c13ba68d
equal deleted inserted replaced
547:280bf87c8689 548:40ecc0a6b280
156 begin = -1; 156 begin = -1;
157 start = i+1; 157 start = i+1;
158 continue; 158 continue;
159 } 159 }
160 char *end; 160 char *end;
161 errno = 0;
161 long long n = strtoll(num.ptr, &end, 10); 162 long long n = strtoll(num.ptr, &end, 10);
162 if(errno == 0 && end == range.ptr + i && n >= 0) { 163 if(errno == 0 && end == range.ptr + i && n >= 0) {
163 begin = n; 164 begin = n;
164 hasbegin = 1; 165 hasbegin = 1;
165 start = i+1; 166 start = i+1;
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;

mercurial