summaryrefslogtreecommitdiff
path: root/lib/iniparser/test
diff options
context:
space:
mode:
authorMatthieu Patou <mat@matws.net>2010-02-28 22:48:16 +0300
committerStefan Metzmacher <metze@samba.org>2010-03-03 09:22:39 +0100
commitb953c4c67cfc6f0de38526e97eb5fc6031d61c81 (patch)
treec7c51ff1673da8f87e65cfe11e0091bd7ed4638e /lib/iniparser/test
parent1af5a6d35966ddb5435214a6d1f8ba34be697001 (diff)
downloadsamba-b953c4c67cfc6f0de38526e97eb5fc6031d61c81.tar.gz
s3: Move source3/iniparser to lib/iniparser to allow sharing between s3/s4
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Diffstat (limited to 'lib/iniparser/test')
-rw-r--r--lib/iniparser/test/Makefile24
-rw-r--r--lib/iniparser/test/iniexample.c117
2 files changed, 141 insertions, 0 deletions
diff --git a/lib/iniparser/test/Makefile b/lib/iniparser/test/Makefile
new file mode 100644
index 00000000000..aa8fcb24b57
--- /dev/null
+++ b/lib/iniparser/test/Makefile
@@ -0,0 +1,24 @@
+#
+# iniparser tests Makefile
+#
+
+CC = gcc
+CFLAGS = -g -I../src
+LFLAGS = -L.. -liniparser
+AR = ar
+ARFLAGS = rcv
+RM = rm -f
+
+
+default: all
+
+all: iniexample
+
+iniexample: iniexample.c
+ $(CC) $(CFLAGS) -o iniexample iniexample.c -I../src -L.. -liniparser
+
+clean veryclean:
+ $(RM) iniexample example.ini
+
+
+
diff --git a/lib/iniparser/test/iniexample.c b/lib/iniparser/test/iniexample.c
new file mode 100644
index 00000000000..5e8e71cdf00
--- /dev/null
+++ b/lib/iniparser/test/iniexample.c
@@ -0,0 +1,117 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#include "iniparser.h"
+
+void create_example_ini_file(void);
+int parse_ini_file(char * ini_name);
+
+int main(int argc, char * argv[])
+{
+ int status ;
+
+ if (argc<2) {
+ create_example_ini_file();
+ status = parse_ini_file("example.ini");
+ } else {
+ status = parse_ini_file(argv[1]);
+ }
+ return status ;
+}
+
+void create_example_ini_file(void)
+{
+ FILE * ini ;
+
+ ini = fopen("example.ini", "w");
+ fprintf(ini, "\n\
+#\n\
+# This is an example of ini file\n\
+#\n\
+\n\
+[Pizza]\n\
+\n\
+Ham = yes ;\n\
+Mushrooms = TRUE ;\n\
+Capres = 0 ;\n\
+Cheese = NO ;\n\
+\n\
+\n\
+[Wine]\n\
+\n\
+Grape = Cabernet Sauvignon ;\n\
+Year = 1989 ;\n\
+Country = Spain ;\n\
+Alcohol = 12.5 ;\n\
+\n\
+#\n\
+# end of file\n\
+#\n");
+
+ fclose(ini);
+}
+
+
+int parse_ini_file(char * ini_name)
+{
+ dictionary * ini ;
+
+ /* Some temporary variables to hold query results */
+ int b ;
+ int i ;
+ double d ;
+ char * s ;
+
+ ini = iniparser_load(ini_name);
+ if (ini==NULL) {
+ fprintf(stderr, "cannot parse file [%s]", ini_name);
+ return -1 ;
+ }
+ iniparser_dump(ini, stderr);
+
+ /* Get pizza attributes */
+ printf("Pizza:\n");
+
+ b = iniparser_getboolean(ini, "pizza:ham", -1);
+ printf("Ham: [%d]\n", b);
+ b = iniparser_getboolean(ini, "pizza:mushrooms", -1);
+ printf("Mushrooms: [%d]\n", b);
+ b = iniparser_getboolean(ini, "pizza:capres", -1);
+ printf("Capres: [%d]\n", b);
+ b = iniparser_getboolean(ini, "pizza:cheese", -1);
+ printf("Cheese: [%d]\n", b);
+
+ /* Get wine attributes */
+ printf("Wine:\n");
+ s = iniparser_getstr(ini, "wine:grape");
+ if (s) {
+ printf("grape: [%s]\n", s);
+ } else {
+ printf("grape: not found\n");
+ }
+ i = iniparser_getint(ini, "wine:year", -1);
+ if (i>0) {
+ printf("year: [%d]\n", i);
+ } else {
+ printf("year: not found\n");
+ }
+ s = iniparser_getstr(ini, "wine:country");
+ if (s) {
+ printf("country: [%s]\n", s);
+ } else {
+ printf("country: not found\n");
+ }
+ d = iniparser_getdouble(ini, "wine:alcohol", -1.0);
+ if (d>0.0) {
+ printf("alcohol: [%g]\n", d);
+ } else {
+ printf("alcohol: not found\n");
+ }
+
+ iniparser_freedict(ini);
+ return 0 ;
+}
+
+