Semver fixes, misc fixes

This commit is contained in:
Vojtech Kral 2018-04-11 17:07:27 +02:00
parent 12b3132b1a
commit b030791384
8 changed files with 35 additions and 33 deletions

View file

@ -615,3 +615,21 @@ semver_numeric (semver_t *x) {
return num;
}
static char *semver_strdup(const char *src) {
if (src == NULL) return NULL;
size_t len = strlen(src) + 1;
char *res = malloc(len);
return res != NULL ? (char *) memcpy(res, src, len) : NULL;
}
semver_t
semver_copy(const semver_t *ver) {
semver_t res = *ver;
if (ver->metadata != NULL) {
res.metadata = strdup(ver->metadata);
}
if (ver->prerelease != NULL) {
res.prerelease = strdup(ver->prerelease);
}
}

View file

@ -98,6 +98,9 @@ semver_is_valid (const char *s);
int
semver_clean (char *s);
semver_t
semver_copy(const semver_t *ver);
#ifdef __cplusplus
}
#endif