aboutsummaryrefslogtreecommitdiff
path: root/loader
diff options
context:
space:
mode:
authorMark Young <marky@lunarg.com>2016-09-02 11:39:26 -0600
committerMark Young <marky@lunarg.com>2016-09-02 13:52:11 -0600
commit59091ddd51892ab4dd6ff9e91fa0b67926eb70cb (patch)
treee64606d453d30618849b03ef7b2be84e6dc3d212 /loader
parent1f658d99f3475e351b565d9a4dab8721bb86b326 (diff)
downloadusermoji-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.c36
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);
}