From 3f4261276e31e615b32a8bb7c07fc0c177fd3951 Mon Sep 17 00:00:00 2001 From: Ben Noordhuis Date: Sat, 31 Mar 2012 23:23:46 +0200 Subject: [PATCH] node: don't check return value of unsetenv() It returns void on some platforms, notably FreeBSD. --- src/node.cc | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/node.cc b/src/node.cc index d7c26ff..e86303f 100644 --- a/src/node.cc +++ b/src/node.cc @@ -1880,12 +1880,9 @@ static Handle EnvDeleter(Local property, HandleScope scope; #ifdef __POSIX__ String::Utf8Value key(property); - // prototyped as `void unsetenv(const char*)` on some platforms - if (unsetenv(*key) < 0) { - // Deletion failed. Return true if the key wasn't there in the first place, - // false if it is still there. - return scope.Close(Boolean::New(getenv(*key) == NULL)); - }; + if (!getenv(*key)) return False(); + unsetenv(*key); // can't check return value, it's void on some platforms + return True(); #else String::Value key(property); WCHAR* key_ptr = reinterpret_cast(*key); @@ -1896,9 +1893,8 @@ static Handle EnvDeleter(Local property, GetLastError() != ERROR_SUCCESS; return scope.Close(Boolean::New(rv)); } + return True(); #endif - // It worked - return v8::True(); } -- 2.7.4