diff --git a/src/CHANGELOG b/src/CHANGELOG index 66df0ea14..71fd98777 100755 --- a/src/CHANGELOG +++ b/src/CHANGELOG @@ -195,6 +195,8 @@ ECL 11.1.2 - ECL will always build, by default, with support for Unicode strings. + - EXT:GETENV coerces its input argument to type BASE-STRING. + ;;; Local Variables: *** ;;; mode:text *** ;;; fill-column:79 *** diff --git a/src/c/main.d b/src/c/main.d index acb0a4bdc..a87f34995 100644 --- a/src/c/main.d +++ b/src/c/main.d @@ -812,7 +812,8 @@ si_getenv(cl_object var) { const char *value; - var = ecl_check_cl_type(@'ext::getenv', var, t_base_string); + /* Strings have to be null terminated base strings */ + var = si_copy_to_simple_base_string(var); value = getenv((char*)var->base_string.self); @(return ((value == NULL)? Cnil : make_base_string_copy(value))) }