diff --git a/runtime/libprofile/GCDAProfiling.c b/runtime/libprofile/GCDAProfiling.c index 568b2b0faa4..2c373484bb3 100644 --- a/runtime/libprofile/GCDAProfiling.c +++ b/runtime/libprofile/GCDAProfiling.c @@ -85,17 +85,16 @@ static void recursive_mkdir(const char *filename) { int i, e; for (i = 1, e = strlen(filename); i != e; ++i) { - if (filename[i] == '/') { - pathname = malloc(i + 1); - strncpy(pathname, filename, i); - pathname[i] = '\0'; + if (filename[i] != '/') continue; + pathname = malloc(i + 1); + strncpy(pathname, filename, i); + pathname[i] = '\0'; #ifdef _WIN32 - _mkdir(pathname); + _mkdir(pathname); #else - mkdir(pathname, 0750); /* some of these will fail, ignore it. */ + mkdir(pathname, 0750); /* some of these will fail, ignore it. */ #endif - free(pathname); - } + free(pathname); } }