Multicodepage patch: comments and system default codepage in mc.charsets

Andrew V. Samoilov sav at bcs.zp.ua
Tue Jun 5 01:43:44 UTC 2001


Hi!

Today I applied patch for src/charset.c. Here is ChangeLog entry:

	* charsets.c (load_codepages_list): Lines in mc.charset beginning
	with a # are comments. Use "default character_set_name" in mc.charset
	to set default codepage for your system.
	(xstrncpy): Eliminate.

And this is its party for setup.c.

WBR,
Andrew.

Index: setup.c
===================================================================
RCS file: /home/sav/.cvsroot/mc/src/setup.c,v
retrieving revision 1.38
diff -u -p -u -r1.38 setup.c
--- setup.c	2001/05/31 12:56:12	1.38
+++ setup.c	2001/06/05 01:24:14
@@ -54,6 +54,11 @@
 #     define PORT_LIST_MODE_DEFAULT "full"
 #endif
 
+#ifdef HAVE_CHARSET
+#include "dialog.h"
+#include "charsets.h"
+#endif /* HAVE_CHARSET */
+
 #include "../vfs/vfs.h"
 #ifdef USE_NETCODE
 #   include "../vfs/ftpfs.h"
@@ -193,8 +193,10 @@ static const struct {
     { "safe_delete", &know_not_what_am_i_doing },
     { "mouse_repeat_rate", &mou_auto_repeat },
     { "double_click_speed", &double_click_speed },
+#ifndef HAVE_CHASET
     { "eight_bit_clean", &eight_bit_clean },
     { "full_eight_bits", &full_eight_bits },
+#endif /* HAVE_CHARSET */
     { "use_8th_bit_as_meta", &use_8th_bit_as_meta },
     { "confirm_view_dir", &confirm_view_dir },
     { "mouse_move_pages", &mouse_move_pages },
@@ -437,6 +431,10 @@ save_setup (void)
 				   ftpfs_proxy_host, profile);
 #endif
 #endif
+#ifdef HAVE_CODESET
+     save_string( "Misc", "display_codepage",
+    		  get_codepage_id( display_codepage ), profile_name );
+#endif /* HAVE_CODESET */
     g_free (profile);
     saving_setup = 0;
 }
@@ -636,6 +630,29 @@ load_setup (void)
     ftpfs_init_passwd ();
 #endif
 #endif
+#ifdef HAVE_CHARSET
+    if ( load_codepages_list() <= 0 ) {
+	message( 1, MSG_ERROR, _("Can't load %s/%s"), mc_home, "mc.charsets" );
+    } else {
+ 	char cpname[128];
+ 	load_string( "Misc", "display_codepage", "",
+ 		     cpname, sizeof(cpname) );
+
+	if ( cpname[0] == '\0' ) {
+	    /* There is not default codepage in mc.charset */
+	    if ( display_codepage == -1 )
+		message( 1, _(" Warning "),
+		    _("Select your codepage in Setup / Display Bits dialog!"));
+	} else
+	    display_codepage = get_codepage_index( cpname );
+    }
+    {
+ 	char *errmsg =
+	    init_translation_table( source_codepage, display_codepage );
+	if (errmsg)
+	    message( 1, MSG_ERROR, "%s", errmsg );
+    }
+#endif /* HAVE_CHARSET */
 }
 
 #ifdef USE_VFS




More information about the mc-devel mailing list