[SCM] Samba Shared Repository - branch master updated

Andrew Bartlett abartlet at samba.org
Mon Sep 19 22:28:02 MDT 2011


The branch, master has been updated
       via  f9acf77 lib/util/charset: remove charset module loading
       via  8316577 lib/util/charcnv: Remove broken internal CP850 and CP464 modules
      from  be4f188 s4-client: added close command in smbclient

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit f9acf770e9c121aa495cb7e19175a4a6e45ff3d9
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Mon Sep 19 19:13:21 2011 -0700

    lib/util/charset: remove charset module loading
    
    Now that the 'table' modules are gone, there is no reason for there to
    be charset modules at all.  This builds the macosxfs and weird modules
    into the binary at the appropriate times, and changes the tests to
    test instead the difference between the remaining internal handlers
    and iconv().
    
    Andrew Bartlett
    
    Autobuild-User: Andrew Bartlett <abartlet at samba.org>
    Autobuild-Date: Tue Sep 20 06:27:06 CEST 2011 on sn-devel-104

commit 8316577b7538f7204c5fd6328756c4c3f171b36e
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Fri Sep 16 14:52:28 2011 -0700

    lib/util/charcnv: Remove broken internal CP850 and CP464 modules
    
    These modules are now known to be faulty, and Samba 3.6.0 didn't
    include support for them, so we now require a system iconv if you wish
    to support these character sets for the non-ASCII range.
    
    Andrew Bartlett

-----------------------------------------------------------------------

Summary of changes:
 lib/util/charset/CP437.c                           |  135 --------------------
 lib/util/charset/CP850.c                           |  121 ------------------
 lib/util/charset/charset.h                         |  101 +--------------
 lib/util/charset/charset_macosxfs.c                |   26 ++--
 .../srvstr.h => lib/util/charset/charset_proto.h   |   26 +++--
 lib/util/charset/codepoints.c                      |   14 +-
 lib/util/charset/iconv.c                           |  115 +++--------------
 lib/util/charset/tests/convert_string.c            |   22 ++--
 lib/util/charset/tests/iconv.c                     |    7 +-
 lib/util/charset/weird.c                           |   25 ++--
 lib/util/charset/wscript_build                     |   39 +------
 source3/Makefile.in                                |   21 +---
 source3/configure.in                               |   10 +-
 source3/wscript                                    |    3 -
 source4/param/util.c                               |    6 +-
 source4/selftest/knownfail                         |    8 +-
 source4/selftest/tests.py                          |    6 +-
 source4/torture/smbiconv.c                         |    2 +-
 18 files changed, 101 insertions(+), 586 deletions(-)
 delete mode 100644 lib/util/charset/CP437.c
 delete mode 100644 lib/util/charset/CP850.c
 copy source3/include/srvstr.h => lib/util/charset/charset_proto.h (51%)


Changeset truncated at 500 lines:

diff --git a/lib/util/charset/CP437.c b/lib/util/charset/CP437.c
deleted file mode 100644
index 1e478d6..0000000
--- a/lib/util/charset/CP437.c
+++ /dev/null
@@ -1,135 +0,0 @@
-/* 
- * Conversion table for CP437 charset also known as IBM437
- *
- * Copyright (C) Alexander Bokovoy		2003
- *
- * Conversion tables are generated using GNU libc 2.2.5's 
- * localedata/charmaps/IBM437 table and source/script/gen-8bit-gap.sh script
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *  
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *  
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "includes.h"
-
-static const uint16_t to_ucs2[256] = {
- 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,
- 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F,
- 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,
- 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F,
- 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,
- 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F,
- 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
- 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F,
- 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F,
- 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,
- 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F,
- 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
- 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F,
- 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,
- 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F,
- 0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x00E0, 0x00E5, 0x00E7,
- 0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x00EC, 0x00C4, 0x00C5,
- 0x00C9, 0x00E6, 0x00C6, 0x00F4, 0x00F6, 0x00F2, 0x00FB, 0x00F9,
- 0x00FF, 0x00D6, 0x00DC, 0x00A2, 0x00A3, 0x00A5, 0x20A7, 0x0192,
- 0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x00AA, 0x00BA,
- 0x00BF, 0x2310, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00BB,
- 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556,
- 0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510,
- 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F,
- 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567,
- 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B,
- 0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580,
- 0x03B1, 0x00DF, 0x0393, 0x03C0, 0x03A3, 0x03C3, 0x00B5, 0x03C4,
- 0x03A6, 0x0398, 0x03A9, 0x03B4, 0x221E, 0x03C6, 0x03B5, 0x2229,
- 0x2261, 0x00B1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00F7, 0x2248,
- 0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0,
-};
-
-static const struct charset_gap_table from_idx[] = {
-  { 0x0000, 0x007f,     0 },
-  { 0x00a0, 0x00c9,   -32 },
-  { 0x00d1, 0x00ff,   -39 },
-  { 0x0192, 0x0192,  -185 },
-  { 0x0393, 0x0398,  -697 },
-  { 0x03a3, 0x03a9,  -707 },
-  { 0x03b1, 0x03b5,  -714 },
-  { 0x03c0, 0x03c6,  -724 },
-  { 0x207f, 0x207f, -8076 },
-  { 0x20a7, 0x20a7, -8115 },
-  { 0x2219, 0x221e, -8484 },
-  { 0x2229, 0x2229, -8494 },
-  { 0x2248, 0x2248, -8524 },
-  { 0x2261, 0x2265, -8548 },
-  { 0x2310, 0x2310, -8718 },
-  { 0x2320, 0x2321, -8733 },
-  { 0x2500, 0x2502, -9211 },
-  { 0x250c, 0x251c, -9220 },
-  { 0x2524, 0x2524, -9227 },
-  { 0x252c, 0x252c, -9234 },
-  { 0x2534, 0x2534, -9241 },
-  { 0x253c, 0x253c, -9248 },
-  { 0x2550, 0x256c, -9267 },
-  { 0x2580, 0x2593, -9286 },
-  { 0x25a0, 0x25a0, -9298 },
-  { 0xffff, 0xffff,     0 }
-};
-
-static const unsigned char from_ucs2[] = {
-
-  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
-  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
-  0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
-  0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
-  0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
-  0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
-  0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
-  0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
-  0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
-  0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
-  0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
-  0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
-  0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
-  0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
-  0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
-  0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
-  0xff, 0xad, 0x9b, 0x9c, 0x00, 0x9d, 0x00, 0x00,
-  0x00, 0x00, 0xa6, 0xae, 0xaa, 0x00, 0x00, 0x00,
-  0xf8, 0xf1, 0xfd, 0x00, 0x00, 0xe6, 0x00, 0xfa,
-  0x00, 0x00, 0xa7, 0xaf, 0xac, 0xab, 0x00, 0xa8,
-  0x00, 0x00, 0x00, 0x00, 0x8e, 0x8f, 0x92, 0x80,
-  0x00, 0x90, 0xa5, 0x00, 0x00, 0x00, 0x00, 0x99,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0x00, 0x00,
-  0xe1, 0x85, 0xa0, 0x83, 0x00, 0x84, 0x86, 0x91,
-  0x87, 0x8a, 0x82, 0x88, 0x89, 0x8d, 0xa1, 0x8c,
-  0x8b, 0x00, 0xa4, 0x95, 0xa2, 0x93, 0x00, 0x94,
-  0xf6, 0x00, 0x97, 0xa3, 0x96, 0x81, 0x00, 0x00,
-  0x98, 0x9f, 0xe2, 0x00, 0x00, 0x00, 0x00, 0xe9,
-  0xe4, 0x00, 0x00, 0xe8, 0x00, 0x00, 0xea, 0xe0,
-  0x00, 0x00, 0xeb, 0xee, 0xe3, 0x00, 0x00, 0xe5,
-  0xe7, 0x00, 0xed, 0xfc, 0x9e, 0xf9, 0xfb, 0x00,
-  0x00, 0x00, 0xec, 0xef, 0xf7, 0xf0, 0x00, 0x00,
-  0xf3, 0xf2, 0xa9, 0xf4, 0xf5, 0xc4, 0x00, 0xb3,
-  0xda, 0x00, 0x00, 0x00, 0xbf, 0x00, 0x00, 0x00,
-  0xc0, 0x00, 0x00, 0x00, 0xd9, 0x00, 0x00, 0x00,
-  0xc3, 0xb4, 0xc2, 0xc1, 0xc5, 0xcd, 0xba, 0xd5,
-  0xd6, 0xc9, 0xb8, 0xb7, 0xbb, 0xd4, 0xd3, 0xc8,
-  0xbe, 0xbd, 0xbc, 0xc6, 0xc7, 0xcc, 0xb5, 0xb6,
-  0xb9, 0xd1, 0xd2, 0xcb, 0xcf, 0xd0, 0xca, 0xd8,
-  0xd7, 0xce, 0xdf, 0x00, 0x00, 0x00, 0xdc, 0x00,
-  0x00, 0x00, 0xdb, 0x00, 0x00, 0x00, 0xdd, 0x00,
-  0x00, 0x00, 0xde, 0xb0, 0xb1, 0xb2, 0xfe,
-};
-
-SMB_GENERATE_CHARSET_MODULE_8_BIT_GAP(CP437)
diff --git a/lib/util/charset/CP850.c b/lib/util/charset/CP850.c
deleted file mode 100644
index 87a76f4..0000000
--- a/lib/util/charset/CP850.c
+++ /dev/null
@@ -1,121 +0,0 @@
-/* 
- * Conversion table for CP850 charset also known as IBM850.
- *
- * Copyright (C) Alexander Bokovoy		2003
- *
- * Conversion tables are generated using GNU libc 2.2.5's 
- * localedata/charmaps/IBM850 table and source/script/gen-8bit-gap.sh script
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *  
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *  
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "includes.h"
-
-static const uint16_t to_ucs2[256] = {
- 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,
- 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F,
- 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,
- 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F,
- 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,
- 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F,
- 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
- 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F,
- 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F,
- 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,
- 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F,
- 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
- 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F,
- 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,
- 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F,
- 0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x00E0, 0x00E5, 0x00E7,
- 0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x00EC, 0x00C4, 0x00C5,
- 0x00C9, 0x00E6, 0x00C6, 0x00F4, 0x00F6, 0x00F2, 0x00FB, 0x00F9,
- 0x00FF, 0x00D6, 0x00DC, 0x00F8, 0x00A3, 0x00D8, 0x00D7, 0x0192,
- 0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x00AA, 0x00BA,
- 0x00BF, 0x00AE, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00BB,
- 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x00C1, 0x00C2, 0x00C0,
- 0x00A9, 0x2563, 0x2551, 0x2557, 0x255D, 0x00A2, 0x00A5, 0x2510,
- 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x00E3, 0x00C3,
- 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x00A4,
- 0x00F0, 0x00D0, 0x00CA, 0x00CB, 0x00C8, 0x0131, 0x00CD, 0x00CE,
- 0x00CF, 0x2518, 0x250C, 0x2588, 0x2584, 0x00A6, 0x00CC, 0x2580,
- 0x00D3, 0x00DF, 0x00D4, 0x00D2, 0x00F5, 0x00D5, 0x00B5, 0x00FE,
- 0x00DE, 0x00DA, 0x00DB, 0x00D9, 0x00FD, 0x00DD, 0x00AF, 0x00B4,
- 0x00AD, 0x00B1, 0x2017, 0x00BE, 0x00B6, 0x00A7, 0x00F7, 0x00B8,
- 0x00B0, 0x00A8, 0x00B7, 0x00B9, 0x00B3, 0x00B2, 0x25A0, 0x00A0,
-};
-
-static const struct charset_gap_table from_idx[] = {
-    /* start, end, idx */
-  { 0x0000, 0x007f, 0 },
-  { 0x00a0, 0x00ff, -32 },
-  { 0x0131, 0x0131, -81 },
-  { 0x0192, 0x0192, -177 },
-  { 0x2017, 0x2017, -7989 },
-  { 0x2500, 0x2502, -9245 },
-  { 0x250c, 0x251c, -9254 },
-  { 0x2524, 0x2524, -9261 },
-  { 0x252c, 0x252c, -9268 },
-  { 0x2534, 0x2534, -9275 },
-  { 0x253c, 0x253c, -9282 },
-  { 0x2550, 0x256c, -9301 },
-  { 0x2580, 0x2588, -9320 },
-  { 0x2591, 0x2593, -9328 },
-  { 0x25a0, 0x25a0, -9340 },
-  { 0xffff, 0xffff, 0 }
-};
-static const unsigned char from_ucs2[] = {
-
-  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
-  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
-  0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
-  0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
-  0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
-  0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
-  0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
-  0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
-  0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
-  0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
-  0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
-  0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
-  0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
-  0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
-  0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
-  0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
-  0xff, 0xad, 0xbd, 0x9c, 0xcf, 0xbe, 0xdd, 0xf5,
-  0xf9, 0xb8, 0xa6, 0xae, 0xaa, 0xf0, 0xa9, 0xee,
-  0xf8, 0xf1, 0xfd, 0xfc, 0xef, 0xe6, 0xf4, 0xfa,
-  0xf7, 0xfb, 0xa7, 0xaf, 0xac, 0xab, 0xf3, 0xa8,
-  0xb7, 0xb5, 0xb6, 0xc7, 0x8e, 0x8f, 0x92, 0x80,
-  0xd4, 0x90, 0xd2, 0xd3, 0xde, 0xd6, 0xd7, 0xd8,
-  0xd1, 0xa5, 0xe3, 0xe0, 0xe2, 0xe5, 0x99, 0x9e,
-  0x9d, 0xeb, 0xe9, 0xea, 0x9a, 0xed, 0xe8, 0xe1,
-  0x85, 0xa0, 0x83, 0xc6, 0x84, 0x86, 0x91, 0x87,
-  0x8a, 0x82, 0x88, 0x89, 0x8d, 0xa1, 0x8c, 0x8b,
-  0xd0, 0xa4, 0x95, 0xa2, 0x93, 0xe4, 0x94, 0xf6,
-  0x9b, 0x97, 0xa3, 0x96, 0x81, 0xec, 0xe7, 0x98,
-  0xd5, 0x9f, 0xf2, 0xc4, 0x00, 0xb3, 0xda, 0x00,
-  0x00, 0x00, 0xbf, 0x00, 0x00, 0x00, 0xc0, 0x00,
-  0x00, 0x00, 0xd9, 0x00, 0x00, 0x00, 0xc3, 0xb4,
-  0xc2, 0xc1, 0xc5, 0xcd, 0xba, 0x00, 0x00, 0xc9,
-  0x00, 0x00, 0xbb, 0x00, 0x00, 0xc8, 0x00, 0x00,
-  0xbc, 0x00, 0x00, 0xcc, 0x00, 0x00, 0xb9, 0x00,
-  0x00, 0xcb, 0x00, 0x00, 0xca, 0x00, 0x00, 0xce,
-  0xdf, 0x00, 0x00, 0x00, 0xdc, 0x00, 0x00, 0x00,
-  0xdb, 0xb0, 0xb1, 0xb2, 0xfe,
-};
-
-SMB_GENERATE_CHARSET_MODULE_8_BIT_GAP(CP850)
-
diff --git a/lib/util/charset/charset.h b/lib/util/charset/charset.h
index 20887e0..d731ad1 100644
--- a/lib/util/charset/charset.h
+++ b/lib/util/charset/charset.h
@@ -59,7 +59,7 @@ struct charset_functions {
 				   char **outbuf, size_t *outbytesleft);
 	size_t (*push)(void *, const char **inbuf, size_t *inbytesleft,
 				   char **outbuf, size_t *outbytesleft);
-	struct charset_functions *prev, *next;
+	bool samba_internal_charset;
 };
 
 /* this type is used for manipulating unicode codepoints */
@@ -67,18 +67,6 @@ typedef uint32_t codepoint_t;
 
 #define INVALID_CODEPOINT ((codepoint_t)-1)
 
-/*
- * This is auxiliary struct used by source/script/gen-8-bit-gap.sh script
- * during generation of an encoding table for charset module
- *     */
-
-struct charset_gap_table {
-  uint16_t start;
-  uint16_t end;
-  int32_t idx;
-};
-
-
 /* generic iconv conversion structure */
 typedef struct smb_iconv_s {
 	size_t (*direct)(void *cd, const char **inbuf, size_t *inbytesleft,
@@ -183,7 +171,7 @@ struct smb_iconv_handle *get_iconv_handle(void);
 struct smb_iconv_handle *get_iconv_testing_handle(TALLOC_CTX *mem_ctx, 
 						  const char *dos_charset, 
 						  const char *unix_charset,
-						  bool native_iconv);
+						  bool use_builtin_handlers);
 smb_iconv_t get_conv_handle(struct smb_iconv_handle *ic,
 			    charset_t from, charset_t to);
 const char *charset_name(struct smb_iconv_handle *ic, charset_t ch);
@@ -212,7 +200,7 @@ int codepoint_cmpi(codepoint_t c1, codepoint_t c2);
 struct smb_iconv_handle *smb_iconv_handle_reinit(TALLOC_CTX *mem_ctx,
 							   const char *dos_charset,
 							   const char *unix_charset,
-							   bool native_iconv,
+							   bool use_builtin_handlers,
 							   struct smb_iconv_handle *old_ic);
 
 bool convert_string_handle(struct smb_iconv_handle *ic,
@@ -237,11 +225,10 @@ size_t smb_iconv(smb_iconv_t cd,
 		 const char **inbuf, size_t *inbytesleft,
 		 char **outbuf, size_t *outbytesleft);
 smb_iconv_t smb_iconv_open_ex(TALLOC_CTX *mem_ctx, const char *tocode, 
-			      const char *fromcode, bool native_iconv);
+			      const char *fromcode, bool use_builtin_handlers);
 
 void load_case_tables(void);
 void load_case_tables_library(void);
-bool smb_register_charset(const struct charset_functions *funcs_in);
 
 /* The following definitions come from util_unistr_w.c  */
 
@@ -260,84 +247,4 @@ int strncasecmp_w(const smb_ucs2_t *a, const smb_ucs2_t *b, size_t len);
 int strcmp_wa(const smb_ucs2_t *a, const char *b);
 smb_ucs2_t toupper_w(smb_ucs2_t v);
 
-/*
- *   Define stub for charset module which implements 8-bit encoding with gaps.
- *   Encoding tables for such module should be produced from glibc's CHARMAPs
- *   using script source/script/gen-8bit-gap.sh
- *   CHARSETNAME is CAPITALIZED charset name
- *
- *     */
-#define SMB_GENERATE_CHARSET_MODULE_8_BIT_GAP(CHARSETNAME) 					\
-static size_t CHARSETNAME ## _push(void *cd, const char **inbuf, size_t *inbytesleft,			\
-			 char **outbuf, size_t *outbytesleft) 					\
-{ 												\
-	while (*inbytesleft >= 2 && *outbytesleft >= 1) { 					\
-		int i; 										\
-		int done = 0; 									\
-												\
-		uint16_t ch = SVAL(*inbuf,0); 							\
-												\
-		for (i=0; from_idx[i].start != 0xffff; i++) {					\
-			if ((from_idx[i].start <= ch) && (from_idx[i].end >= ch)) {		\
-				((unsigned char*)(*outbuf))[0] = from_ucs2[from_idx[i].idx+ch];	\
-				(*inbytesleft) -= 2;						\
-				(*outbytesleft) -= 1;						\
-				(*inbuf)  += 2;							\
-				(*outbuf) += 1;							\
-				done = 1;							\
-				break;								\
-			}									\
-		}										\
-		if (!done) {									\
-			errno = EINVAL;								\
-			return -1;								\
-		}										\
-												\
-	}											\
-												\
-	if (*inbytesleft == 1) {								\
-		errno = EINVAL;									\
-		return -1;									\
-	}											\
-												\
-	if (*inbytesleft > 1) {									\
-		errno = E2BIG;									\
-		return -1;									\
-	}											\
-												\
-	return 0;										\
-}												\
-												\
-static size_t CHARSETNAME ## _pull(void *cd, const char **inbuf, size_t *inbytesleft,				\
-			 char **outbuf, size_t *outbytesleft)					\
-{												\
-	while (*inbytesleft >= 1 && *outbytesleft >= 2) {					\
-		SSVAL(*outbuf, 0, to_ucs2[((unsigned char*)(*inbuf))[0]]);			\
-		(*inbytesleft)  -= 1;								\
-		(*outbytesleft) -= 2;								\
-		(*inbuf)  += 1;									\
-		(*outbuf) += 2;									\
-	}											\
-												\
-	if (*inbytesleft > 0) {									\
-		errno = E2BIG;									\
-		return -1;									\
-	}											\
-												\
-	return 0;										\
-}												\
-												\
-struct charset_functions CHARSETNAME ## _functions = 						\
-		{#CHARSETNAME, CHARSETNAME ## _pull, CHARSETNAME ## _push};			\
-												\
-NTSTATUS charset_ ## CHARSETNAME ## _init(void);							\
-NTSTATUS charset_ ## CHARSETNAME ## _init(void)							\
-{												\
-	if (!smb_register_charset(& CHARSETNAME ## _functions)) {	\
-	        return NT_STATUS_INTERNAL_ERROR;			\
-	}								\
-	return NT_STATUS_OK; \
-}						\
-
-
 #endif /* __CHARSET_H__ */
diff --git a/lib/util/charset/charset_macosxfs.c b/lib/util/charset/charset_macosxfs.c
index 4d2ba5b..dfd142a 100644
--- a/lib/util/charset/charset_macosxfs.c
+++ b/lib/util/charset/charset_macosxfs.c
@@ -30,8 +30,11 @@
  */
 
 #include "includes.h"
+#include "charset_proto.h"
 #undef realloc
 
+#ifdef DARWIN
+
 /*
  * Include OS frameworks.  These are only needed in this module.
  */
@@ -201,7 +204,7 @@ static void hexdump( const char * label, const char * s, size_t len )
  * generic, not specifically for the file system.  So they may not be
  * perfect fits.
  */
-static size_t macosxfs_encoding_pull(
+size_t macosxfs_encoding_pull(
 	void *cd,				/* Encoder handle */
 	char **inbuf, size_t *inbytesleft,	/* Script string */
 	char **outbuf, size_t *outbytesleft)	/* UTF-16-LE string */
@@ -323,7 +326,7 @@ static size_t macosxfs_encoding_pull(
 	return 0;
 }
 
-static size_t macosxfs_encoding_push(
+size_t macosxfs_encoding_push(
 	void *cd,				/* Encoder handle */
 	char **inbuf, size_t *inbytesleft,	/* UTF-16-LE string */
 	char **outbuf, size_t *outbytesleft)	/* Script string */
@@ -587,19 +590,12 @@ static size_t macosxfs_encoding_push(
 
 #endif /* USE_INTERNAL_API */
 
-/*
- * For initialization, actually install the encoding as "macosxfs".
- */
-static struct charset_functions macosxfs_encoding_functions = {
-	"MACOSXFS", macosxfs_encoding_pull, macosxfs_encoding_push
-};
-
-NTSTATUS charset_macosxfs_init(void)
+#else /* DARWIN */
+     
+void charset_macosfs_dummy(void);
+void charset_macosfs_dummy(void)
 {
-	if (!smb_register_charset(&macosxfs_encoding_functions)) {
-		return NT_STATUS_INTERNAL_ERROR;
-	}
-	return NT_STATUS_OK;
+	return;
 }
 
-/* eof */
+#endif /* DARWIN */
diff --git a/source3/include/srvstr.h b/lib/util/charset/charset_proto.h
similarity index 51%
copy from source3/include/srvstr.h
copy to lib/util/charset/charset_proto.h
index 7e7d8a2..3b3187a 100644
--- a/source3/include/srvstr.h
+++ b/lib/util/charset/charset_proto.h
@@ -1,7 +1,9 @@
 /* 
    Unix SMB/CIFS implementation.
-   server specific string routines
+   Samba charset modules
    Copyright (C) Andrew Tridgell 2001
+   Copyright (C) Jelmer Vernooij 2002
+   Copyright (C) Benjamin Riefenstahl 2003
    
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -17,14 +19,18 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
-#define srvstr_pull_talloc(ctx, base_ptr, smb_flags2, dest, src, src_len, flags) \
-    pull_string_talloc(ctx, base_ptr, smb_flags2, dest, src, src_len, flags)


-- 
Samba Shared Repository


More information about the samba-cvs mailing list