2006-12-19 [colin] 2.6.1cvs54
[claws.git] / src / jpilot.c
index 667fda5aaf6956c2282850c9f4d493716e554267..2b80ff10dbb37be979fffc29ee546f41655b10b1 100644 (file)
 #include <netinet/in.h>
 
 #ifdef HAVE_LIBPISOCK_PI_ARGS_H
+#  include <libpisock/pi-util.h>
 #  include <libpisock/pi-args.h>
 #  include <libpisock/pi-appinfo.h>
 #  include <libpisock/pi-address.h>
 #  include <libpisock/pi-version.h>
 #else
+#  include <pi-util.h>
 #  include <pi-args.h>
 #  include <pi-appinfo.h>
 #  include <pi-address.h>
@@ -1102,11 +1104,17 @@ static void jpilot_parse_label( JPilotFile *pilotFile, gchar *labelEntry, ItemPe
                        email = addritem_create_item_email();
                        addritem_email_set_address( email, node->data );
                        if (convert_charcode) {
-                               gchar *convertBuff;
+                               gchar *convertBuff = NULL;
+#if (PILOT_LINK_MAJOR > 11)
+                               convert_FromPilotChar(CS_INTERNAL, labelEntry, 
+                                               strlen(labelEntry), &convertBuff);
+#else
                                convertBuff = conv_codeset_strdup( labelEntry, 
                                                conv_get_locale_charset_str_no_utf8(), 
                                                CS_INTERNAL );
-                               addritem_email_set_remarks( email, convertBuff );
+#endif
+                               if (convertBuff)
+                                       addritem_email_set_remarks( email, convertBuff );
                                g_free( convertBuff );
                        }
                        else {
@@ -1201,11 +1209,17 @@ static void jpilot_load_address(
        g_strstrip( fullName );
 
        if( convert_charcode ) {
-               gchar *nameConv;
+               gchar *nameConv = NULL;
+#if (PILOT_LINK_MAJOR > 11)
+               convert_FromPilotChar(CS_INTERNAL, fullName, 
+                               strlen(fullName), &nameConv);
+#else
                nameConv = conv_codeset_strdup( fullName, 
                                conv_get_locale_charset_str_no_utf8(), 
                                CS_INTERNAL );
-               strncpy2( fullName, nameConv, FULLNAME_BUFSIZE );
+#endif
+               if (nameConv)
+                       strncpy2( fullName, nameConv, FULLNAME_BUFSIZE );
                g_free( nameConv );
        }
 
@@ -1366,15 +1380,20 @@ static gboolean jpilot_setup_labels( JPilotFile *pilotFile ) {
                        gint i;
                        for( i = 0; i < JPILOT_NUM_LABELS; i++ ) {
                                gchar *labelName = ai->labels[i];
-                               gchar convertBuff[ JPILOT_LEN_LABEL ];
 
                                if( convert_charcode ) {
-                                       labelName = conv_codeset_strdup( labelName, 
+                                       gchar *convertBuff = NULL;
+#if (PILOT_LINK_MAJOR > 11)
+                                       convert_FromPilotChar(CS_INTERNAL, labelName, 
+                                                       strlen(labelName), &convertBuff);
+#else
+                                       convertBuff = conv_codeset_strdup( labelName, 
                                                        conv_get_locale_charset_str_no_utf8(), 
                                                        CS_INTERNAL );
-                                       strncpy2( convertBuff, labelName, JPILOT_LEN_LABEL );
-                                       g_free( labelName );
-                                       labelName = convertBuff;
+#endif
+                                       if (convertBuff) {
+                                               labelName = convertBuff;
+                                       }
                                }
 
                                if( g_utf8_collate( labelName, lbl ) == 0 ) {
@@ -1409,9 +1428,18 @@ GList *jpilot_load_label( JPilotFile *pilotFile, GList *labelList ) {
 
                        if( labelName ) {
                                if( convert_charcode ) {
-                                       labelName = conv_codeset_strdup( labelName, 
+                                       gchar *convertBuff = NULL;
+#if (PILOT_LINK_MAJOR > 11)
+                                       convert_FromPilotChar(CS_INTERNAL, labelName, 
+                                                       strlen(labelName), &convertBuff);
+#else
+                                       convertBuff = conv_codeset_strdup( labelName, 
                                                        conv_get_locale_charset_str_no_utf8(), 
                                                        CS_INTERNAL );
+#endif
+                                       if (convertBuff) {
+                                               labelName = convertBuff;
+                                       }
                                }
                                else {
                                        labelName = g_strdup( labelName );
@@ -1501,9 +1529,18 @@ GList *jpilot_load_custom_label( JPilotFile *pilotFile, GList *labelList ) {
                                g_strchug( labelName );
                                if( *labelName != '\0' ) {
                                        if( convert_charcode ) {
-                                               labelName = conv_codeset_strdup( labelName, 
+                                               gchar *convertBuff = NULL;
+#if (PILOT_LINK_MAJOR > 11)
+                                               convert_FromPilotChar(CS_INTERNAL, labelName, 
+                                                               strlen(labelName), &convertBuff);
+#else
+                                               convertBuff = conv_codeset_strdup( labelName, 
                                                                conv_get_locale_charset_str_no_utf8(), 
                                                                CS_INTERNAL );
+#endif
+                                               if (convertBuff) {
+                                                       labelName = convertBuff;
+                                               }
                                        }
                                        else {
                                                labelName = g_strdup( labelName );
@@ -1558,12 +1595,21 @@ static void jpilot_build_category_list( JPilotFile *pilotFile ) {
                ItemFolder *folder = addritem_create_item_folder();
 
                if( convert_charcode ) {
-                       gchar *catName;
-                       catName = conv_codeset_strdup( cat->name[i], 
+                       gchar *convertBuff = NULL;
+#if (PILOT_LINK_MAJOR > 11)
+                       convert_FromPilotChar(CS_INTERNAL, cat->name[i], 
+                                       strlen(cat->name[i]), &convertBuff);
+#else
+                       convertBuff = conv_codeset_strdup( cat->name[i], 
                                        conv_get_locale_charset_str_no_utf8(), 
                                        CS_INTERNAL );
-                       addritem_folder_set_name( folder, catName );
-                       g_free( catName );
+#endif
+                       if (convertBuff) {
+                               addritem_folder_set_name( folder, convertBuff );
+                               g_free( convertBuff );
+                       } else {
+                               addritem_folder_set_name( folder, cat->name[i] );
+                       }
                }
                else {
                        addritem_folder_set_name( folder, cat->name[i] );