Mercurial > libedl
comparison src/datatypes.c @ 14:2d7c810a1ac2 default tip
*: misc. cleanup
| author | Paper <paper@paper.us.eu.org> |
|---|---|
| date | Fri, 03 May 2024 22:40:28 -0400 |
| parents | 0cc2555db371 |
| children |
comparison
equal
deleted
inserted
replaced
| 13:41b74137e201 | 14:2d7c810a1ac2 |
|---|---|
| 19 | 19 |
| 20 return s; | 20 return s; |
| 21 } | 21 } |
| 22 | 22 |
| 23 size_t EDL_internal_parse_int(const char* input, size_t offset, size_t length, int* int_return) { | 23 size_t EDL_internal_parse_int(const char* input, size_t offset, size_t length, int* int_return) { |
| 24 char* ptr_return = input; | |
| 25 | |
| 24 if (offset > length) | 26 if (offset > length) |
| 25 return 0; | 27 return 0; |
| 26 | 28 |
| 27 { | 29 *int_return = strtol(&input[offset], &ptr_return, 10); |
| 28 char* ptr_return; | |
| 29 *int_return = strtol(&input[offset], &ptr_return, 10); | |
| 30 | 30 |
| 31 if (!ptr_return) | 31 if (ptr_return == input) |
| 32 return 0; | 32 return 0; |
| 33 } | |
| 34 | 33 |
| 35 return EDL_internal_append_offset(input, offset, length); | 34 return EDL_internal_append_offset(input, offset, length); |
| 36 } | 35 } |
| 37 | 36 |
| 38 size_t EDL_internal_parse_double(const char* input, size_t offset, size_t length, double* double_return) { | 37 size_t EDL_internal_parse_double(const char* input, size_t offset, size_t length, double* double_return) { |
| 38 char* ptr_return = input; | |
| 39 | |
| 39 if (offset > length) | 40 if (offset > length) |
| 40 return 0; | 41 return 0; |
| 41 | 42 |
| 42 { | 43 *double_return = strtod(&input[offset], &ptr_return); |
| 43 char* ptr_return; | |
| 44 *double_return = strtod(&input[offset], &ptr_return); | |
| 45 | 44 |
| 46 if (!ptr_return) | 45 if (ptr_return == input) |
| 47 return 0; | 46 return 0; |
| 48 } | |
| 49 | 47 |
| 50 return EDL_internal_append_offset(input, offset, length); | 48 return EDL_internal_append_offset(input, offset, length); |
| 51 } | 49 } |
| 52 | 50 |
| 53 size_t EDL_internal_parse_bool(const char* input, size_t offset, size_t length, bool* bool_return) { | 51 size_t EDL_internal_parse_bool(const char* input, size_t offset, size_t length, bool* bool_return) { |
| 77 } | 75 } |
| 78 | 76 |
| 79 size_t EDL_internal_parse_string(const char* input, size_t offset, size_t length, char** string_return) { | 77 size_t EDL_internal_parse_string(const char* input, size_t offset, size_t length, char** string_return) { |
| 80 size_t start, s_length; | 78 size_t start, s_length; |
| 81 | 79 |
| 82 /* will most definitely break on good filesystems */ | 80 /* will definitely break on any good filesystem */ |
| 83 if (offset > length) | 81 if (offset > length) |
| 84 return 0; | 82 return 0; |
| 85 | 83 |
| 86 start = strchr(&input[offset], '\"') - &input[offset] + 1; | 84 start = strchr(&input[offset], '\"') - &input[offset] + 1; |
| 87 if (start + offset > length) | 85 if (start + offset > length) |
