summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xcore/src/sv/src/num.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/core/src/sv/src/num.c b/core/src/sv/src/num.c
index 34410cbfa..772befd32 100755
--- a/core/src/sv/src/num.c
+++ b/core/src/sv/src/num.c
@@ -47,10 +47,14 @@ char semver_num_read(int *self, const char *str, size_t len, size_t *offset) {
break;
case '0':
++*offset;
- if (*offset < len && isdigit(str[*offset])) {
- return 1;
- }
- *self = 0;
+ if (*offset < len) {
+ if (isdigit(str[*offset])) {
+ *self = (int) strtol(str + *offset, &endptr, 0);
+ *offset += endptr - str - *offset;
+ } else {
+ return 1;
+ }
+ } else *self = 0;
break;
default:
if (isdigit(str[*offset])) {