mirror of https://github.com/AlexeyAB/darknet.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
1.6 KiB
76 lines
1.6 KiB
#include <stdlib.h> |
|
#include <stdio.h> |
|
#include <string.h> |
|
#include "option_list.h" |
|
|
|
void option_insert(list *l, char *key, char *val) |
|
{ |
|
kvp *p = malloc(sizeof(kvp)); |
|
p->key = key; |
|
p->val = val; |
|
p->used = 0; |
|
list_insert(l, p); |
|
} |
|
|
|
void option_unused(list *l) |
|
{ |
|
node *n = l->front; |
|
while(n){ |
|
kvp *p = (kvp *)n->val; |
|
if(!p->used){ |
|
fprintf(stderr, "Unused field: '%s = %s'\n", p->key, p->val); |
|
} |
|
n = n->next; |
|
} |
|
} |
|
|
|
char *option_find(list *l, char *key) |
|
{ |
|
node *n = l->front; |
|
while(n){ |
|
kvp *p = (kvp *)n->val; |
|
if(strcmp(p->key, key) == 0){ |
|
p->used = 1; |
|
return p->val; |
|
} |
|
n = n->next; |
|
} |
|
return 0; |
|
} |
|
char *option_find_str(list *l, char *key, char *def) |
|
{ |
|
char *v = option_find(l, key); |
|
if(v) return v; |
|
if(def) fprintf(stderr, "%s: Using default '%s'\n", key, def); |
|
return def; |
|
} |
|
|
|
int option_find_int(list *l, char *key, int def) |
|
{ |
|
char *v = option_find(l, key); |
|
if(v) return atoi(v); |
|
fprintf(stderr, "%s: Using default '%d'\n", key, def); |
|
return def; |
|
} |
|
|
|
int option_find_int_quiet(list *l, char *key, int def) |
|
{ |
|
char *v = option_find(l, key); |
|
if(v) return atoi(v); |
|
return def; |
|
} |
|
|
|
float option_find_float_quiet(list *l, char *key, float def) |
|
{ |
|
char *v = option_find(l, key); |
|
if(v) return atof(v); |
|
return def; |
|
} |
|
|
|
float option_find_float(list *l, char *key, float def) |
|
{ |
|
char *v = option_find(l, key); |
|
if(v) return atof(v); |
|
fprintf(stderr, "%s: Using default '%lf'\n", key, def); |
|
return def; |
|
}
|
|
|