1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

hash.c: refine error message

* hash.c (ruby_setenv): refine error message so include the variable
  name.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41520 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2013-06-21 05:31:41 +00:00
parent b9c94bce7f
commit 79031be880
2 changed files with 11 additions and 9 deletions

View file

@ -1,3 +1,8 @@
Fri Jun 21 14:31:29 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* hash.c (ruby_setenv): refine error message so include the variable
name.
Fri Jun 21 14:15:08 2013 Koichi Sasada <ko1@atdot.net>
* gc.c: fix to use total_allocated_object_num and heaps_used

15
hash.c
View file

@ -2489,8 +2489,7 @@ ruby_setenv(const char *name, const char *value)
int failed = 0;
if (strchr(name, '=')) {
fail:
errno = EINVAL;
rb_sys_fail("ruby_setenv");
rb_syserr_fail_str(EINVAL, rb_sprintf("ruby_setenv(%s)", name));
}
if (value) {
const char* p = GetEnvironmentStringsA();
@ -2518,21 +2517,20 @@ ruby_setenv(const char *name, const char *value)
#undef unsetenv
if (value) {
if (setenv(name, value, 1))
rb_sys_fail("setenv");
rb_sys_fail_str(rb_sprintf("setenv(%s)", name));
} else {
#ifdef VOID_UNSETENV
unsetenv(name);
#else
if (unsetenv(name))
rb_sys_fail("unsetenv");
rb_sys_fail_str(rb_sprintf("unsetenv(%s)", name));
#endif
}
#elif defined __sun
size_t len;
char **env_ptr, *str;
if (strchr(name, '=')) {
errno = EINVAL;
rb_sys_fail("ruby_setenv");
rb_syserr_fail_str(EINVAL, rb_sprintf("ruby_setenv(%s)", name));
}
len = strlen(name);
for (env_ptr = GET_ENVIRON(environ); (str = *env_ptr) != 0; ++env_ptr) {
@ -2546,14 +2544,13 @@ ruby_setenv(const char *name, const char *value)
str = malloc(len += strlen(value) + 2);
snprintf(str, len, "%s=%s", name, value);
if (putenv(str))
rb_sys_fail("putenv");
rb_sys_fail_str(rb_sprintf("putenv(%s)", name));
}
#else /* WIN32 */
size_t len;
int i;
if (strchr(name, '=')) {
errno = EINVAL;
rb_sys_fail("ruby_setenv");
rb_syserr_fail_str(EINVAL, rb_sprintf("ruby_setenv(%s)", name));
}
i=envix(name); /* where does it go? */