* callproc.c: Don't assume string length fits in 'int.'
authorPaul Eggert <eggert@cs.ucla.edu>
Sun, 19 Jun 2011 18:30:19 +0000 (11:30 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Sun, 19 Jun 2011 18:30:19 +0000 (11:30 -0700)
src/ChangeLog
src/callproc.c

index ec90bbc..89d518a 100644 (file)
@@ -1,5 +1,7 @@
 2011-06-19  Paul Eggert  <eggert@cs.ucla.edu>
 
+       * callproc.c (getenv_internal_1, getenv_internal)
+       (Fgetenv_internal):
        * buffer.c (init_buffer): Don't assume string length fits in 'int'.
 
        * lread.c (invalid_syntax): Omit length argument.
index d6bad2a..fae47b7 100644 (file)
@@ -1378,8 +1378,8 @@ relocate_fd (int fd, int minfd)
 #endif /* not WINDOWSNT */
 
 static int
-getenv_internal_1 (const char *var, int varlen, char **value, int *valuelen,
-                  Lisp_Object env)
+getenv_internal_1 (const char *var, ptrdiff_t varlen, char **value,
+                  ptrdiff_t *valuelen, Lisp_Object env)
 {
   for (; CONSP (env); env = XCDR (env))
     {
@@ -1413,8 +1413,8 @@ getenv_internal_1 (const char *var, int varlen, char **value, int *valuelen,
 }
 
 static int
-getenv_internal (const char *var, int varlen, char **value, int *valuelen,
-                Lisp_Object frame)
+getenv_internal (const char *var, ptrdiff_t varlen, char **value,
+                ptrdiff_t *valuelen, Lisp_Object frame)
 {
   /* Try to find VAR in Vprocess_environment first.  */
   if (getenv_internal_1 (var, varlen, value, valuelen,
@@ -1454,7 +1454,7 @@ If optional parameter ENV is a list, then search this list instead of
   (Lisp_Object variable, Lisp_Object env)
 {
   char *value;
-  int valuelen;
+  ptrdiff_t valuelen;
 
   CHECK_STRING (variable);
   if (CONSP (env))