src/server/config/objconf.c

changeset 575
bbca8e94fa67
parent 490
d218607f5a7e
child 576
5c31cc844c68
equal deleted inserted replaced
574:76450adae540 575:bbca8e94fa67
39 * line dlist 39 * line dlist
40 * mempool 40 * mempool
41 * object 41 * object
42 */ 42 */
43 43
44 ObjectConfig *load_object_config(char *file) {
45 FILE *in = fopen(file, "r");
46 if(in == NULL) {
47 return NULL;
48 }
49
50 ObjectConfig *conf = malloc(sizeof(ObjectConfig));
51 conf->parser.parse = objconf_parse;
52 conf->file = file;
53 //conf->conditions = NULL;
54 conf->levels = NULL;
55 conf->objects = cxLinkedListCreate(cxDefaultAllocator, NULL, CX_STORE_POINTERS);
56 //conf->lines = NULL;
57
58 int r = cfg_parse_basic_file((ConfigParser*)conf, in);
59 if(r != 0) {
60 // TODO: free
61 return NULL;
62 }
63
64 fclose(in);
65
66 return conf;
67 }
68 44
69 ObjectConfig2* objectconf_load(const char *file) { 45 ObjectConfig2* objectconf_load(const char *file) {
70 CxMempool *mp = cxBasicMempoolCreate(512); 46 CxMempool *mp = cxBasicMempoolCreate(512);
71 if(!mp) { 47 if(!mp) {
72 return NULL; 48 return NULL;

mercurial