aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDavid M. Syzdek <david@syzdek.net>2024-01-08 15:25:33 -0900
committerDavid M. Syzdek <david@syzdek.net>2024-01-08 15:25:33 -0900
commite7953e934ab4839390c32b9da000ba9334b83c6e (patch)
tree16b96442d63d02e5e0d8dd5e6323344b0cc6a702
parentba0e5eafeccf2e3a9d74828755199f589e54f93f (diff)
downloadcorset-pu.tar.gz
corset-pu.tar.bz2
corset-pu.tar.xz
corset-pu.zip
libcorset: adding corset_get_param_str() and refactoring corset_get_param()pu
-rw-r--r--lib/libcorset/lmemory.c49
1 files changed, 27 insertions, 22 deletions
diff --git a/lib/libcorset/lmemory.c b/lib/libcorset/lmemory.c
index 20df44c..1c046be 100644
--- a/lib/libcorset/lmemory.c
+++ b/lib/libcorset/lmemory.c
@@ -85,6 +85,12 @@ corset_defaults(
85 corset_t * ch ); 85 corset_t * ch );
86 86
87 87
88static int
89corset_get_param_str(
90 const char * val,
91 char ** outvalue );
92
93
88static void 94static void
89corset_set_param_flag( 95corset_set_param_flag(
90 corset_t * ch, 96 corset_t * ch,
@@ -137,15 +143,10 @@ corset_get_param(
137 int option, 143 int option,
138 void * outvalue ) 144 void * outvalue )
139{ 145{
140 char * str;
141
142 switch(option) 146 switch(option)
143 { 147 {
144 case CORSET_OPT_PROG_NAME: 148 case CORSET_OPT_PROG_NAME:
145 if ((str = bindle_strdup(corset_prog_name)) == NULL) 149 return(corset_get_param_str(corset_prog_name, outvalue));
146 return(-1);
147 *((char **)outvalue) = str;
148 return(0);
149 150
150 default: 151 default:
151 break; 152 break;
@@ -156,36 +157,24 @@ corset_get_param(
156 switch(option) 157 switch(option)
157 { 158 {
158 case CORSET_OPT_CONFFILE: 159 case CORSET_OPT_CONFFILE:
159 if ((str = bindle_strdup(ch->cor_conffile)) == NULL) 160 return(corset_get_param_str(ch->cor_conffile, outvalue));
160 return(-1);
161 *((char **)outvalue) = str;
162 return(0);
163 161
164 case CORSET_OPT_FOREGROUND: 162 case CORSET_OPT_FOREGROUND:
165 *((int *)outvalue) = ((ch->cor_flags & CORSET_FLG_FOREGROUND)) ? 1 : 0; 163 *((int *)outvalue) = ((ch->cor_flags & CORSET_FLG_FOREGROUND)) ? 1 : 0;
166 return(0); 164 return(0);
167 165
168 case CORSET_OPT_MODDIR: 166 case CORSET_OPT_MODDIR:
169 if ((str = bindle_strdup(ch->cor_moddir)) == NULL) 167 return(corset_get_param_str(ch->cor_moddir, outvalue));
170 return(-1);
171 *((char **)outvalue) = str;
172 return(0);
173 168
174 case CORSET_OPT_PIDFILE: 169 case CORSET_OPT_PIDFILE:
175 if ((str = bindle_strdup(ch->cor_pidfile)) == NULL) 170 return(corset_get_param_str(ch->cor_pidfile, outvalue));
176 return(-1);
177 *((char **)outvalue) = str;
178 return(0);
179 171
180 case CORSET_OPT_QUIET: 172 case CORSET_OPT_QUIET:
181 *((int *)outvalue) = ((ch->cor_flags & CORSET_FLG_QUIET)) ? 1 : 0; 173 *((int *)outvalue) = ((ch->cor_flags & CORSET_FLG_QUIET)) ? 1 : 0;
182 return(0); 174 return(0);
183 175
184 case CORSET_OPT_SOCKET: 176 case CORSET_OPT_SOCKET:
185 if ((str = bindle_strdup(ch->cor_sockfile)) == NULL) 177 return(corset_get_param_str(ch->cor_sockfile, outvalue));
186 return(-1);
187 *((char **)outvalue) = str;
188 return(0);
189 178
190 case CORSET_OPT_VERBOSE: 179 case CORSET_OPT_VERBOSE:
191 *((int *)outvalue) = ch->cor_verbose; 180 *((int *)outvalue) = ch->cor_verbose;
@@ -199,6 +188,22 @@ corset_get_param(
199} 188}
200 189
201 190
191int
192corset_get_param_str(
193 const char * val,
194 char ** outvalue )
195{
196 char * str;
197
198 str = NULL;
199 if ((val))
200 if ((str = bindle_strdup(val)) == NULL)
201 return(-1);
202 *outvalue = str;
203
204 return(0);
205}
206
202corset_t * 207corset_t *
203corset_initialize( 208corset_initialize(
204 void ) 209 void )