static HRESULT add_wordbreaker_clsid( LPCSTR lang, const CLSID *id) { CHAR key[100], val[50]; strcpy(key, "CLSID\\"); sprintf(key+6, "{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}", id->Data1, id->Data2, id->Data3, id->Data4[0], id->Data4[1], id->Data4[2], id->Data4[3], id->Data4[4], id->Data4[5], id->Data4[6], id->Data4[7]); sprintf(val, "%s Word Breaker", lang); add_key_val( key, NULL, val ); strcat(key, "\\InProcServer32"); add_key_val( key, NULL, "infosoft.dll" ); add_key_val( key, "ThreadingModel", "Both" ); return S_OK; }
int main(int argc, char**argv) { if (argc < 2) panic("Too few arguments!\n"); if (!strcmp(argv[1], "create") && argc == 3) create_db(argv[2]); if (!strcmp(argv[1], "get") && argc == 4) get_key_val(argv[2], argv[3]); if (!strcmp(argv[1], "add") && argc == 5) add_key_val(argv[2], argv[3], argv[4], strlen(argv[4])); printf("Usage i.e.:\n"); printf(" tikdb create todo.db\n"); printf(" Add key-value:\n"); printf(" tikdb add todo.db \"25.02.2012\" \"Watch new Dr Who episodes\"\n"); printf(" Update key-value:\n"); printf(" tikdb add todo.db \"25.02.2012\" \"Watch old Dr Who episodes\"\n"); printf(" Retrival:\n"); printf(" tikdb get todo.db \"25.02.2012\"\n"); printf("Note: max key size is 31 ASCII chars\n"); return 0; }