mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-29 16:21:07 +00:00
93693c4d82
2001-02-04 Ulrich Drepper <drepper@redhat.com> * iconv/Makefile (iconv_prog-modules): Define. Add vpath to find files in locale/programs. Add CFLAGS definition to allow compiling localedef files. * iconv/dummy-repertoire.c: New file. * iconv/iconv_charmap.c: New file. * iconv/iconv_prog.h: New file. * iconv/iconv_prog.c: Make verbose and omit_invalid global. (main): If parameter for -f and -t contain slashes try first to resolve the strings as filenames of charmap files. Use them for conversion in this case. * iconvdata/run-iconv-test.sh: If charmaps exist also run tests with iconv getting charmap names as parameters. * locale/programs/linereader.c (lr_token): Take extra parameters verbose and pass it to get_string. (get_string): Take extra parameters verbose. * locale/programs/charmap.c (parse_charmap): Take extra parameters verbose and be_quiet. Change all callers of lr_token and parse_charmap. * locale/programs/charmap.h: Likewise. * locale/programs/ld-address.c: Likewise. * locale/programs/ld-collate.c: Likewise. * locale/programs/ld-ctype.c: Likewise. * locale/programs/ld-identification.c: Likewise. * locale/programs/ld-measurement.c: Likewise. * locale/programs/ld-messages.c: Likewise. * locale/programs/ld-monetary.c: Likewise. * locale/programs/ld-name.c: Likewise. * locale/programs/ld-numeric.c: Likewise. * locale/programs/ld-paper.c: Likewise. * locale/programs/ld-telephone.c: Likewise. * locale/programs/ld-time.c: Likewise. * locale/programs/linereader.c: Likewise. * locale/programs/linereader.h: Likewise. * locale/programs/localedef.c: Likewise. * locale/programs/locfile.c: Likewise. * locale/programs/locfile.h: Likewise. * locale/programs/repertoire.c: Likewise.
80 lines
2.2 KiB
C
80 lines
2.2 KiB
C
/* Copyright (C) 1996, 1997, 1998, 1999, 2001 Free Software Foundation, Inc.
|
|
This file is part of the GNU C Library.
|
|
Contributed by Ulrich Drepper <drepper@gnu.org>, 1996.
|
|
|
|
The GNU C Library is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU Library General Public License as
|
|
published by the Free Software Foundation; either version 2 of the
|
|
License, or (at your option) any later version.
|
|
|
|
The GNU C Library 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
|
|
Library General Public License for more details.
|
|
|
|
You should have received a copy of the GNU Library General Public
|
|
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
|
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
Boston, MA 02111-1307, USA. */
|
|
|
|
#ifndef _CHARMAP_H
|
|
#define _CHARMAP_H
|
|
|
|
#include <obstack.h>
|
|
|
|
#include "repertoire.h"
|
|
#include "simple-hash.h"
|
|
|
|
|
|
struct width_rule
|
|
{
|
|
struct charseq *from;
|
|
struct charseq *to;
|
|
unsigned int width;
|
|
};
|
|
|
|
|
|
struct charmap_t
|
|
{
|
|
const char *code_set_name;
|
|
const char *repertoiremap;
|
|
int mb_cur_min;
|
|
int mb_cur_max;
|
|
|
|
struct width_rule *width_rules;
|
|
size_t nwidth_rules;
|
|
size_t nwidth_rules_max;
|
|
unsigned int width_default;
|
|
|
|
struct obstack mem_pool;
|
|
hash_table char_table;
|
|
hash_table byte_table;
|
|
hash_table ucs4_table;
|
|
};
|
|
|
|
|
|
/* This is the structure used for entries in the hash table. It represents
|
|
the sequence of bytes used for the coded character. */
|
|
struct charseq
|
|
{
|
|
const char *name;
|
|
uint32_t ucs4;
|
|
int nbytes;
|
|
unsigned char bytes[0];
|
|
};
|
|
|
|
|
|
/* Prototypes for charmap handling functions. */
|
|
extern struct charmap_t *charmap_read (const char *filename, int verbose,
|
|
int be_quiet, int use_default);
|
|
|
|
/* Return the value stored under the given key in the hashing table. */
|
|
extern struct charseq *charmap_find_value (const struct charmap_t *charmap,
|
|
const char *name, size_t len);
|
|
|
|
/* Return symbol for given multibyte sequence. */
|
|
extern struct charseq *charmap_find_symbol (const struct charmap_t *charmap,
|
|
const char *name, size_t len);
|
|
|
|
#endif /* charmap.h */
|