summaryrefslogtreecommitdiff
path: root/palm/jpilot/files/patch-address.c
blob: dbb316b8a94cb4db87da555f3590654a8188506b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
Index: address.c
diff -u address.c:1.1.1.1 address.c:1.1.1.1.4.3
--- address.c:1.1.1.1	Sun Feb  4 12:58:54 2001
+++ address.c	Sat Feb 17 20:37:52 2001
@@ -31,10 +31,6 @@
 #include "libplugin.h"
 #include "password.h"
 
-#include "japanese.h"
-#include "cp1250.h"
-#include "russian.h"
-
 #define ADDRESS_EOF 7
 
 static int glob_sort_by_company;
@@ -224,8 +220,16 @@
 		     unsigned int *unique_id)
 {
    char record[65536];
-   int rec_len;
+   int rec_len,i;
    buf_rec br;
+   long char_set;
+
+   get_pref(PREF_CHAR_SET, &char_set, NULL);
+   if (char_set != CHAR_SET_ENGLISH) {
+      for (i = 0; i < 19; i++) {
+	  if (a->entry[i]) charset_j2p(a->entry[i], strlen(a->entry[i])+1, char_set);
+      }
+   }
 
    rec_len = pack_Address(a, record, 65535);
    if (!rec_len) {
@@ -275,36 +279,22 @@
       return -1;
    }
 	 
-   get_pref(PREF_CHAR_SET, &char_set, NULL);
-   if (char_set==CHAR_SET_JAPANESE || 
-       char_set==CHAR_SET_1250 ||
-       char_set==CHAR_SET_1251 ||
-       char_set==CHAR_SET_1251_B
-       ) {
+   get_pref(PREF_CHAR_SET, &char_set, NULL); 
+   if (char_set != CHAR_SET_ENGLISH) {
       /* Convert to character set */
-	{
 	   int i;
 	   for (i = 0; i < 16; i++)
 	     if (ai->category.name[i][0] != '\0') {
-   		if (char_set==CHAR_SET_JAPANESE) Sjis2Euc(ai->category.name[i], 16);
-   		if (char_set==CHAR_SET_1250) Win2Lat(ai->category.name[i], 16);
-   		if (char_set==CHAR_SET_1251) win1251_to_koi8(ai->category.name[i], 16);
+		charset_p2j(ai->category.name[i], 16, char_set);
 	     }
 	   for (i = 0; i < 19 + 3; i++)
 	     if (ai->labels[i][0] != '\0') {
-   		if (char_set==CHAR_SET_JAPANESE) Sjis2Euc(ai->labels[i], 16);
-   		if (char_set==CHAR_SET_1250) Win2Lat(ai->labels[i], 16);
-   		if (char_set==CHAR_SET_1251) win1251_to_koi8(ai->labels[i], 16);
-   		if (char_set==CHAR_SET_1251_B) koi8_to_win1251(ai->labels[i], 16);
+		charset_p2j(ai->labels[i],16, char_set);
 	     }
 	   for (i = 0; i < 8; i++)
 	     if (ai->phoneLabels[i][0] != '\0') {
-   		if (char_set==CHAR_SET_JAPANESE) Sjis2Euc(ai->phoneLabels[i], 16);
-   		if (char_set==CHAR_SET_1250) Win2Lat(ai->phoneLabels[i], 16);
-   		if (char_set==CHAR_SET_1251) win1251_to_koi8(ai->phoneLabels[i], 16);
-   		if (char_set==CHAR_SET_1251_B) koi8_to_win1251(ai->phoneLabels[i], 16);
+		charset_p2j(ai->phoneLabels[i],16, char_set);
 	     }
-	}
    }
 
    return 0;
@@ -386,17 +376,11 @@
       }
 
       get_pref(PREF_CHAR_SET, &char_set, NULL);
-      if (char_set==CHAR_SET_JAPANESE || 
-	  char_set==CHAR_SET_1250 ||
-	  char_set==CHAR_SET_1251 ||
-	  char_set==CHAR_SET_1251_B
-	  ) {
-	 int i;
+      if (char_set != CHAR_SET_ENGLISH) {
 	 for (i = 0; i < 19; i++) {
-	    if (char_set==CHAR_SET_JAPANESE) Sjis2Euc(a.entry[i], 65536);
-	    if (char_set==CHAR_SET_1250) Win2Lat(a.entry[i], 65536);
-	    if (char_set==CHAR_SET_1251) win1251_to_koi8(a.entry[i], 65536);
-	    if (char_set==CHAR_SET_1251_B) koi8_to_win1251(a.entry[i], 65536);
+	     if ((a.entry[i] != NULL) && (a.entry[i][0] != '\0')) {
+		charset_p2j(a.entry[i], strlen(a.entry[i])+1, char_set);
+	     }
 	 }
       }