Skip to content

Commit

Permalink
Create cross-platform setenv
Browse files Browse the repository at this point in the history
  • Loading branch information
anaisbetts committed Sep 19, 2011
1 parent 71a4c1f commit 222d057
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 0 deletions.
1 change: 1 addition & 0 deletions src/unix/posix.h
Expand Up @@ -20,5 +20,6 @@
#define p_vsnprintf(b, c, f, a) vsnprintf(b, c, f, a)
#define p_snprintf(b, c, f, ...) snprintf(b, c, f, __VA_ARGS__)
#define p_mkstemp(p) mkstemp(p)
#define p_setenv(n,v,o) setenv(n,v,o)

#endif
8 changes: 8 additions & 0 deletions src/win32/posix.c
Expand Up @@ -252,3 +252,11 @@ int p_mkstemp(char *tmp_path)

return p_creat(tmp_path, 0744);
}

int p_setenv(const char* name, const char* value, int overwrite)
{
if (overwrite != 1)
return EINVAL;

return (SetEnvironmentVariableA(name, value) == 0 ? GIT_EOSERR : GIT_SUCCESS);
}
1 change: 1 addition & 0 deletions src/win32/posix.h
Expand Up @@ -32,5 +32,6 @@ extern char *p_realpath(const char *orig_path, char *buffer);
extern int p_vsnprintf(char *buffer, size_t count, const char *format, va_list argptr);
extern int p_snprintf(char *buffer, size_t count, const char *format, ...) GIT_FORMAT_PRINTF(3, 4);
extern int p_mkstemp(char *tmp_path);
extern int p_setenv(const char* name, const char* value, int overwrite);

#endif

0 comments on commit 222d057

Please sign in to comment.