[Initng-svn] r2386 - in initng: plugins/also plugins/bash_launcher
plugins/chdir plugins/chroot plugins/depend plugins/envparser
plugins/fstat plugins/pidfile plugins/simple_launcher
plugins/stdout plugins/suid plugins/syncron src
svn at initng.thinktux.net
svn at initng.thinktux.net
Mon Dec 12 12:36:42 CET 2005
Author: jimmy
Date: Mon Dec 12 12:36:40 2005
New Revision: 2386
Modified:
initng/plugins/also/initng_also.c
initng/plugins/bash_launcher/initng_bash_launcher.c
initng/plugins/chdir/initng_chdir.c
initng/plugins/chroot/initng_chroot.c
initng/plugins/depend/initng_depend.c
initng/plugins/envparser/initng_envparser.c
initng/plugins/fstat/initng_fstat.c
initng/plugins/pidfile/initng_pidfile.c
initng/plugins/simple_launcher/initng_simple_launcher.c
initng/plugins/stdout/initng_stdout.c
initng/plugins/suid/initng_suid.c
initng/plugins/syncron/initng_syncron.c
initng/src/initng_active_db.c
initng/src/initng_active_db.h
initng/src/initng_env_variable.c
initng/src/initng_env_variable.h
initng/src/initng_service_cache.c
initng/src/initng_service_cache.h
initng/src/initng_struct_data.c
initng/src/initng_struct_data.h
Log:
Moved a lot of "char *" to "const char *" to make it more failsafe.
Modified: initng/plugins/also/initng_also.c
==============================================================================
--- initng/plugins/also/initng_also.c (original)
+++ initng/plugins/also/initng_also.c Mon Dec 12 12:36:40 2005
@@ -44,7 +44,7 @@
int service_state(active_h * service)
{
- char *tmp = NULL;
+ const char *tmp = NULL;
active_h *current = NULL;
assert(service);
Modified: initng/plugins/bash_launcher/initng_bash_launcher.c
==============================================================================
--- initng/plugins/bash_launcher/initng_bash_launcher.c (original)
+++ initng/plugins/bash_launcher/initng_bash_launcher.c Mon Dec 12 12:36:40 2005
@@ -60,15 +60,15 @@
"The options bash shuld get."
};
-static void bash_this(char *bash_code, active_h * s, char *args);
+static void bash_this(const char *bash_code, active_h * s, const char *args);
static int bash_exec(process_h * process_to_exec, active_h * s,
- char *script, char *args);
+ const char *script, const char *args);
static int initng_bash(active_h * service, process_h * process)
{
- char *e = NULL;
- char *args = NULL;
+ const char *e = NULL;
+ const char *args = NULL;
assert(service);
assert(service->name);
@@ -84,7 +84,7 @@
}
-static void bash_this(char *bash_code, active_h * s, char *args)
+static void bash_this(const char *bash_code, active_h * s, const char *args)
{
D_("bash_this(%s);\n", s->name);
/* Todo : move bash_this into initng_bash_launcher and parse args properly\n" */
@@ -96,9 +96,9 @@
strcat(argtmp[0], s->name);
strcat(argtmp[0], "]");
argtmp[1] = i_strdup("-c");
- argtmp[2] = bash_code;
+ argtmp[2] = i_strdup(bash_code);
argtmp[3] = s->name;
- argtmp[4] = args;
+ argtmp[4] = i_strdup(args);
argtmp[5] = NULL;
execve("/bin/sh", argtmp, new_environ(s));
free(argtmp[0]);
@@ -112,7 +112,7 @@
static int bash_exec(process_h * process_to_exec, active_h * s,
- char *script, char *args)
+ const char *script, const char *args)
{
/* called from inside the service directory, return the PID or 0 on error */
Modified: initng/plugins/chdir/initng_chdir.c
==============================================================================
--- initng/plugins/chdir/initng_chdir.c (original)
+++ initng/plugins/chdir/initng_chdir.c Mon Dec 12 12:36:40 2005
@@ -38,7 +38,7 @@
};
int do_chdir(active_h * s, process_h * p __attribute__ ((unused)))
{
- char *tmp = NULL;
+ const char *tmp = NULL;
assert(s);
assert(s->name);
Modified: initng/plugins/chroot/initng_chroot.c
==============================================================================
--- initng/plugins/chroot/initng_chroot.c (original)
+++ initng/plugins/chroot/initng_chroot.c Mon Dec 12 12:36:40 2005
@@ -39,7 +39,7 @@
int do_chroot(active_h * s, process_h * p __attribute__ ((unused)))
{
- char *tmp = NULL;
+ const char *tmp = NULL;
assert(s);
assert(s->name);
Modified: initng/plugins/depend/initng_depend.c
==============================================================================
--- initng/plugins/depend/initng_depend.c (original)
+++ initng/plugins/depend/initng_depend.c Mon Dec 12 12:36:40 2005
@@ -38,7 +38,7 @@
/* standard dep check */
static int dep_on(active_h * service, active_h * check)
{
- char *string = NULL;
+ const char *string = NULL;
assert(service);
assert(check);
@@ -66,7 +66,7 @@
int service_state(active_h * service)
{
- char *tmp = NULL;
+ const char *tmp = NULL;
assert(service);
assert(service->name);
Modified: initng/plugins/envparser/initng_envparser.c
==============================================================================
--- initng/plugins/envparser/initng_envparser.c (original)
+++ initng/plugins/envparser/initng_envparser.c Mon Dec 12 12:36:40 2005
@@ -42,12 +42,12 @@
"Same as env_file, but service will file if the file dont exits."
};
-static int parse_file(char *file, service_h * s);
+static int parse_file(const char *file, service_h * s);
/* Parse all the env_file's when service finished loading */
static int env_parser(service_h * s)
{
- char *file = NULL;
+ const char *file = NULL;
assert(s);
@@ -71,7 +71,7 @@
return (TRUE);
}
-static int parse_file(char *file, service_h * s)
+static int parse_file(const char *file, service_h * s)
{
int i = 0;
int j = 0;
Modified: initng/plugins/fstat/initng_fstat.c
==============================================================================
--- initng/plugins/fstat/initng_fstat.c (original)
+++ initng/plugins/fstat/initng_fstat.c Mon Dec 12 12:36:40 2005
@@ -46,7 +46,7 @@
/* returns TRUE if all use deps are started */
static int check_files_to_exist(active_h * service, a_state_h * status)
{
- char *file = NULL;
+ const char *file = NULL;
struct stat file_stat;
S_;
Modified: initng/plugins/pidfile/initng_pidfile.c
==============================================================================
--- initng/plugins/pidfile/initng_pidfile.c (original)
+++ initng/plugins/pidfile/initng_pidfile.c Mon Dec 12 12:36:40 2005
@@ -203,19 +203,20 @@
static pid_t get_pidof(active_h * s)
{
pid_t pid;
- char *pidof;
+ const char *pidof;
+ char *pidof_fixed = NULL;
pidof = active_db_get_string(&PIDOF, s);
if (!pidof)
return (-1);
- pidof = fix_variables(pidof, s);
- if (!pidof)
+ pidof_fixed = fix_variables(pidof, s);
+ if (!pidof_fixed)
return (-1);
- pid = pid_of(pidof);
- free(pidof);
+ pid = pid_of(pidof_fixed);
+ free(pidof_fixed);
return (pid);
}
@@ -223,7 +224,8 @@
static pid_t get_pidfile(active_h * s)
{
pid_t pid;
- char *pidfile;
+ const char *pidfile = NULL;
+ char *pidfile_fixed = NULL;
/* get the pidfile */
pidfile = active_db_get_string(&PIDFILE, s);
@@ -233,15 +235,15 @@
return (-1);
/* fix the variables in the string */
- pidfile = fix_variables(pidfile, s);
+ pidfile_fixed = fix_variables(pidfile, s);
/* check so we got the string */
- if (!pidfile)
+ if (!pidfile_fixed)
return (-1);
/* get the pid from the file */
- pid = pid_from_file(pidfile);
- free(pidfile);
+ pid = pid_from_file(pidfile_fixed);
+ free(pidfile_fixed);
/* return the pid */
return (pid);
Modified: initng/plugins/simple_launcher/initng_simple_launcher.c
==============================================================================
--- initng/plugins/simple_launcher/initng_simple_launcher.c (original)
+++ initng/plugins/simple_launcher/initng_simple_launcher.c Mon Dec 12 12:36:40 2005
@@ -163,7 +163,7 @@
static int initng_s_launch(active_h * service, process_h * process)
{
- char *exec = NULL;
+ const char *exec = NULL;
assert(service);
assert(service->name);
@@ -172,7 +172,7 @@
while ((exec =
active_db_get_string_var(&EXEC, process->pt->name, service)))
{
- char *exec_args = NULL;
+ const char *exec_args = NULL;
char *exec_t = NULL, *exec_args_t = NULL;
size_t exec_c = 0;
size_t exec_args_c = 0;
Modified: initng/plugins/stdout/initng_stdout.c
==============================================================================
--- initng/plugins/stdout/initng_stdout.c (original)
+++ initng/plugins/stdout/initng_stdout.c Mon Dec 12 12:36:40 2005
@@ -54,10 +54,10 @@
{
/* string containing the filename of output */
- char *s_stdout = NULL;
- char *s_stderr = NULL;
- char *s_stdall = NULL;
- char *s_stdin = NULL;
+ const char *s_stdout = NULL;
+ const char *s_stderr = NULL;
+ const char *s_stdall = NULL;
+ const char *s_stdin = NULL;
/* filedescriptors */
int fd_stdout = -1;
Modified: initng/plugins/suid/initng_suid.c
==============================================================================
--- initng/plugins/suid/initng_suid.c (original)
+++ initng/plugins/suid/initng_suid.c Mon Dec 12 12:36:40 2005
@@ -38,7 +38,7 @@
s_entry SGID = { "sgid", STRING, 4, NULL, "Set this group id on launch." };
int do_suid(active_h * s, process_h * p __attribute__ ((unused)))
{
- char *tmp = NULL;
+ const char *tmp = NULL;
int ret = TRUE;
assert(s);
Modified: initng/plugins/syncron/initng_syncron.c
==============================================================================
--- initng/plugins/syncron/initng_syncron.c (original)
+++ initng/plugins/syncron/initng_syncron.c Mon Dec 12 12:36:40 2005
@@ -43,8 +43,8 @@
static int check_syncronicly_service(active_h * service, a_state_h * status)
{
active_h *current, *q = NULL;
- char *service_syncron;
- char *current_syncron;
+ const char *service_syncron;
+ const char *current_syncron;
assert(service);
assert(service->name);
Modified: initng/src/initng_active_db.c
==============================================================================
--- initng/src/initng_active_db.c (original)
+++ initng/src/initng_active_db.c Mon Dec 12 12:36:40 2005
@@ -577,10 +577,10 @@
/* ######## Data handlers ############## */
-char *active_db_get_string_var(s_entry * type, const char *vn,
+const char *active_db_get_string_var(s_entry * type, const char *vn,
active_h * from_active)
{
- char *t = NULL;
+ const char *t = NULL;
assert(from_active);
@@ -616,10 +616,10 @@
return (0);
}
-char *active_db_get_next_string_var(s_entry * type, const char *vn,
- active_h * from_active, char *last)
+const char *active_db_get_next_string_var(s_entry * type, const char *vn,
+ active_h * from_active, const char *last)
{
- char *r = NULL;
+ const char *r = NULL;
assert(from_active);
Modified: initng/src/initng_active_db.h
==============================================================================
--- initng/src/initng_active_db.h (original)
+++ initng/src/initng_active_db.h Mon Dec 12 12:36:40 2005
@@ -101,10 +101,10 @@
#define active_db_is(t,a) active_db_is_var(t, NULL, a)
int active_db_get_int_var(s_entry * type, const char *vn,
active_h * from_active);
-char *active_db_get_string_var(s_entry * type, const char *vn,
+const char *active_db_get_string_var(s_entry * type, const char *vn,
active_h * from_active);
-char *active_db_get_next_string_var(s_entry * type, const char *vn,
- active_h * from_active, char *last);
+const char *active_db_get_next_string_var(s_entry * type, const char *vn,
+ active_h * from_active, const char *last);
int active_db_is_var(s_entry * type, const char *vn, active_h * from_active);
/* count the total number of this type */
Modified: initng/src/initng_env_variable.c
==============================================================================
--- initng/src/initng_env_variable.c (original)
+++ initng/src/initng_env_variable.c Mon Dec 12 12:36:40 2005
@@ -181,12 +181,11 @@
env[nr] = NULL;
/* insert all env strings from config */
- if ((env[nr] = active_db_get_next_string(&ENV, s, NULL)))
+ if ((env[nr] = (char *)active_db_get_next_string(&ENV, s, NULL)))
{
nr++;
while (((nr + 1) < allocate) &&
- (env[nr] =
- active_db_get_next_string(&ENV, s, env[nr - 1])))
+ (env[nr] = (char *)active_db_get_next_string(&ENV, s, env[nr - 1])))
nr++;
}
@@ -226,7 +225,7 @@
* This function will change variables in from, like $NAME, $SERVICE, $CLASS
* into its right content, and return a new allocated string with the result.
*/
-char *fix_variables(char *from, active_h * s)
+char *fix_variables(const char *from, active_h * s)
{
char *to; /* this is the pointer we are going to return */
char *set; /* pointer to step */
@@ -342,7 +341,7 @@
/* get variable from ENV type */
{
- char *tmp = NULL;
+ const char *tmp = NULL;
while ((tmp = active_db_get_next_string(&ENV, s, tmp)))
{
if (strncasecmp(from, tmp, len) == 0 && tmp[len] == '=')
@@ -382,14 +381,14 @@
}
case STRINGS:
{
- tmp = NULL;
- while ((tmp =
- active_db_get_next_string(entry, s, tmp)))
+ const char *tmp2 = NULL;
+ while ((tmp2 =
+ active_db_get_next_string(entry, s, tmp2)))
{
- strcat(set, tmp);
+ strcat(set, tmp2);
strcat(set, " ");
}
- if (tmp)
+ if (tmp2)
goto go_forward;
}
/* if it is an integer, sprintf in it */
Modified: initng/src/initng_env_variable.h
==============================================================================
--- initng/src/initng_env_variable.h (original)
+++ initng/src/initng_env_variable.h Mon Dec 12 12:36:40 2005
@@ -25,7 +25,7 @@
#include "initng_active_db.h"
extern const char *initng_environ[];
-char *fix_variables(char *from, active_h * s);
+char *fix_variables(const char *from, active_h * s);
char **new_environ(active_h * s);
void free_environ(char **tf);
Modified: initng/src/initng_service_cache.c
==============================================================================
--- initng/src/initng_service_cache.c (original)
+++ initng/src/initng_service_cache.c Mon Dec 12 12:36:40 2005
@@ -355,9 +355,9 @@
* service_db_get_string(), look in the service_h->data entry, but also
* checks fathers->data, that will also apply for this service.
*/
-char *service_db_get_string_var(s_entry * type, const char *vn, service_h * s)
+const char *service_db_get_string_var(s_entry * type, const char *vn, service_h * s)
{
- char *tmp = NULL;
+ const char *tmp = NULL;
assert(type);
assert(s);
@@ -396,10 +396,10 @@
* service_db_get_next_string(), look in the service_h->data entry, but also
* checks fathers->data, that will also apply for this service.
*/
-char *service_db_get_next_string_var(s_entry * type, const char *vn,
- service_h * s, char *last)
+const char *service_db_get_next_string_var(s_entry * type, const char *vn,
+ service_h * s, const char *last)
{
- char *tmp = NULL;
+ const char *tmp = NULL;
assert(type);
assert(s);
Modified: initng/src/initng_service_cache.h
==============================================================================
--- initng/src/initng_service_cache.h (original)
+++ initng/src/initng_service_cache.h Mon Dec 12 12:36:40 2005
@@ -88,11 +88,11 @@
/* variable */
int service_db_is_var(s_entry * type, const char *vn, service_h * s);
-char *service_db_get_string_var(s_entry * type, const char *vn,
+const char *service_db_get_string_var(s_entry * type, const char *vn,
service_h * s);
int service_db_get_int_var(s_entry * type, const char *vn, service_h * s);
-char *service_db_get_next_string_var(s_entry * type, const char *vn,
- service_h * s, char *last);
+const char *service_db_get_next_string_var(s_entry * type, const char *vn,
+ service_h * s, const char *last);
#define service_db_set_string_var(type, vn, from_service, string) d_set_string_var(type, vn, &from_service->data.list, string)
#define service_db_set_another_string_var(type, vn, from_service, string) d_set_another_string_var(type, vn, &from_service->data.list, string)
Modified: initng/src/initng_struct_data.c
==============================================================================
--- initng/src/initng_struct_data.c (original)
+++ initng/src/initng_struct_data.c Mon Dec 12 12:36:40 2005
@@ -56,7 +56,7 @@
#define IT(x) (type->opt_type == x || type->opt_type == (x + 50))
-char *d_get_string_var(s_entry * type, const char *vn,
+const char *d_get_string_var(s_entry * type, const char *vn,
struct list_head *address)
{
s_data *current = NULL;
@@ -136,8 +136,8 @@
}
-char *d_get_next_string_var(s_entry * type, const char *vn,
- struct list_head *d, char *last)
+const char *d_get_next_string_var(s_entry * type, const char *vn,
+ struct list_head *d, const char *last)
{
s_data *current = NULL;
@@ -184,7 +184,7 @@
}
/* if this is last, return next string */
- return (current->t.s);
+ return ((const char *)current->t.s);
}
/* no match */
return (NULL);
Modified: initng/src/initng_struct_data.h
==============================================================================
--- initng/src/initng_struct_data.h (original)
+++ initng/src/initng_struct_data.h Mon Dec 12 12:36:40 2005
@@ -56,11 +56,11 @@
int d_get_int_var(s_entry * type, const char *vn, struct list_head *d);
#define d_get_string(t,d) d_get_string_var(t,NULL,d)
-char *d_get_string_var(s_entry * type, const char *vn, struct list_head *d);
+const char *d_get_string_var(s_entry * type, const char *vn, struct list_head *d);
#define d_get_next_string(t,d,l) d_get_next_string_var(t,NULL,d,l)
-char *d_get_next_string_var(s_entry * type, const char *vn,
- struct list_head *d, char *last);
+const char *d_get_next_string_var(s_entry * type, const char *vn,
+ struct list_head *d, const char *last);
#define d_set(t,d) d_set_var(t, NULL, d)
void d_set_var(s_entry * type, char *vn, struct list_head *d);
More information about the Initng-svn
mailing list