Add russian codepage (cp1251) to samba (#819)
git-svn-id: svn://svn.openwrt.org/openwrt/packages@11811 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
b80cac5dbd
commit
64b5f5f82d
@ -186,8 +186,8 @@ define Package/samba-common/install
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/samba/unicode_map.{437,850,ISO8859-1,ISO8859-15} $(1)/usr/share/samba/
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/samba/codepage.852 $(1)/usr/share/samba/
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/samba/unicode_map.{852,ISO8859-2} $(1)/usr/share/samba/
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/samba/codepage.866 $(1)/usr/share/samba/
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/samba/unicode_map.{866,ISO8859-5,KOI8-R} $(1)/usr/share/samba/
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/samba/codepage.{866,1251} $(1)/usr/share/samba/
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/samba/unicode_map.{866,ISO8859-5,KOI8-R,1251} $(1)/usr/share/samba/
|
||||
endef
|
||||
|
||||
define Package/samba-server/install
|
||||
|
54
net/samba/patches/102-cp1251.patch
Normal file
54
net/samba/patches/102-cp1251.patch
Normal file
@ -0,0 +1,54 @@
|
||||
diff -ruN samba-2.0.10/source/lib/charcnv.c samba-2.2.10/source/lib/charcnv.c
|
||||
--- samba-2.0.10/source/lib/charcnv.c 2000-03-16 17:59:14.000000000 -0500
|
||||
+++ samba-2.2.10/source/lib/charcnv.c 2004-07-21 11:04:42.000000000 -0400
|
||||
@@ -191,6 +191,39 @@
|
||||
update_map("\370\234\371\233\372\207\373\230\374\235\375\231\376\227\377\232");
|
||||
}
|
||||
|
||||
+/* Init for Bulgarian, Belarussian, and variants of Russian and Ukrainian locales */
|
||||
+/* Patch from Alexander Bokovoy. */
|
||||
+
|
||||
+static void init_1251(int codepage)
|
||||
+{
|
||||
+ setupmaps();
|
||||
+
|
||||
+ if (codepage == 866) {
|
||||
+/* MSDOS Code Page 866 -> 1251 */
|
||||
+update_map ("\240\377\241\366\242\367\244\375");
|
||||
+update_map ("\250\360\252\362\257\364");
|
||||
+update_map ("\260\370\267\372");
|
||||
+update_map ("\270\361\271\374\272\363\277\365");
|
||||
+update_map ("\300\200\301\201\302\202\303\203\304\204\305\205\306\206\307\207");
|
||||
+update_map ("\310\210\311\211\312\212\313\213\314\214\315\215\316\216\317\217");
|
||||
+update_map ("\320\220\321\221\322\222\323\223\324\224\325\225\326\226\327\227");
|
||||
+update_map ("\330\230\331\231\332\232\333\233\334\234\335\235\336\236\337\237");
|
||||
+update_map ("\340\240\341\241\342\242\343\243\344\244\345\245\346\246\347\247");
|
||||
+update_map ("\350\250\351\251\352\252\353\253\354\254\355\255\356\256\357\257");
|
||||
+update_map ("\360\340\361\341\362\342\363\343\364\344\365\345\366\346\367\347");
|
||||
+update_map ("\370\350\371\351\372\352\373\353\374\354\375\355\376\356\377\357");
|
||||
+ } else {
|
||||
+/* MSDOS Code Page 1125 (Ukranian) -> 1251 */
|
||||
+update_map ("\271\374\270\361\360\340\361\341\340\240\362\342\341\241\320\220");
|
||||
+update_map ("\272\365\363\343\342\242\321\221\300\200\364\344\343\243\322\222");
|
||||
+update_map ("\301\201\263\367\250\360\365\345\344\244\323\223\302\202\277\371");
|
||||
+update_map ("\366\346\345\245\324\224\303\203\367\347\346\246\325\225\304\204");
|
||||
+update_map ("\252\364\370\350\347\247\326\226\305\205\371\351\350\250\327\227");
|
||||
+update_map ("\306\206\262\366\351\251\330\230\307\207\257\370\331\231\310\210");
|
||||
+update_map ("\311\211\245\362\264\363");
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
|
||||
/* Init for ROMAN-8 (HP-UX) */
|
||||
|
||||
@@ -275,6 +308,10 @@
|
||||
init_iso8859_7();
|
||||
} else if (strequal (str, "koi8-r")) {
|
||||
init_koi8_r();
|
||||
+ } else if (strequal (str, "1251u")) {
|
||||
+ init_1251(1125);
|
||||
+ } else if (strequal (str, "1251")) {
|
||||
+ init_1251(866);
|
||||
} else if (strequal (str, "roman8")) {
|
||||
init_roman8();
|
||||
} else {
|
Loading…
x
Reference in New Issue
Block a user