Allocate memory only if we're going to overwrite an environment variable
--HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404332
This commit is contained in:
parent
510c961476
commit
c825464c2f
1 changed files with 5 additions and 4 deletions
|
@ -93,6 +93,11 @@ SDL_setenv(const char *name, const char *value, int overwrite)
|
||||||
return (-1);
|
return (-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* See if it already exists */
|
||||||
|
if (!overwrite && SDL_getenv(name)) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* Allocate memory for the variable */
|
/* Allocate memory for the variable */
|
||||||
len = SDL_strlen(name) + SDL_strlen(value) + 2;
|
len = SDL_strlen(name) + SDL_strlen(value) + 2;
|
||||||
new_variable = (char *) SDL_malloc(len);
|
new_variable = (char *) SDL_malloc(len);
|
||||||
|
@ -117,10 +122,6 @@ SDL_setenv(const char *name, const char *value, int overwrite)
|
||||||
}
|
}
|
||||||
/* If we found it, just replace the entry */
|
/* If we found it, just replace the entry */
|
||||||
if (SDL_env[i]) {
|
if (SDL_env[i]) {
|
||||||
if (!overwrite) {
|
|
||||||
SDL_free(new_variable);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
SDL_free(SDL_env[i]);
|
SDL_free(SDL_env[i]);
|
||||||
SDL_env[i] = new_variable;
|
SDL_env[i] = new_variable;
|
||||||
added = 1;
|
added = 1;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue