switch (errno) { case ENOENT:   /* No such file or directory */ case EISDIR:   /* Is a directory */ exit_value = EXECRA_NO_RA; break;  default: exit_value = EXECRA_EXEC_UNKNOWN_ERROR; 
switch (errno) { case ENOENT:   /* No such file or directory */ case EISDIR:   /* Is a directory */ exit_value = EXECRA_NO_RA; break; default: exit_value = EXECRA_EXEC_UNKNOWN_ERROR; 
execra( const char * ra_name, const char * op, 	GHashTable * cmd_params, GHashTable * env_params ){        RA_ARGV params_argv;	uniform_ret_execra_t exit_value;	char *ra_name_dup, *base_name;	GString * ra_dirname;	cl_log(LOG_DEBUG, "To execute a RA %s.", ra_name);	/* Prepare the call parameter */	if (0 > prepare_cmd_parameters(ra_name, op, cmd_params, params_argv)) {		cl_log(LOG_ERR, "HB RA: Error of preparing parameters");		return -1;	}	ra_dirname = g_string_new(ra_name);	ra_name_dup = strndup(ra_name, RA_MAX_DIRNAME_LENGTH);	base_name = basename(ra_name_dup);	/*	 * If ra_name only contains basename, then append RA_PATH.	 * If ra_name is a pathname, then don't deal with it.	 */	if ( strncmp(ra_name, base_name, RA_MAX_BASENAME_LENGTH) == 0 ) {		g_string_insert(ra_dirname, 0, RA_PATH);	}	free(ra_name_dup);	/* For heartbeat scripts, no definite specification for parameters	 * Not set calling parameters	 */	raexec_setenv(env_params);	if ( execv(ra_name, params_argv) < 0 ) {		cl_log(LOG_ERR, "execl error when to execute RA %s.", ra_name);	}        switch (errno) {                case ENOENT:   /* No such file or directory */                case EISDIR:   /* Is a directory */                        exit_value = EXECRA_NO_RA;                        break;                default:                        exit_value = EXECRA_EXEC_UNKNOWN_ERROR;        }        cl_log(LOG_ERR, "execl error when to execute RA %s.", ra_name);        exit(exit_value);}
8182	/local/tlutelli/issta_data/temp/c/2005_temp/2005/8182/d73209e240f2d3646775a4a5ca82b55d65685681/raexechb.c/buggy/lib/plugins/lrm/raexechb.c