Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=cfpm.git;a=commitdiff;h=7516ef815af69b97f73caf25ebd6b1428ace623e
commit 7516ef815af69b97f73caf25ebd6b1428ace623e Author: James Buren <r...@frugalware.org> Date: Thu Oct 29 12:46:23 2009 -0500 Config.c * add error handler diff --git a/src/Config.c b/src/Config.c index c86b2d6..723653c 100644 --- a/src/Config.c +++ b/src/Config.c @@ -44,6 +44,14 @@ Config *config_create(const char *path) { return cfg; } +static void _config_parse_set_error(Config *cfg,const char *err) { + assert((cfg != NULL)); + + free(cfg->err); + + cfg->err = xstrdup(err); +} + static bool _config_parse_fill_buffer(Config *cfg) { int file; struct stat stats; @@ -54,11 +62,13 @@ static bool _config_parse_fill_buffer(Config *cfg) { file = open(cfg->path,O_RDONLY); if(file == -1) { + _config_parse_set_error(cfg,strerror(errno)); ret = false; goto Bail; } if(fstat(file,&stats) == -1) { + _config_parse_set_error(cfg,strerror(errno)); ret = false; goto Bail; } @@ -68,6 +78,7 @@ static bool _config_parse_fill_buffer(Config *cfg) { cfg->buf = xalloc(char,cfg->num); if(read(file,cfg->buf,cfg->num) == -1) { + _config_parse_set_error(cfg,strerror(errno)); ret = false; goto Bail; } _______________________________________________ Frugalware-git mailing list Frugalware-git@frugalware.org http://frugalware.org/mailman/listinfo/frugalware-git