| 224 | } |
| 225 | |
| 226 | int parse_time(uint32_t *psec, uint32_t *pnsec, const char **pp) |
| 227 | { |
| 228 | const char *p; |
| 229 | uint32_t v, m; |
| 230 | p = *pp; |
| 231 | if (parse_uint32(psec, &p) < 0) |
| 232 | return -1; |
| 233 | v = 0; |
| 234 | if (*p == '.') { |
| 235 | p++; |
| 236 | /* XXX: inefficient */ |
| 237 | m = 1000000000; |
| 238 | v = 0; |
| 239 | while (*p >= '0' && *p <= '9') { |
| 240 | m /= 10; |
| 241 | v += (*p - '0') * m; |
| 242 | p++; |
| 243 | } |
| 244 | } |
| 245 | *pnsec = v; |
| 246 | *pp = p; |
| 247 | return 0; |
| 248 | } |
| 249 | |
| 250 | int parse_file_id(FSFileID *pval, const char **pp) |
| 251 | { |
no test coverage detected