[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [Cluster-devel] [PATCH 08/41] cman_tool: don't use envp from main



On 11/23/2011 11:28 AM, Steven Whitehouse wrote:
> Hi,
> 
> On Wed, 2011-11-23 at 11:15 +0100, Fabio M. Di Nitto wrote:
>> according to wikipedia it is a microsoft extensions. Use __environ
>> directly from unistd.h
>>
>> Spotted by Coverity Scan
>>
>> Signed-off-by: Fabio M. Di Nitto <fdinitto redhat com>
>> ---
>> :100644 100644 60091c9... 6c5744e... M	cman/cman_tool/cman_tool.h
>> :100644 100644 872528b... b92090c... M	cman/cman_tool/join.c
>> :100644 100644 a336c42... 6d8a1eb... M	cman/cman_tool/main.c
>>  cman/cman_tool/cman_tool.h |    3 +--
>>  cman/cman_tool/join.c      |   13 +++++++------
>>  cman/cman_tool/main.c      |   10 +++++-----
>>  3 files changed, 13 insertions(+), 13 deletions(-)
>>
>> diff --git a/cman/cman_tool/cman_tool.h b/cman/cman_tool/cman_tool.h
>> index 60091c9..6c5744e 100644
>> --- a/cman/cman_tool/cman_tool.h
>> +++ b/cman/cman_tool/cman_tool.h
>> @@ -19,7 +19,6 @@
>>  #include <fcntl.h>
>>  #include <netdb.h>
>>  #include <limits.h>
>> -#include <unistd.h>
>>  
>>  extern char *prog_name;
>>  
>> @@ -105,6 +104,6 @@ struct commandline
>>  };
>>  typedef struct commandline commandline_t;
>>  
>> -int join(commandline_t *comline, char *envp[]);
>> +int join(commandline_t *comline);
>>  
>>  #endif  /*  __CMAN_TOOL_DOT_H__  */
>> diff --git a/cman/cman_tool/join.c b/cman/cman_tool/join.c
>> index 872528b..b92090c 100644
>> --- a/cman/cman_tool/join.c
>> +++ b/cman/cman_tool/join.c
>> @@ -1,4 +1,5 @@
>>  #include <errno.h>
>> +#include <unistd.h>
>>  #include <sys/wait.h>
>>  #include <stdint.h>
>>  #include <signal.h>
>> @@ -119,7 +120,7 @@ static int check_corosync_status(pid_t pid)
>>  	return status;
>>  }
>>  
>> -int join(commandline_t *comline, char *main_envp[])
>> +int join(commandline_t *comline)
>>  {
>>  	int i, err;
>>  	int envptr = 0;
>> @@ -205,9 +206,9 @@ int join(commandline_t *comline, char *main_envp[])
>>  
>>  	/* Copy any COROSYNC_* env variables to the new daemon */
>>  	i=0;
>> -	while (i < MAX_ARGS && main_envp[i]) {
>> -		if (strncmp(main_envp[i], "COROSYNC_", 9) == 0)
>> -			envp[envptr++] = main_envp[i];
>> +	while (i < MAX_ARGS && __environ[i]) {
>> +		if (strncmp(__environ[i], "COROSYNC_", 9) == 0)
>> +			envp[envptr++] = __environ[i];
>>  		i++;
>>  	}
> Why not just use getenv() ?

getenv implies that you know the values you are looking for.

This function is generic and look for everything that starts with
COROSYNC_ in the environment.

Fabio


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]