From 68213b835b9f15cb449ad2037a8b51c17a3de07b Mon Sep 17 00:00:00 2001
From: Joseph Redmon <pjreddie@gmail.com>
Date: Mon, 14 Mar 2016 22:10:14 +0000
Subject: [PATCH] Makefile
---
src/option_list.c | 40 +++++++++++++++++++++++++++++++++-------
1 files changed, 33 insertions(+), 7 deletions(-)
diff --git a/src/option_list.c b/src/option_list.c
index 1b32ebb..7d68ead 100644
--- a/src/option_list.c
+++ b/src/option_list.c
@@ -3,11 +3,23 @@
#include <string.h>
#include "option_list.h"
-typedef struct{
- char *key;
- char *val;
- int used;
-} kvp;
+int read_option(char *s, list *options)
+{
+ size_t i;
+ size_t len = strlen(s);
+ char *val = 0;
+ for(i = 0; i < len; ++i){
+ if(s[i] == '='){
+ s[i] = '\0';
+ val = s+i+1;
+ break;
+ }
+ }
+ if(i == len-1) return 0;
+ char *key = s;
+ option_insert(options, key, val);
+ return 1;
+}
void option_insert(list *l, char *key, char *val)
{
@@ -47,7 +59,7 @@
{
char *v = option_find(l, key);
if(v) return v;
- fprintf(stderr, "%s: Using default '%s'\n", key, def);
+ if(def) fprintf(stderr, "%s: Using default '%s'\n", key, def);
return def;
}
@@ -59,7 +71,21 @@
return def;
}
-double option_find_double(list *l, char *key, double 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);
--
Gitblit v1.10.0