diff options
author | Joseph Hunkeler <jhunkeler@gmail.com> | 2011-05-02 13:51:46 -0400 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2011-05-02 13:51:46 -0400 |
commit | 124dfc3dcfb1a8322e8563a813f8c18dd059c524 (patch) | |
tree | 167b9cd13df9c869af3575f21b2ed77f334c5948 /cfg.c | |
parent | e3d75a13af695720397f0b28e745e2e48edbeede (diff) | |
parent | d538d7194beef487985a5082ac63b672c3930ffe (diff) | |
download | duser-124dfc3dcfb1a8322e8563a813f8c18dd059c524.tar.gz |
Merge pull request #1 from extrarius/master.
autotools conversion, 80% complete still needs more checking work
Diffstat (limited to 'cfg.c')
-rw-r--r-- | cfg.c | 87 |
1 files changed, 0 insertions, 87 deletions
@@ -1,87 +0,0 @@ -/** -* duser - Manage MajorDomo lists -* Copyright (C) 2011 Joseph Hunkeler <jhunkeler@gmail.com, jhunk@stsci.edu> -* -* This file is part of duser. -* -* duser is free software: you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation, either version 3 of the License, or -* (at your option) any later version. -* -* duser is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with duser. If not, see <http://www.gnu.org/licenses/>. -**/ - -#define _GNU_SOURCE - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <ctype.h> -#include <errno.h> -#include "duser.h" -#include "cfg.h" - -FILE *cfgfp; - -int cfg_open(const char* filename) -{ - if((cfgfp = fopen(filename, "r")) == NULL) - return errno; - else - return 0; -} - -void cfg_close() -{ - fclose(cfgfp); -} - -//Value of key -int cfg_get_key(char* val, const char* key) -{ - - if(cfgfp == NULL) - return -1; - - if((fseek(cfgfp, 0L, SEEK_SET)) != 0) - return errno; - - char buffer[CFG_MAX]; - char *buf = buffer; //= (char*)malloc(sizeof(char) * CFG_MAX+1); - if(buffer == NULL) - { - fprintf(stderr, "%s: %s\n", SELF, strerror(errno)); - exit(1); - } - - int i = 0; - while(!feof(cfgfp)) - { - memset(buffer, 0L, CFG_MAX); - fgets(buffer, CFG_MAX, cfgfp); - if((strcasestr(buffer, key))) - { - while(buf) - { - if(isspace(*buf)) - { - strncpy(val, &buf[i+1], CFG_MAX); - val[strlen(val)-1] = 0; - break; - } - buf++; - } - i++; - break; - } - } - - return 0; -} |