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