SYS-REQ-112
(value []byte)
| 2390 | |
| 2391 | // SYS-REQ-112 |
| 2392 | func validJSONNumber(value []byte) bool { |
| 2393 | i := 0 |
| 2394 | if value[i] == '-' { |
| 2395 | i++ |
| 2396 | if i == len(value) { |
| 2397 | return false |
| 2398 | } |
| 2399 | } |
| 2400 | |
| 2401 | if value[i] == '0' { |
| 2402 | i++ |
| 2403 | if i < len(value) && value[i] >= '0' && value[i] <= '9' { |
| 2404 | return false |
| 2405 | } |
| 2406 | } else { |
| 2407 | if value[i] < '1' || value[i] > '9' { |
| 2408 | return false |
| 2409 | } |
| 2410 | for i < len(value) && value[i] >= '0' && value[i] <= '9' { |
| 2411 | i++ |
| 2412 | } |
| 2413 | } |
| 2414 | |
| 2415 | if i < len(value) && value[i] == '.' { |
| 2416 | i++ |
| 2417 | start := i |
| 2418 | for i < len(value) && value[i] >= '0' && value[i] <= '9' { |
| 2419 | i++ |
| 2420 | } |
| 2421 | if i == start { |
| 2422 | return false |
| 2423 | } |
| 2424 | } |
| 2425 | |
| 2426 | if i < len(value) && (value[i] == 'e' || value[i] == 'E') { |
| 2427 | i++ |
| 2428 | if i < len(value) && (value[i] == '+' || value[i] == '-') { |
| 2429 | i++ |
| 2430 | } |
| 2431 | start := i |
| 2432 | for i < len(value) && value[i] >= '0' && value[i] <= '9' { |
| 2433 | i++ |
| 2434 | } |
| 2435 | if i == start { |
| 2436 | return false |
| 2437 | } |
| 2438 | } |
| 2439 | |
| 2440 | return i == len(value) |
| 2441 | } |
no outgoing calls
no test coverage detected