int get_key_len(const char **user){ char section[50]; //nazwa sekcji char mobile[50]; //nazwa telefonu dla uzytkownika int key_len; // dlogosc klucza z konfigu int s; //iterator sekcji int b; // enabled, true/false // Szukaj uzytkownikow for (s = 0; ini_getsection(s, section, sizearray(section), inifile_users) > 0; s++) { printf("get_key_len() [%s] user: %s\n", section, *user); if (!strcmp(*user, section)){ printf("user cfg exists\n"); b = ini_getbool(section, "enabled", 0, inifile_users); if(b == 1){ //pobierz nazwe telfonu przypisanego do uzytkownika ini_gets(section, "mobile", "0", mobile, sizearray(mobile), inifile_users); // pobierz dlugosc klucza i klucz key_len = ini_getl(mobile, "key_len", 1, inifile_mobiles); printf("get_key_len(): key length: %d\n", key_len); return key_len; } } } /* for */ return -1; }
// Wejscie: // user - login // Wyjscia // btaddr // port // mobile_id // rssi int get_user_data(const char **user, char* btaddr, int *port, char *mobile_id, float *rssi){ char section[50]; //nazwa sekcji char mobile[50]; //nazwa telefonu dla uzytkownika char addr[18]; int s; //iterator sekcji int b; // enabled, true/false int p; // port float min_rssi; // rssi //char user_login[] = *user; for (s = 0; ini_getsection(s, section, sizearray(section), inifile_users) > 0; s++) { //printf(" [%s] user: %s\n", section, *user); if (!strcmp(*user, section)){ printf("user cfg exists\n"); b = ini_getbool(section, "enabled", 0, inifile_users); if(b == 1){ //pobierz nazwe telfonu przypisanego do uzytkownika ini_gets(section, "mobile", "0", mobile, sizearray(mobile), inifile_users); //pobierrz btaddr i port telefonu o ww nazwie ini_gets(mobile, "btaddr", "999", addr, sizearray(addr), inifile_mobiles); p = ini_getl(mobile, "port", 999, inifile_mobiles); // pobierz wartosc progu RSSI min_rssi = ini_getf(mobile, "min_rssi", "-5.0", inifile_users); printf("user %s enabled with mobile: %s\n", *user, mobile); printf("mobile btaddr: %s, port: %d\n", addr, p); printf("rssi threshold: %f\n", min_rssi); //printf("check_user(): key length: %d, key: %s\n", key_len, k); //zapisz btaddr, port i klucz do adresow z argumetu strcpy(btaddr,addr); strcpy(mobile_id, mobile); *port = p; *rssi = min_rssi; return 0; } //for (k = 0; ini_getkey(section, k, str, sizearray(str), inifile) > 0; k++) { // printf("\t%s\n", str); //} /* for */ } } /* for */ return E_INI_FILE; }
/** * checks given ini file for the specified [section]. * @param filename * @param sectionName * @return TRUE if the given section exists, otherwise FALSE */ int ini_section_exists(char * filename, char * sectionName) { char buf[255]; memset(buf, 0, sizeof(buf)); int i = 0, ret = FALSE; while(!ret) { int ncopied = ini_getsection(i, buf, sizeof(buf), filename); if (ncopied <= 0) break; if (strcasecmp(buf, sectionName)==0) { ret = TRUE; break; } i++; } return ret; }
int main(void) { char str[100]; long n; int s, k; char section[50]; /* string reading */ n = ini_gets("first", "string", "dummy", str, sizearray(str), inifile); assert(n==4 && strcmp(str,"noot")==0); n = ini_gets("second", "string", "dummy", str, sizearray(str), inifile); assert(n==4 && strcmp(str,"mies")==0); n = ini_gets("first", "undefined", "dummy", str, sizearray(str), inifile); assert(n==5 && strcmp(str,"dummy")==0); /* ----- */ n = ini_gets("", "string", "dummy", str, sizearray(str), inifile2); assert(n==4 && strcmp(str,"noot")==0); n = ini_gets(NULL, "string", "dummy", str, sizearray(str), inifile2); assert(n==4 && strcmp(str,"noot")==0); /* ----- */ printf("1. String reading tests passed\n"); /* value reading */ n = ini_getl("first", "val", -1, inifile); assert(n==1); n = ini_getl("second", "val", -1, inifile); assert(n==2); n = ini_getl("first", "undefined", -1, inifile); assert(n==-1); /* ----- */ n = ini_getl(NULL, "val", -1, inifile2); assert(n==1); /* ----- */ printf("2. Value reading tests passed\n"); /* string writing */ n = ini_puts("first", "alt", "flagged as \"correct\"", inifile); assert(n==1); n = ini_gets("first", "alt", "dummy", str, sizearray(str), inifile); assert(n==20 && strcmp(str,"flagged as \"correct\"")==0); /* ----- */ n = ini_puts("second", "alt", "correct", inifile); assert(n==1); n = ini_gets("second", "alt", "dummy", str, sizearray(str), inifile); assert(n==7 && strcmp(str,"correct")==0); /* ----- */ n = ini_puts("third", "test", "correct", inifile); assert(n==1); n = ini_gets("third", "test", "dummy", str, sizearray(str), inifile); assert(n==7 && strcmp(str,"correct")==0); /* ----- */ n = ini_puts("second", "alt", "overwrite", inifile); assert(n==1); n = ini_gets("second", "alt", "dummy", str, sizearray(str), inifile); assert(n==9 && strcmp(str,"overwrite")==0); /* ----- */ n = ini_puts(NULL, "alt", "correct", inifile2); assert(n==1); n = ini_gets(NULL, "alt", "dummy", str, sizearray(str), inifile2); assert(n==7 && strcmp(str,"correct")==0); /* ----- */ printf("3. String writing tests passed\n"); /* section/key enumeration */ printf("4. Section/key enumertion, file contents follows\n"); for (s = 0; ini_getsection(s, section, sizearray(section), inifile) > 0; s++) { printf(" [%s]\n", section); for (k = 0; ini_getkey(section, k, str, sizearray(str), inifile) > 0; k++) { printf("\t%s\n", str); } /* for */ } /* for */ /* browsing through the file */ printf("5. browse through all settings, file contents follows\n"); ini_browse(Callback, NULL, inifile); /* string deletion */ n = ini_puts("first", "alt", NULL, inifile); assert(n==1); n = ini_puts("second", "alt", NULL, inifile); assert(n==1); n = ini_puts("third", NULL, NULL, inifile); assert(n==1); /* ----- */ n = ini_puts(NULL, "alt", NULL, inifile2); assert(n==1); printf("6. String deletion tests passed\n"); return 0; }
void testIni(void) { xputs(PSTR("TestIni\n")); char str[100]; long n; int s, k; char section[50]; xputs(PSTR("Test 1\n")); /* string reading */ n = ini_gets("first", "string", "aap", str, sizearray(str), inifile); xprintf(PSTR("n=%d\n"),n); xprintf(PSTR("Test 1 str=%s (supposed to say noot)\n"),str); // assert(n==4 && strcmp(str,"noot")==0); n = ini_gets("second", "string", "aap", str, sizearray(str), inifile); xprintf(PSTR("Test 1 str=%s (supposed to say mies)\n"),str); // assert(n==4 && strcmp(str,"mies")==0); n = ini_gets("first", "dummy", "aap", str, sizearray(str), inifile); // assert(n==3 && strcmp(str,"aap")==0); xputs(PSTR("1. String reading tests passed\n")); /* value reading */ n = ini_getl("first", "val", -1, inifile); // assert(n==1); n = ini_getl("second", "val", -1, inifile); // assert(n==2); n = ini_getl("first", "dummy", -1, inifile); // assert(n==-1); xputs(PSTR("2. Value reading tests passed\n")); /* string writing */ n = ini_puts("first", "alt", "flagged as \"correct\"", inifile); // assert(n==1); n = ini_gets("first", "alt", "aap", str, sizearray(str), inifile); // assert(n==20 && strcmp(str,"flagged as \"correct\"")==0); /* ----- */ n = ini_puts("second", "alt", "correct", inifile); // assert(n==1); n = ini_gets("second", "alt", "aap", str, sizearray(str), inifile); // assert(n==7 && strcmp(str,"correct")==0); /* ----- */ n = ini_puts("third", "alt", "correct", inifile); // assert(n==1); n = ini_gets("third", "alt", "aap", str, sizearray(str), inifile); // assert(n==7 && strcmp(str,"correct")==0); /* ----- */ xputs(PSTR("3. String writing tests passed\n")); /* section/key enumeration */ for (s = 0; ini_getsection(s, section, sizearray(section), inifile) > 0; s++) { xprintf(PSTR("[%s]\n"), section); for (k = 0; ini_getkey(section, k, str, sizearray(str), inifile) > 0; k++) { xprintf(PSTR("\t%s\n"), str); } /* for */ } /* for */ /* string deletion */ n = ini_puts("first", "alt", NULL, inifile); // assert(n==1); n = ini_puts("second", "alt", NULL, inifile); // assert(n==1); n = ini_puts("third", NULL, NULL, inifile); // assert(n==1); xputs(PSTR("All done\n")); }
int TestMiniIni(void) { char str[100]; long n; int s, k; char section[50]; /* string reading */ n = ini_gets("first", "string", "dummy", str, sizearray(str), inifile); Check(n==4 && UTIL1_strcmp(str,"noot")==0); n = ini_gets("second", "string", "dummy", str, sizearray(str), inifile); Check(n==4 && UTIL1_strcmp(str,"mies")==0); n = ini_gets("first", "undefined", "dummy", str, sizearray(str), inifile); Check(n==5 && UTIL1_strcmp(str,"dummy")==0); /* ----- */ n = ini_gets("", "string", "dummy", str, sizearray(str), inifile2); Check(n==4 && UTIL1_strcmp(str,"noot")==0); n = ini_gets(NULL, "string", "dummy", str, sizearray(str), inifile2); Check(n==4 && UTIL1_strcmp(str,"noot")==0); /* ----- */ SHELL_SendString((unsigned char*)"1. String reading tests passed\n"); /* value reading */ n = ini_getl("first", "val", -1, inifile); Check(n==1); n = ini_getl("second", "val", -1, inifile); Check(n==2); n = ini_getl("first", "undefined", -1, inifile); Check(n==-1); /* ----- */ n = ini_getl(NULL, "val", -1, inifile2); Check(n==1); /* ----- */ SHELL_SendString((unsigned char*)"2. Value reading tests passed\n"); /* string writing */ n = ini_puts("first", "alt", "flagged as \"correct\"", inifile); Check(n==1); n = ini_gets("first", "alt", "dummy", str, sizearray(str), inifile); Check(n==20 && UTIL1_strcmp(str,"flagged as \"correct\"")==0); /* ----- */ n = ini_puts("second", "alt", "correct", inifile); Check(n==1); n = ini_gets("second", "alt", "dummy", str, sizearray(str), inifile); Check(n==7 && UTIL1_strcmp(str,"correct")==0); /* ----- */ n = ini_puts("third", "test", "correct", inifile); Check(n==1); n = ini_gets("third", "test", "dummy", str, sizearray(str), inifile); Check(n==7 && UTIL1_strcmp(str,"correct")==0); /* ----- */ n = ini_puts("second", "alt", "overwrite", inifile); Check(n==1); n = ini_gets("second", "alt", "dummy", str, sizearray(str), inifile); Check(n==9 && UTIL1_strcmp(str,"overwrite")==0); /* ----- */ n = ini_puts(NULL, "alt", "correct", inifile2); Check(n==1); n = ini_gets(NULL, "alt", "dummy", str, sizearray(str), inifile2); Check(n==7 && UTIL1_strcmp(str,"correct")==0); /* ----- */ SHELL_SendString((unsigned char*)"3. String writing tests passed\n"); /* section/key enumeration */ SHELL_SendString((unsigned char*)"4. Section/key enumeration, file contents follows\n"); for (s = 0; ini_getsection(s, section, sizearray(section), inifile) > 0; s++) { SHELL_SendString((unsigned char*)" ["); SHELL_SendString((unsigned char*)section); SHELL_SendString((unsigned char*)"]\r\n"); for (k = 0; ini_getkey(section, k, str, sizearray(str), inifile) > 0; k++) { SHELL_SendString((unsigned char*)"\t"); SHELL_SendString((unsigned char*)str); SHELL_SendString((unsigned char*)"\r\n"); } /* for */ } /* for */ /* browsing through the file */ SHELL_SendString((unsigned char*)"5. browse through all settings, file contents follows\n"); ini_browse(Callback, NULL, inifile); /* string deletion */ n = ini_puts("first", "alt", NULL, inifile); Check(n==1); n = ini_puts("second", "alt", NULL, inifile); Check(n==1); n = ini_puts("third", NULL, NULL, inifile); Check(n==1); /* ----- */ n = ini_puts(NULL, "alt", NULL, inifile2); Check(n==1); SHELL_SendString((unsigned char*)"6. String deletion tests passed\n"); return 0; }
int main(void) { char str[100]; long n; int s, k; char section[50]; /* string reading */ n = ini_gets("first", "string", "aap", str, sizearray(str), inifile); assert(n==4 && strcmp(str,"noot")==0); n = ini_gets("second", "string", "aap", str, sizearray(str), inifile); assert(n==4 && strcmp(str,"mies")==0); n = ini_gets("first", "dummy", "aap", str, sizearray(str), inifile); assert(n==3 && strcmp(str,"aap")==0); printf("1. String reading tests passed\n"); /* value reading */ n = ini_getl("first", "val", -1, inifile); assert(n==1); n = ini_getl("second", "val", -1, inifile); assert(n==2); n = ini_getl("first", "dummy", -1, inifile); assert(n==-1); printf("2. Value reading tests passed\n"); /* string writing */ n = ini_puts("first", "alt", "flagged as \"correct\"", inifile); assert(n==1); n = ini_gets("first", "alt", "aap", str, sizearray(str), inifile); assert(n==20 && strcmp(str,"flagged as \"correct\"")==0); /* ----- */ n = ini_puts("second", "alt", "correct", inifile); assert(n==1); n = ini_gets("second", "alt", "aap", str, sizearray(str), inifile); assert(n==7 && strcmp(str,"correct")==0); /* ----- */ n = ini_puts("third", "alt", "correct", inifile); assert(n==1); n = ini_gets("third", "alt", "aap", str, sizearray(str), inifile); assert(n==7 && strcmp(str,"correct")==0); /* ----- */ printf("3. String writing tests passed\n"); /* section/key enumeration */ for (s = 0; ini_getsection(s, section, sizearray(section), inifile) > 0; s++) { printf("[%s]\n", section); for (k = 0; ini_getkey(section, k, str, sizearray(str), inifile) > 0; k++) { printf("\t%s\n", str); } /* for */ } /* for */ /* string deletion */ n = ini_puts("first", "alt", NULL, inifile); assert(n==1); n = ini_puts("second", "alt", NULL, inifile); assert(n==1); n = ini_puts("third", NULL, NULL, inifile); assert(n==1); return 0; }