diff options
| author | Mark Young <marky@lunarg.com> | 2016-09-02 11:39:26 -0600 |
|---|---|---|
| committer | Mark Young <marky@lunarg.com> | 2016-09-02 13:52:11 -0600 |
| commit | 59091ddd51892ab4dd6ff9e91fa0b67926eb70cb (patch) | |
| tree | e64606d453d30618849b03ef7b2be84e6dc3d212 /loader | |
| parent | 1f658d99f3475e351b565d9a4dab8721bb86b326 (diff) | |
| download | usermoji-59091ddd51892ab4dd6ff9e91fa0b67926eb70cb.tar.xz | |
loader: Modify loader_make_version
Modified loader_make_version to match the way we calculate the
version in other places.
Change-Id: Ia15e71fcfc0690836ed8ce1a3e9b6911988b57ff
Diffstat (limited to 'loader')
| -rw-r--r-- | loader/loader.c | 36 |
1 files changed, 15 insertions, 21 deletions
diff --git a/loader/loader.c b/loader/loader.c index 7f90ee48..803c5109 100644 --- a/loader/loader.c +++ b/loader/loader.c @@ -557,32 +557,26 @@ static size_t loader_platform_combine_path(char *dest, size_t len, ...) { * Given string of three part form "maj.min.pat" convert to a vulkan version * number. */ -static uint32_t loader_make_version(const char *vers_str) { +static uint32_t loader_make_version(char *vers_str) { uint32_t vers = 0, major = 0, minor = 0, patch = 0; - char *minor_str = NULL; - char *patch_str = NULL; - char *cstr; - char *str; + char *vers_tok; - if (!vers_str) + if (!vers_str) { return vers; - cstr = loader_stack_alloc(strlen(vers_str) + 1); - strcpy(cstr, vers_str); - while ((str = strchr(cstr, '.')) != NULL) { - if (minor_str == NULL) { - minor_str = str + 1; - *str = '\0'; - major = atoi(cstr); - } else if (patch_str == NULL) { - patch_str = str + 1; - *str = '\0'; - minor = atoi(minor_str); - } else { - return vers; + } + + vers_tok = strtok(vers_str, ".\"\n\r"); + if (NULL != vers_tok) { + major = (uint16_t)atoi(vers_tok); + vers_tok = strtok(NULL, ".\"\n\r"); + if (NULL != vers_tok) { + minor = (uint16_t)atoi(vers_tok); + vers_tok = strtok(NULL, ".\"\n\r"); + if (NULL != vers_tok) { + patch = (uint16_t)atoi(vers_tok); + } } - cstr = str + 1; } - patch = atoi(patch_str); return VK_MAKE_VERSION(major, minor, patch); } |
