Main Page | Data Structures | Directories | File List | Data Fields | Globals

cfg.c File Reference

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include "../include/cupl.h"
#include "../include/cfg.h"

Go to the source code of this file.

Functions

cfg_datacupl_init_cfg (char *path)
int cupl_release_cfg (cfg_data *cfg)
void cupl_print_items (cfg_data *cfg)
char * cupl_get_var (char *var, cfg_data *cfg)

Variables

int errno


Function Documentation

char* cupl_get_var char *  var,
cfg_data cfg
 

Definition at line 253 of file cfg.c.

References cfg_array::next, cfg_array::val, cfg_array::var, and cfg_data::vars.

Referenced by main().

00254 {
00255     cfg_array *tmp = cfg->vars;
00256 
00257     if (cfg == NULL) return NULL;
00258 
00259     while (tmp != NULL) {
00260         if (strncmp(tmp->var, var, sizeof(tmp->var)) == 0) 
00261             return tmp->val;
00262         tmp = tmp->next;
00263     }
00264 
00265     return NULL;
00266 }

cfg_data* cupl_init_cfg char *  path  ) 
 

Definition at line 39 of file cfg.c.

References cfg_data::cfd, errno, cfg_data::nov, and cfg_data::vars.

Referenced by main().

00040 {
00041     cfg_data *cfg;
00042 
00043     if ((cfg = (cfg_data *) malloc(sizeof(cfg_data))) == NULL) {
00044         fprintf(stderr, "%s: %d: malloc(): %s.\n", __FILE__, __LINE__,
00045                 strerror(errno));
00046         return NULL;
00047     }
00048 
00049     if ((cfg->cfd = fopen(path, "r")) == NULL) {
00050         fprintf(stderr, "%s: %d: fopen(): %s.\n", __FILE__, __LINE__,
00051                 strerror(errno));
00052         return NULL;
00053     }
00054 
00055     cfg->vars = NULL;
00056     cfg->nov = 0;
00057 
00058     if (parse_config_file(cfg) == -1)
00059         return NULL;
00060     
00061     return cfg;
00062 }

void cupl_print_items cfg_data cfg  ) 
 

Definition at line 233 of file cfg.c.

References cfg_array::next, cfg_data::nov, cfg_array::val, cfg_array::var, and cfg_data::vars.

Referenced by main().

00234 {
00235     cfg_array *tmp;
00236 
00237     if (cfg == NULL) return;
00238 
00239     printf("Number of items parsed: %d\n\n", cfg->nov);
00240     printf("Items:\n");
00241 
00242     tmp = cfg->vars;
00243 
00244     while (tmp != NULL) {
00245         printf("%s: %s\n", tmp->var, tmp->val);
00246         tmp = tmp->next;
00247     }
00248 
00249     return;
00250 }

int cupl_release_cfg cfg_data cfg  ) 
 

Definition at line 65 of file cfg.c.

References cfg_data::cfd, and cfg_data::vars.

Referenced by main().

00066 {
00067     if (cfg == NULL) return 0;
00068 
00069     fclose(cfg->cfd);
00070 
00071     if (cfg->vars) release_cfg_array(cfg->vars);
00072 
00073     free(cfg);
00074 
00075     return 1;
00076 }


Variable Documentation

int errno
 

Referenced by cupl_init_cfg(), and cupl_match_regex().


Generated on Sat Aug 26 12:34:54 2006 for CUPL (Common UNIX Programming Library) by  doxygen 1.3.9.1