9 db_create(&kPartsdbDatabase, NULL, 0);
10 kPartsdbDatabase->open(kPartsdbDatabase, NULL, partsdbFileName, NULL, DB_HASH, DB_RDONLY, 0644);
11 db_create(&kIdsdbDatabase, NULL, 0);
12 kIdsdbDatabase->open(kIdsdbDatabase, NULL, idsdbFileName, NULL, DB_HASH, DB_RDONLY, 0644);
13 db_create(&kAliasdbDatabase, NULL, 0);
14 kAliasdbDatabase->open(kAliasdbDatabase, NULL, aliasdbFileName, NULL, DB_HASH, DB_RDONLY, 0644);
19 kPartsdbDatabase->close(kPartsdbDatabase, 0);
20 kIdsdbDatabase->close(kIdsdbDatabase, 0);
21 kAliasdbDatabase->close(kAliasdbDatabase, 0);
25 void searchPartsData(const KGString *in, KGString *out){
28 KGString *temp, *temp2;
30 //cut off the end '-0000' if 'in' end with it
31 temp = kg_string_new(in->str);
32 //if(strncmp(temp->str + temp->len - 5, "-0000", 5) == 0) kg_string_set_size(temp, temp->len - 5);
33 if((temp->str)[0] == 'u'){
34 if(strncmp(temp->str + temp->len - 4, "-j00", 4) == 0) kg_string_set_size(temp, temp->len - 4);
35 else if(strncmp(temp->str + temp->len - 4, "-g00", 4) == 0) kg_string_set_size(temp, temp->len - 2);
36 else if(strncmp(temp->str + temp->len - 4, "-t00", 4) == 0) kg_string_set_size(temp, temp->len - 2);
37 else if(strncmp(temp->str + temp->len - 4, "-k00", 4) == 0) kg_string_set_size(temp, temp->len - 2);
38 else if(strncmp(temp->str + temp->len - 4, "-v00", 4) == 0) kg_string_set_size(temp, temp->len - 2);
39 else if(strncmp(temp->str + temp->len - 4, "-u00", 4) == 0) kg_string_set_size(temp, temp->len - 2);
42 // kg_string_set_size(temp, in->len);
45 memset(&dbkey,0,sizeof(DBT));
46 memset(&dbdata,0,sizeof(DBT));
47 dbkey.data = temp->str;
48 dbkey.size = temp->len;
49 kg_string_set_size(out, 0);
50 //fprintf(stderr, "trytogetparts:%s(%s:%d)\n", in->str, temp->str,temp->len);
51 kPartsdbDatabase->get(kPartsdbDatabase, NULL, &dbkey, &dbdata, 0);
53 //fprintf(stderr, "getparts:%s\n", in->str);
54 //for temporary : shares glyph both Mincho and Gothic
55 buf = (char *)malloc(dbdata.size + 1);
56 strncpy(buf, dbdata.data, dbdata.size);
57 buf[dbdata.size] = '\0';
58 temp2 = kg_string_new(buf);
59 //fprintf(stderr,"%s\n",buf);
61 convert99(temp2, out);
66 void searchAliasData(const KGString *in, KGString *out){
71 //cut off the end '-0000' if 'in' end with it
72 temp = kg_string_new(in->str);
73 //if(strncmp(temp->str + temp->len - 5, "-0000", 5) == 0) kg_string_set_size(temp, temp->len - 5);
74 if((temp->str)[0] == 'u'){
75 if(strncmp(temp->str + temp->len - 4, "-j00", 4) == 0) kg_string_set_size(temp, temp->len - 4);
76 else if(strncmp(temp->str + temp->len - 4, "-g00", 4) == 0) kg_string_set_size(temp, temp->len - 2);
77 else if(strncmp(temp->str + temp->len - 4, "-t00", 4) == 0) kg_string_set_size(temp, temp->len - 2);
78 else if(strncmp(temp->str + temp->len - 4, "-k00", 4) == 0) kg_string_set_size(temp, temp->len - 2);
79 else if(strncmp(temp->str + temp->len - 4, "-v00", 4) == 0) kg_string_set_size(temp, temp->len - 2);
80 else if(strncmp(temp->str + temp->len - 4, "-u00", 4) == 0) kg_string_set_size(temp, temp->len - 2);
83 memset(&dbkey,0,sizeof(DBT));
84 memset(&dbdata,0,sizeof(DBT));
85 dbkey.data = temp->str;
86 dbkey.size = temp->len;
87 kg_string_set_size(out, 0);
88 kAliasdbDatabase->get(kAliasdbDatabase, NULL, &dbkey, &dbdata, 0);
90 buf = (char *)malloc(dbdata.size + 1);
91 strncpy(buf, dbdata.data, dbdata.size);
92 buf[dbdata.size] = '\0';
93 //fprintf(stderr,"%s\n",buf);
94 kg_string_append(out, buf);
99 memset(&dbkey,0,sizeof(DBT));
100 memset(&dbdata,0,sizeof(DBT));
101 dbkey.data = temp->str;
102 dbkey.size = temp->len;
103 kg_string_set_size(out, 0);
104 kIdsdbDatabase->get(kIdsdbDatabase, NULL, &dbkey, &dbdata, 0);
105 if(dbdata.size != 0){
106 buf = (char *)malloc(dbdata.size + 1);
107 strncpy(buf, dbdata.data, dbdata.size);
108 buf[dbdata.size] = '\0';
109 //fprintf(stderr,"%s\n",buf);
110 kg_string_append(out, buf);