aboutsummaryrefslogtreecommitdiffstats
path: root/src/callproc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/callproc.c')
-rw-r--r--src/callproc.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/callproc.c b/src/callproc.c
index d6bad2a44e7..b339f343f62 100644
--- a/src/callproc.c
+++ b/src/callproc.c
@@ -1230,8 +1230,7 @@ child_setup (int in, int out, int err, register char **new_argv, int set_pgrp, L
1230 1230
1231 if (STRINGP (display)) 1231 if (STRINGP (display))
1232 { 1232 {
1233 int vlen = strlen ("DISPLAY=") + strlen (SSDATA (display)) + 1; 1233 char *vdata = (char *) alloca (sizeof "DISPLAY=" + SBYTES (display));
1234 char *vdata = (char *) alloca (vlen);
1235 strcpy (vdata, "DISPLAY="); 1234 strcpy (vdata, "DISPLAY=");
1236 strcat (vdata, SSDATA (display)); 1235 strcat (vdata, SSDATA (display));
1237 new_env = add_env (env, new_env, vdata); 1236 new_env = add_env (env, new_env, vdata);
@@ -1378,8 +1377,8 @@ relocate_fd (int fd, int minfd)
1378#endif /* not WINDOWSNT */ 1377#endif /* not WINDOWSNT */
1379 1378
1380static int 1379static int
1381getenv_internal_1 (const char *var, int varlen, char **value, int *valuelen, 1380getenv_internal_1 (const char *var, ptrdiff_t varlen, char **value,
1382 Lisp_Object env) 1381 ptrdiff_t *valuelen, Lisp_Object env)
1383{ 1382{
1384 for (; CONSP (env); env = XCDR (env)) 1383 for (; CONSP (env); env = XCDR (env))
1385 { 1384 {
@@ -1413,8 +1412,8 @@ getenv_internal_1 (const char *var, int varlen, char **value, int *valuelen,
1413} 1412}
1414 1413
1415static int 1414static int
1416getenv_internal (const char *var, int varlen, char **value, int *valuelen, 1415getenv_internal (const char *var, ptrdiff_t varlen, char **value,
1417 Lisp_Object frame) 1416 ptrdiff_t *valuelen, Lisp_Object frame)
1418{ 1417{
1419 /* Try to find VAR in Vprocess_environment first. */ 1418 /* Try to find VAR in Vprocess_environment first. */
1420 if (getenv_internal_1 (var, varlen, value, valuelen, 1419 if (getenv_internal_1 (var, varlen, value, valuelen,
@@ -1454,7 +1453,7 @@ If optional parameter ENV is a list, then search this list instead of
1454 (Lisp_Object variable, Lisp_Object env) 1453 (Lisp_Object variable, Lisp_Object env)
1455{ 1454{
1456 char *value; 1455 char *value;
1457 int valuelen; 1456 ptrdiff_t valuelen;
1458 1457
1459 CHECK_STRING (variable); 1458 CHECK_STRING (variable);
1460 if (CONSP (env)) 1459 if (CONSP (env))
@@ -1478,7 +1477,7 @@ char *
1478egetenv (const char *var) 1477egetenv (const char *var)
1479{ 1478{
1480 char *value; 1479 char *value;
1481 int valuelen; 1480 ptrdiff_t valuelen;
1482 1481
1483 if (getenv_internal (var, strlen (var), &value, &valuelen, Qnil)) 1482 if (getenv_internal (var, strlen (var), &value, &valuelen, Qnil))
1484 return value; 1483 return value;