Просмотр исходного кода

set LC_ALL to C in execve environemnt

git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@625 f882894a-f735-0410-b71e-b25c423dba1c
Karl DeBisschop 22 лет назад
Родитель
Сommit
0b9ca89dbb
1 измененных файлов с 6 добавлено и 6 удалено
  1. 6 6
      plugins/popen.c

+ 6 - 6
plugins/popen.c

@@ -67,7 +67,7 @@ static int maxfd;								/* from our open_max(), {Prog openmax} */
 FILE *
 spopen (const char *cmdstring)
 {
-	char *environ[] = { NULL };
+	char *env[] = { "LC_ALL=C", (char*)0 };
 	char *cmd = NULL;
 	char **argv = NULL;
 	char *str;
@@ -182,7 +182,7 @@ spopen (const char *cmdstring)
 			if (childpid[i] > 0)
 				close (i);
 
-		execve (argv[0], argv, environ);
+		execve (argv[0], argv, env);
 		_exit (0);
 	}
 
@@ -199,7 +199,7 @@ spopen (const char *cmdstring)
 int
 spclose (FILE * fp)
 {
-	int fd, stat;
+	int fd, status;
 	pid_t pid;
 
 	if (childpid == NULL)
@@ -213,12 +213,12 @@ spclose (FILE * fp)
 	if (fclose (fp) == EOF)
 		return (1);
 
-	while (waitpid (pid, &stat, 0) < 0)
+	while (waitpid (pid, &status, 0) < 0)
 		if (errno != EINTR)
 			return (1);							/* error other than EINTR from waitpid() */
 
-	if (WIFEXITED (stat))
-		return (WEXITSTATUS (stat));	/* return child's termination status */
+	if (WIFEXITED (status))
+		return (WEXITSTATUS (status));	/* return child's termination status */
 
 	return (1);
 }