CVS substitutes introduced
[sip-router] / modparam.c
1 /*
2  * $Id$
3  *
4  */
5
6 #include "modparam.h"
7 #include "dprint.h"
8 #include <string.h>
9
10
11 int set_mod_param(char* _mod, char* _name, modparam_t _type, void* _val)
12 {
13         void* ptr;
14         
15         if (!_mod) {
16                 LOG(L_ERR, "set_mod_param(): Invalid _mod parameter value\n");
17                 return -1;
18         }
19
20         if (!_name) {
21                 LOG(L_ERR, "set_mod_param(): Invalid _name parameter value\n");
22                 return -2;
23         }
24
25         ptr = find_param_export(_mod, _name, _type);
26         if (!ptr) {
27                 LOG(L_ERR, "set_mod_param(): Parameter not found\n");
28                 return -3;
29         }
30
31         switch(_type) {
32         case STR_PARAM:
33                 *((char**)ptr) = strdup((char*)_val);
34                 break;
35
36         case INT_PARAM:
37                 *((int*)ptr) = (int)_val;
38                 break;
39         }
40
41         return 0;
42 }