-/* $Id: charmap.c,v 1.38 2005-06-15 21:31:45 adam Exp $
- Copyright (C) 1995-2005
+/* $Id: charmap.c,v 1.44 2007-01-15 15:10:26 adam Exp $
+ Copyright (C) 1995-2007
Index Data ApS
This file is part of the Zebra server.
for more details.
You should have received a copy of the GNU General Public License
-along with Zebra; see the file LICENSE.zebra. If not, write to the
-Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA.
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
*/
const char *CHR_UNKNOWN = "\001";
const char *CHR_SPACE = "\002";
const char *CHR_CUT = "\003";
-const char *CHR_BASE = "\005";
+const char *CHR_BASE = "\005"; /* CHECK CHR_BASE_CHAR as well */
struct chrmaptab_info
{
}
if (!len)
{
- if (!root->target || !root->target[0] || strcmp(root->target[0], to))
+ if (!root->target || !root->target[0] ||
+ strcmp((const char *) root->target[0], to))
{
if (from_0 &&
root->target && root->target[0] && root->target[0][0] &&
- strcmp (root->target[0], CHR_UNKNOWN))
+ strcmp((const char *) root->target[0], CHR_UNKNOWN))
{
yaz_log (YLOG_WARN, "duplicate entry for charmap from '%s'",
from_0);
const char *chr_map_output(chrmaptab maptab, const char **from, int len)
{
unsigned char c = ** (unsigned char **) from;
- (*from)++;
- return (const char*) maptab->output[c];
+ const char *out = (const char*) maptab->output[c];
+
+ if (out)
+ (*from)++;
+ return out;
}
static int zebra_ucs4_strlen(ucs4_t *s)
}
+/*
+ * Local variables:
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ * vim: shiftwidth=4 tabstop=8 expandtab
+ */
+