mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-28 13:31:13 +00:00
30891f35fa
We stopped adding "Contributed by" or similar lines in sources in 2012 in favour of git logs and keeping the Contributors section of the glibc manual up to date. Removing these lines makes the license header a bit more consistent across files and also removes the possibility of error in attribution when license blocks or files are copied across since the contributed-by lines don't actually reflect reality in those cases. Move all "Contributed by" and similar lines (Written by, Test by, etc.) into a new file CONTRIBUTED-BY to retain record of these contributions. These contributors are also mentioned in manual/contrib.texi, so we just maintain this additional record as a courtesy to the earlier developers. The following scripts were used to filter a list of files to edit in place and to clean up the CONTRIBUTED-BY file respectively. These were not added to the glibc sources because they're not expected to be of any use in future given that this is a one time task: https://gist.github.com/siddhesh/b5ecac94eabfd72ed2916d6d8157e7dc https://gist.github.com/siddhesh/15ea1f5e435ace9774f485030695ee02 Reviewed-by: Carlos O'Donell <carlos@redhat.com>
84 lines
2.2 KiB
C
84 lines
2.2 KiB
C
/* Copyright (C) 1996-2021 Free Software Foundation, Inc.
|
|
This file is part of the GNU C Library.
|
|
|
|
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; version 2 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 <https://www.gnu.org/licenses/>. */
|
|
|
|
#ifndef _CHARMAP_H
|
|
#define _CHARMAP_H
|
|
|
|
#include <obstack.h>
|
|
#include <stdbool.h>
|
|
#include <stdint.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[];
|
|
};
|
|
|
|
|
|
/* True if the encoding is not ASCII compatible. */
|
|
extern bool enc_not_ascii_compatible;
|
|
|
|
|
|
/* Prototypes for charmap handling functions. */
|
|
extern struct charmap_t *charmap_read (const char *filename, int verbose,
|
|
int error_not_found, 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 */
|