cvsuser 03/07/11 01:58:51
Modified: classes env.pmc
config/gen/platform ansi.c darwin.c generic.c
platform_interface.h win32.c
. interpreter.c
Log:
use Parrot_{g,s}etenv
Revision Changes Path
1.2 +27 -29 parrot/classes/env.pmc
Index: env.pmc
===================================================================
RCS file: /cvs/public/parrot/classes/env.pmc,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -w -r1.1 -r1.2
--- env.pmc 10 Jul 2003 22:49:50 -0000 1.1
+++ env.pmc 11 Jul 2003 08:58:46 -0000 1.2
@@ -1,7 +1,7 @@
/* env.pmc
* Copyright: 2002, 2003 Yet Another Society
* CVS Info
- * $Id: env.pmc,v 1.1 2003/07/10 22:49:50 dan Exp $
+ * $Id: env.pmc,v 1.2 2003/07/11 08:58:46 leo Exp $
* Overview:
* These are the vtable functions for the Env base class, which
* accesses the system environment
@@ -14,19 +14,16 @@
#include "parrot/parrot.h"
pmclass Env extends default {
- INTVAL type () {
- return enum_class_Env;
- }
-
STRING* name() {
return whoami;
}
STRING* get_string_keyed(PMC* key) {
- char *keyname = string_to_cstring(interpreter, VTABLE_get_string(interpreter,
key));
+ char *keyname = string_to_cstring(interpreter,
+ VTABLE_get_string(interpreter, key));
if (keyname) {
- char *val = getenv(keyname);
+ char *val = Parrot_getenv(keyname);
string_cstring_free(keyname);
if (val) {
return string_from_c_string(interpreter, val, 0);
@@ -39,10 +36,11 @@
}
void set_string_keyed(PMC* key, STRING* value) {
- char *keyname = string_to_cstring(interpreter, VTABLE_get_string(interpreter,
key));
+ char *keyname = string_to_cstring(interpreter,
+ VTABLE_get_string(interpreter, key));
char *env_val = string_to_cstring(interpreter, value);
if (keyname && env_val) {
- setenv(keyname, env_val, 1);
+ Parrot_setenv(keyname, env_val);
}
if (keyname) {
string_cstring_free(keyname);
1.5 +10 -1 parrot/config/gen/platform/ansi.c
Index: ansi.c
===================================================================
RCS file: /cvs/public/parrot/config/gen/platform/ansi.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -w -r1.4 -r1.5
--- ansi.c 23 Oct 2002 05:31:44 -0000 1.4
+++ ansi.c 11 Jul 2003 08:58:49 -0000 1.5
@@ -50,7 +50,16 @@
void
Parrot_setenv(const char *name, const char *value)
{
- Parrot_warn(NULL, PARROT_WARNINGS_PLATFORM_FLAG, "Parrot_setenv not
implemented");
+ Parrot_warn(NULL, PARROT_WARNINGS_PLATFORM_FLAG,
+ "Parrot_setenv not implemented");
+ return;
+}
+
+char *
+Parrot_getenv(const char *name)
+{
+ Parrot_warn(NULL, PARROT_WARNINGS_PLATFORM_FLAG,
+ "Parrot_getenv not implemented");
return;
}
1.5 +6 -0 parrot/config/gen/platform/darwin.c
Index: darwin.c
===================================================================
RCS file: /cvs/public/parrot/config/gen/platform/darwin.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -w -r1.4 -r1.5
--- darwin.c 22 Nov 2002 16:24:06 -0000 1.4
+++ darwin.c 11 Jul 2003 08:58:49 -0000 1.5
@@ -52,11 +52,17 @@
** Parrot_setenv()
*/
+#define HAS_SETENV /* XXX need a test, this is never set */
#ifdef HAS_SETENV
void
Parrot_setenv(const char *name, const char *value)
{
setenv(name, value, 1);
+}
+char *
+Parrot_getenv(const char *name)
+{
+ return getenv(name);
}
#else
/* putenv-based version might go here, but see perl5's util.c for
1.10 +7 -0 parrot/config/gen/platform/generic.c
Index: generic.c
===================================================================
RCS file: /cvs/public/parrot/config/gen/platform/generic.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -w -r1.9 -r1.10
--- generic.c 12 Jun 2003 16:07:21 -0000 1.9
+++ generic.c 11 Jul 2003 08:58:49 -0000 1.10
@@ -53,11 +53,18 @@
** Parrot_setenv()
*/
+#define HAS_SETENV /* XXX need a test, this is never set */
#ifdef HAS_SETENV
void
Parrot_setenv(const char *name, const char *value)
{
setenv(name, value, 1);
+}
+
+char *
+Parrot_getenv(const char *name)
+{
+ return getenv(name);
}
#else
/* putenv-based version might go here, but see perl5's util.c for
1.2 +1 -0 parrot/config/gen/platform/platform_interface.h
Index: platform_interface.h
===================================================================
RCS file: /cvs/public/parrot/config/gen/platform/platform_interface.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -w -r1.1 -r1.2
--- platform_interface.h 6 Jun 2003 08:29:44 -0000 1.1
+++ platform_interface.h 11 Jul 2003 08:58:50 -0000 1.2
@@ -29,6 +29,7 @@
INTVAL Parrot_intval_time(void);
FLOATVAL Parrot_floatval_time(void);
void Parrot_setenv(const char *name, const char *value);
+char * Parrot_getenv(const char *name);
/*
** Dynamic Loading:
1.4 +5 -0 parrot/config/gen/platform/win32.c
Index: win32.c
===================================================================
RCS file: /cvs/public/parrot/config/gen/platform/win32.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -w -r1.3 -r1.4
--- win32.c 27 Apr 2003 07:36:47 -0000 1.3
+++ win32.c 11 Jul 2003 08:58:50 -0000 1.4
@@ -60,6 +60,11 @@
}
+char *
+Parrot_getenv(const char *name)
+{
+ return getenv(name);
+}
/*
** Parrot_dlopen()
*/
1.168 +4 -4 parrot/interpreter.c
Index: interpreter.c
===================================================================
RCS file: /cvs/public/parrot/interpreter.c,v
retrieving revision 1.167
retrieving revision 1.168
diff -u -w -r1.167 -r1.168
--- interpreter.c 10 Jul 2003 16:56:46 -0000 1.167
+++ interpreter.c 11 Jul 2003 08:58:51 -0000 1.168
@@ -1,7 +1,7 @@
/* interpreter.c
* Copyright: (When this is determined...it will go here)
* CVS Info
- * $Id: interpreter.c,v 1.167 2003/07/10 16:56:46 leo Exp $
+ * $Id: interpreter.c,v 1.168 2003/07/11 08:58:51 leo Exp $
* Overview:
* The interpreter api handles running the operations
* Data Structure and Algorithms:
@@ -471,9 +471,9 @@
}
static int
-env_var_set(const char* var)
+is_env_var_set(const char* var)
{
- char* value = getenv(var);
+ char* value = Parrot_getenv(var);
if (value == NULL) return 0;
if (*value == '\0') return 0;
return ! (strcmp(value, "0") == 0);
@@ -508,7 +508,7 @@
PIO_init(interpreter);
- if (env_var_set("PARROT_GC_DEBUG")) {
+ if (is_env_var_set("PARROT_GC_DEBUG")) {
#if ! DISABLE_GC_DEBUG
Interp_flags_SET(interpreter, PARROT_GC_DEBUG_FLAG);
interpreter->lo_var_ptr = &interpreter;