00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #include <stdio.h>
00019
00020 #include <stdlib.h>
00021 #include <string.h>
00022 #include "inifile.h"
00023
00024 int main(int argc, char *argv[])
00025 {
00026 int t;
00027 char _variable[INIFILE_MAX_LINELEN] = "";
00028 char *variable = 0;
00029 char _section[INIFILE_MAX_LINELEN] = "";
00030 char *section = 0;
00031 char INIFILE[256] = "emc.ini";
00032 FILE *fp;
00033 const char *inistring;
00034
00035
00036 for (t = 1; t < argc; t++) {
00037 if (!strcmp(argv[t], "-ini")) {
00038 if (t == argc - 1) {
00039
00040 fprintf(stderr,
00041 "%s: ini file not specified after -ini\n",
00042 argv[0]);
00043 exit(1);
00044 }
00045 else {
00046 strcpy(INIFILE, argv[t+1]);
00047 t++;
00048 }
00049 }
00050 else if (!strcmp(argv[t], "-var")) {
00051 if (t == argc - 1) {
00052
00053 fprintf(stderr,
00054 "%s: variable name not specified after -var\n",
00055 argv[0]);
00056 exit(1);
00057 }
00058 else {
00059 strcpy(_variable, argv[t+1]);
00060 variable = _variable;
00061 t++;
00062 }
00063 }
00064 else if (!strcmp(argv[t], "-sec")) {
00065 if (t == argc - 1) {
00066
00067 fprintf(stderr,
00068 "%s: section name not specified after -sec\n",
00069 argv[0]);
00070 exit(1);
00071 }
00072 else {
00073 strcpy(_section, argv[t+1]);
00074 section = _section;
00075 t++;
00076 }
00077 }
00078 else {
00079
00080 fprintf(stderr,
00081 "%s: -var <variable> {-sec <section>} {<-ini inifile>}\n",
00082 argv[0]);
00083 exit(1);
00084 }
00085 }
00086
00087
00088 if (0 == variable) {
00089 fprintf(stderr,
00090 "%s: no variable supplied\n",
00091 argv[0]);
00092 exit(1);
00093 }
00094
00095
00096 if (NULL == (fp = fopen(INIFILE, "r"))) {
00097 fprintf(stderr,
00098 "%s: can't open %s\n",
00099 argv[0], INIFILE);
00100 exit(1);
00101 }
00102
00103 inistring = iniFind(fp, variable, section);
00104 if (NULL != inistring) {
00105 printf("%s\n", inistring);
00106 }
00107
00108 fclose(fp);
00109
00110 exit(0);
00111 }