* lib/malloc.c, lib/realloc.c: New, from the fileutils 4.0.37.

* lib/xalloc.h, lib/xmalloc.c@ Update.
This commit is contained in:
Akim Demaille
2001-02-02 14:56:44 +00:00
parent 7400308fa3
commit 0d8f3c8a7a
20 changed files with 167 additions and 78 deletions

View File

@@ -1,3 +1,13 @@
2001-02-02 Akim Demaille <akim@epita.fr>
* lib/malloc.c, lib/realloc.c: New, from the fileutils 4.0.37.
* lib/xalloc.h, lib/xmalloc.c@ Update.
2001-01-19 Akim Demaille <akim@epita.fr>
* src/conflicts.c (conflict_report): Report the difference with
expected number of s/r conflicts.
2001-01-19 Akim Demaille <akim@epita.fr>
Get rid of the ad hoc handling of token_buffer in the scanner: use

38
lib/malloc.c Normal file
View File

@@ -0,0 +1,38 @@
/* Work around bug on some systems where malloc (0) fails.
Copyright (C) 1997, 1998 Free Software Foundation, Inc.
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 2, 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, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* written by Jim Meyering */
#if HAVE_CONFIG_H
# include <config.h>
#endif
#undef malloc
#include <sys/types.h>
char *malloc ();
/* Allocate an N-byte block of memory from the heap.
If N is zero, allocate a 1-byte block. */
char *
rpl_malloc (size_t n)
{
if (n == 0)
n = 1;
return malloc (n);
}

44
lib/realloc.c Normal file
View File

@@ -0,0 +1,44 @@
/* Work around bug on some systems where realloc (NULL, 0) fails.
Copyright (C) 1997 Free Software Foundation, Inc.
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 2, 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, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* written by Jim Meyering */
#if HAVE_CONFIG_H
# include <config.h>
#endif
#undef realloc
#include <sys/types.h>
char *malloc ();
char *realloc ();
/* Change the size of an allocated block of memory P to N bytes,
with error checking. If N is zero, change it to 1. If P is NULL,
use malloc. */
char *
rpl_realloc (p, n)
char *p;
size_t n;
{
if (n == 0)
n = 1;
if (p == 0)
return malloc (n);
return realloc (p, n);
}

View File

@@ -1,5 +1,5 @@
/* xalloc.h -- malloc with out-of-memory checking
Copyright (C) 1990-1998, 1999 Free Software Foundation, Inc.
Copyright (C) 1990-1998, 1999, 2000 Free Software Foundation, Inc.
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
@@ -46,9 +46,9 @@ extern int xalloc_exit_failure;
extern void (*xalloc_fail_func) PARAMS ((void));
/* If XALLOC_FAIL_FUNC is undefined or a function that returns, this
message must be non-NULL. It is translated via gettext.
The default value is "Memory exhausted". */
extern char *const xalloc_msg_memory_exhausted;
message is output. It is translated via gettext.
Its value is "memory exhausted". */
extern char const xalloc_msg_memory_exhausted[];
/* This function is always triggered when memory is exhausted. It is
in charge of honoring the three previous items. This is the

View File

@@ -1,5 +1,5 @@
/* xmalloc.c -- malloc with out of memory checking
Copyright (C) 1990-1997, 98, 99 Free Software Foundation, Inc.
Copyright (C) 1990-1999, 2000 Free Software Foundation, Inc.
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
@@ -63,7 +63,7 @@ void (*xalloc_fail_func) PARAMS ((void)) = 0;
/* If XALLOC_FAIL_FUNC is NULL, or does return, display this message
before exiting when memory is exhausted. Goes through gettext. */
char *const xalloc_msg_memory_exhausted = N_("Memory exhausted");
char const xalloc_msg_memory_exhausted[] = N_("memory exhausted");
void
xalloc_die (void)
@@ -91,8 +91,7 @@ xmalloc (size_t n)
}
/* Change the size of an allocated block of memory P to N bytes,
with error checking.
If P is NULL, run xmalloc. */
with error checking. */
void *
xrealloc (void *p, size_t n)

View File

@@ -181,7 +181,6 @@ reduced %s defines %d terminal%s, %d nonterminal%s, and %d production%s.\n", 126
{"memory exhausted", 139},
{"`", 140},
{"'", 141},
{"Memory exhausted", 142},
};
int _msg_tbl_length = 142;
int _msg_tbl_length = 141;

BIN
po/de.gmo

Binary file not shown.

View File

@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: bison 1.25\n"
"POT-Creation-Date: 2001-01-18 17:53+0100\n"
"POT-Creation-Date: 2001-02-01 17:25+0100\n"
"PO-Revision-Date: 1996-10-10 17:54 MET DST\n"
"Last-Translator: Ulrich Drepper <drepper@gnu.ai.mit.edu>\n"
"Language-Team: German <de@li.org>\n"
@@ -217,34 +217,34 @@ msgid "unexpected end of file"
msgstr "Datei endet unerwartet"
# Oder soll man den Begriff "Escapezeichen" verwenden?
#: src/lex.c:154
#: src/lex.c:160
msgid "unescaped newline in constant"
msgstr "nicht maskiertes Zeilenendezeichen in Konstante"
#: src/lex.c:196
#: src/lex.c:202
#, c-format
msgid "octal value outside range 0...255: `\\%o'"
msgstr "oktaler Zahlenwert außerhalb des Bereichs 0...255: »\\%o«"
#: src/lex.c:221
#: src/lex.c:227
#, c-format
msgid "hexadecimal value above 255: `\\x%x'"
msgstr "hexadezimaler Zahlenwert größer als 255: »\\x%x«"
#: src/lex.c:233
#: src/lex.c:239
#, c-format
msgid "unknown escape sequence: `\\' followed by `%s'"
msgstr "unbekanntes Fluchtzeichen: »\\« gefolgt von »%s«"
#: src/lex.c:326
#: src/lex.c:335
msgid "unterminated type name at end of file"
msgstr "unerwarteter Typname am Ende der Datei"
#: src/lex.c:329
#: src/lex.c:338
msgid "unterminated type name"
msgstr "unerwarteter Typname"
#: src/lex.c:422
#: src/lex.c:430
msgid "use \"...\" for multi-character literal tokens"
msgstr "für Literal mit mehreren Zeichen bitte \"...\" verwenden"

View File

@@ -30,7 +30,7 @@
msgid ""
msgstr ""
"Project-Id-Version: GNU bison 1.25\n"
"POT-Creation-Date: 2001-01-18 17:53+0100\n"
"POT-Creation-Date: 2001-02-01 17:25+0100\n"
"PO-Revision-Date: 1998-09-21 10:19+0200\n"
"Last-Translator: Nicolás García-Pedrajas <ngarcia-pedrajas@acm.org>\n"
"Language-Team: Spanish <es@li.org>\n"
@@ -277,35 +277,35 @@ msgid "unexpected end of file"
msgstr "Fin de fichero inesperado"
# ¿unescaped?
#: src/lex.c:154
#: src/lex.c:160
msgid "unescaped newline in constant"
msgstr "salto de línea en constante sin secuencia de escape"
#: src/lex.c:196
#: src/lex.c:202
#, c-format
msgid "octal value outside range 0...255: `\\%o'"
msgstr "valor octal fuera del rango 0...255: `\\%o'"
#: src/lex.c:221
#: src/lex.c:227
#, c-format
msgid "hexadecimal value above 255: `\\x%x'"
msgstr "valor hexadecimal mayor que 255: `\\x%x'"
#: src/lex.c:233
#: src/lex.c:239
#, c-format
msgid "unknown escape sequence: `\\' followed by `%s'"
msgstr "secuencia de escape desconocida: `\\' seguido de `%s'"
#: src/lex.c:326
#: src/lex.c:335
msgid "unterminated type name at end of file"
msgstr "nombre de tipo sin terminar al final del fichero"
#: src/lex.c:329
#: src/lex.c:338
msgid "unterminated type name"
msgstr "nombre de tipo sin terminar"
# ¿multicarácter o multicaracteres? sv
#: src/lex.c:422
#: src/lex.c:430
msgid "use \"...\" for multi-character literal tokens"
msgstr "use \"...\" para terminales literales multicarácter"

BIN
po/et.gmo

Binary file not shown.

View File

@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: bison 1.25\n"
"POT-Creation-Date: 2001-01-18 17:53+0100\n"
"POT-Creation-Date: 2001-02-01 17:25+0100\n"
"PO-Revision-Date: 2000-04-11 22:19+02:00\n"
"Last-Translator: Toomas Soome <tsoome@ut.ee>\n"
"Language-Team: Estonian <et@li.org>\n"
@@ -240,34 +240,34 @@ msgstr "l
msgid "unexpected end of file"
msgstr "ootamatu faililõpp"
#: src/lex.c:154
#: src/lex.c:160
msgid "unescaped newline in constant"
msgstr "paojadata reavahetus konstandis"
#: src/lex.c:196
#: src/lex.c:202
#, c-format
msgid "octal value outside range 0...255: `\\%o'"
msgstr "kaheksandväärtus väljaspool piire 0...255: `\\%o'"
#: src/lex.c:221
#: src/lex.c:227
#, c-format
msgid "hexadecimal value above 255: `\\x%x'"
msgstr "kuueteistkümnendväärtus suurem, kui above 255: `\\x%x'"
#: src/lex.c:233
#: src/lex.c:239
#, c-format
msgid "unknown escape sequence: `\\' followed by `%s'"
msgstr "tundmatu paojada: `\\' järgneb `%s'"
#: src/lex.c:326
#: src/lex.c:335
msgid "unterminated type name at end of file"
msgstr "lõpetamata tüübinimi faili lõpus"
#: src/lex.c:329
#: src/lex.c:338
msgid "unterminated type name"
msgstr "lõpetamata tüübinimi"
#: src/lex.c:422
#: src/lex.c:430
msgid "use \"...\" for multi-character literal tokens"
msgstr "kasuta mitmesümboliliste literaalidega \"...\" konstruktsiooni"

BIN
po/fr.gmo

Binary file not shown.

View File

@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: bison 1.25\n"
"POT-Creation-Date: 2001-01-18 17:53+0100\n"
"POT-Creation-Date: 2001-02-01 17:25+0100\n"
"PO-Revision-Date: 1996-03-19 20:05 EST\n"
"Last-Translator: Dominique Boucher <boucherd@IRO.UMontreal.CA>\n"
"Language-Team: French <fr@li.org>\n"
@@ -223,34 +223,34 @@ msgstr "le commentaire ne se termine pas"
msgid "unexpected end of file"
msgstr "Fin de fichier inattendue"
#: src/lex.c:154
#: src/lex.c:160
msgid "unescaped newline in constant"
msgstr "retour de chariot sans échappement dans une constante"
#: src/lex.c:196
#: src/lex.c:202
#, c-format
msgid "octal value outside range 0...255: `\\%o'"
msgstr "valeur octale à l'extérieur de l'intervalle 0...255: \\%o"
#: src/lex.c:221
#: src/lex.c:227
#, c-format
msgid "hexadecimal value above 255: `\\x%x'"
msgstr "valeur hexadécimale supérieure à 255: \\x%x"
#: src/lex.c:233
#: src/lex.c:239
#, c-format
msgid "unknown escape sequence: `\\' followed by `%s'"
msgstr "séquence d'échappement inconnue: `\\' suivie de `%s'"
#: src/lex.c:326
#: src/lex.c:335
msgid "unterminated type name at end of file"
msgstr "le nom de type ne se termine pas avant la fin de fichier"
#: src/lex.c:329
#: src/lex.c:338
msgid "unterminated type name"
msgstr "le nom de type ne se termine pas"
#: src/lex.c:422
#: src/lex.c:430
msgid "use \"...\" for multi-character literal tokens"
msgstr "utilisez \"...\" pour les terminaux litéraux de plusieurs caractères"

BIN
po/ja.gmo

Binary file not shown.

View File

@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: GNU bison 1.28\n"
"POT-Creation-Date: 2001-01-18 17:53+0100\n"
"POT-Creation-Date: 2001-02-01 17:25+0100\n"
"PO-Revision-Date: 1999-09-28 21:10+0900\n"
"Last-Translator: Daisuke Yamashita <yamad@mb.infoweb.ne.jp>\n"
"Language-Team: Japanese <ja@li.org>\n"
@@ -222,34 +222,34 @@ msgstr "
msgid "unexpected end of file"
msgstr "予期しないファイルの終端です"
#: src/lex.c:154
#: src/lex.c:160
msgid "unescaped newline in constant"
msgstr "定数の中にエスケープされていない改行があります"
#: src/lex.c:196
#: src/lex.c:202
#, c-format
msgid "octal value outside range 0...255: `\\%o'"
msgstr "8 進数の値が 0...255 の範囲外です: `\\%o'"
#: src/lex.c:221
#: src/lex.c:227
#, c-format
msgid "hexadecimal value above 255: `\\x%x'"
msgstr "16 進数の値が 255 を越えています: `\\x%x'"
#: src/lex.c:233
#: src/lex.c:239
#, c-format
msgid "unknown escape sequence: `\\' followed by `%s'"
msgstr "未知のエスケープシーケンス: `\\' の後に `%s'"
#: src/lex.c:326
#: src/lex.c:335
msgid "unterminated type name at end of file"
msgstr "閉じられていないタイプ名が、ファイル末尾にあります"
#: src/lex.c:329
#: src/lex.c:338
msgid "unterminated type name"
msgstr "閉じられていないタイプ名があります"
#: src/lex.c:422
#: src/lex.c:430
msgid "use \"...\" for multi-character literal tokens"
msgstr "複数文字のリテラルトークンには \"...\" を使いましょう"

BIN
po/nl.gmo

Binary file not shown.

View File

@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: bison 1.25\n"
"POT-Creation-Date: 2001-01-18 17:53+0100\n"
"POT-Creation-Date: 2001-02-01 17:25+0100\n"
"PO-Revision-Date: 1996-08-27 15:34 MET DST\n"
"Last-Translator: Erick Branderhorst <branderh@debian.org>\n"
"Language-Team: Dutch <nl@li.org>\n"
@@ -222,34 +222,34 @@ msgstr "ongetermineerd commentaar"
msgid "unexpected end of file"
msgstr "Onverwacht bestandseinde"
#: src/lex.c:154
#: src/lex.c:160
msgid "unescaped newline in constant"
msgstr "niet geescapete nieuwe regel in constante"
#: src/lex.c:196
#: src/lex.c:202
#, c-format
msgid "octal value outside range 0...255: `\\%o'"
msgstr "octale waarde buiten domein 0...255: `\\%o'"
#: src/lex.c:221
#: src/lex.c:227
#, c-format
msgid "hexadecimal value above 255: `\\x%x'"
msgstr "hexadecimale waarde boven 255: `\\x%x'"
#: src/lex.c:233
#: src/lex.c:239
#, c-format
msgid "unknown escape sequence: `\\' followed by `%s'"
msgstr "onbekende escape reeks: `\\' gevolgd door `%s'"
#: src/lex.c:326
#: src/lex.c:335
msgid "unterminated type name at end of file"
msgstr "niet getermineerd type naam aan het einde van bestand"
#: src/lex.c:329
#: src/lex.c:338
msgid "unterminated type name"
msgstr "niet getermineerd type naam"
#: src/lex.c:422
#: src/lex.c:430
msgid "use \"...\" for multi-character literal tokens"
msgstr "gebruik \"...\" voor meerdere karakters literal tekens"

BIN
po/ru.gmo

Binary file not shown.

View File

@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: bison 1.28a\n"
"POT-Creation-Date: 2001-01-18 17:53+0100\n"
"POT-Creation-Date: 2001-02-01 17:25+0100\n"
"PO-Revision-Date: 2000-04-12 13:16+04:00\n"
"Last-Translator: Dmitry S. Sivachenko <dima@Chg.RU>\n"
"Language-Team: Russian <ru@li.org>\n"
@@ -242,34 +242,34 @@ msgstr "
msgid "unexpected end of file"
msgstr "ÎÅÏÖÉÄÁÎÎÙÊ ËÏÎÅÃ ÆÁÊÌÁ"
#: src/lex.c:154
#: src/lex.c:160
msgid "unescaped newline in constant"
msgstr "ÎÅÜËÒÁÎÉÒÏ×ÁÎÎÙÊ ÐÅÒÅ×ÏÄ ÓÔÒÏËÉ × ËÏÎÓÔÁÎÔÅ"
#: src/lex.c:196
#: src/lex.c:202
#, c-format
msgid "octal value outside range 0...255: `\\%o'"
msgstr "×ÏÓØÍÅÒÉÞÎÁÑ ×ÅÌÉÞÉÎÁ ÚÁ ÐÒÅÄÅÌÁÍÉ ÄÉÁÐÁÚÏÎÁ 0...255: `\\%o'"
#: src/lex.c:221
#: src/lex.c:227
#, c-format
msgid "hexadecimal value above 255: `\\x%x'"
msgstr "ÛÅÓÔÎÁÄÃÁÔÅÒÉÞÎÁÑ ×ÅÌÉÞÉÎÁ ÐÒÅ×ÙÛÁÅÔ 255: `\\x%x'"
#: src/lex.c:233
#: src/lex.c:239
#, c-format
msgid "unknown escape sequence: `\\' followed by `%s'"
msgstr "ÎÅÉÚ×ÅÓÔÎÁÑ escape-ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ: `%s' ÐÏÓÌÅ `\\'"
#: src/lex.c:326
#: src/lex.c:335
msgid "unterminated type name at end of file"
msgstr "ÎÅÚÁËÏÎÞÅÎÎÏÅ ÉÍÑ ÔÉÐÁ × ËÏÎÃÅ ÆÁÊÌÁ"
#: src/lex.c:329
#: src/lex.c:338
msgid "unterminated type name"
msgstr "ÎÅÚÁËÏÎÞÅÎÎÏÅ ÉÍÑ ÔÉÐÁ"
#: src/lex.c:422
#: src/lex.c:430
msgid "use \"...\" for multi-character literal tokens"
msgstr "ÉÓÐÏÌØÚÕÊÔÅ \"...\" ÄÌÑ ÍÎÏÇÏÓÉÍ×ÏÌØÎÙÈ ÌÉÔÅÒÁÌØÎÙÈ ÌÅËÓÅÍ"

View File

@@ -535,14 +535,14 @@ struct percent_table_struct percent_table[] =
{ "nonassoc", NULL, tok_nonassoc },
{ "binary", NULL, tok_nonassoc },
{ "prec", NULL, tok_prec },
{ "locations", &locations_flag, tok_noop }, /* -l */
{ "no_lines", &no_lines_flag, tok_noop }, /* -l */
{ "raw", &raw_flag, tok_noop }, /* -r */
{ "token_table", &token_table_flag, tok_noop }, /* -k */
{ "yacc", &yacc_flag, tok_noop }, /* -y */
{ "fixed_output_files",&yacc_flag, tok_noop }, /* -y */
{ "defines", &defines_flag, tok_noop }, /* -d */
{ "no_parser", &no_parser_flag, tok_noop }, /* -n */
{ "locations", &locations_flag, tok_noop }, /* -l */
{ "no_lines", &no_lines_flag, tok_noop }, /* -l */
{ "raw", &raw_flag, tok_noop }, /* -r */
{ "token_table", &token_table_flag, tok_noop }, /* -k */
{ "yacc", &yacc_flag, tok_noop }, /* -y */
{ "fixed_output_files",&yacc_flag, tok_noop }, /* -y */
{ "defines", &defines_flag, tok_noop }, /* -d */
{ "no_parser", &no_parser_flag, tok_noop }, /* -n */
#if 0
/* For the time being, this is not enabled yet, while it's possible
though, since we use obstacks. The only risk is with semantic
@@ -552,12 +552,11 @@ struct percent_table_struct percent_table[] =
{ "file_prefix", &spec_file_prefix, tok_setopt }, /* -b */
{ "name_prefix", &spec_name_prefix, tok_setopt }, /* -p */
#endif
{ "verbose", &verbose_flag, tok_noop }, /* -v */
{ "debug", &debug_flag, tok_noop }, /* -t */
{ "verbose", &verbose_flag, tok_noop }, /* -v */
{ "debug", &debug_flag, tok_noop }, /* -t */
{ "semantic_parser", &semantic_parser, tok_noop },
{ "pure_parser", &pure_parser, tok_noop },
/* {"help", <print usage stmt>, tok_noop}, *//* -h */
/* {"version", <print version number> , tok_noop}, *//* -V */
{ NULL, NULL, tok_illegal}
};