3 FILE* cfg_open(const char *fn
) { return fopen(fn
, "r"); }
4 void cfg_close(FILE*f
) { fclose(f
); }
5 char* cfg_getstr(FILE *f
, const char *key
, char* buf
, size_t bufsize
) {
7 size_t l
= strlen(key
);
8 while(fgets(buf
, bufsize
, f
)) {
9 if(!strncmp(buf
, key
, l
) && buf
[l
] == '=') {
11 while(buf
[++x
] != '\n');
13 memmove(buf
, buf
+ l
+ 1, x
- l
);
20 int cfg_getint(FILE *f
, const char *key
) {
22 char *res
= cfg_getstr(f
, key
, buf
, sizeof buf
);
23 if(res
) return atoi(res
);