Changeset 1391 for branches/GNU/src/gcc/libiberty/regex.c
- Timestamp:
- Apr 27, 2004, 8:39:34 PM (21 years ago)
- Location:
- branches/GNU/src/gcc
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/GNU/src/gcc
- Property svn:ignore
-
old new 26 26 configure.vr 27 27 configure.vrs 28 dir.info 28 29 Makefile 29 dir.info30 30 lost+found 31 31 update.out
-
- Property svn:ignore
-
branches/GNU/src/gcc/libiberty/regex.c
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r1390 r1391 3 3 (Implements POSIX draft P1003.2/D11.2, except for some of the 4 4 internationalization features.) 5 Copyright (C) 1993-1999, 2000, 2001 Free Software Foundation, Inc.5 Copyright (C) 1993-1999, 2000, 2001, 2002 Free Software Foundation, Inc. 6 6 This file is part of the GNU C Library. 7 7 … … 26 26 routines or with other components regex routines. */ 27 27 /* AIX requires this to be the first thing in the file. */ 28 #if defined _AIX && !defined REGEX_MALLOC28 #if defined _AIX && !defined __GNUC__ && !defined REGEX_MALLOC 29 29 #pragma alloca 30 30 #endif … … 1382 1382 but why not be nice? */ 1383 1383 1384 static const char re_error_msgid[] =1384 static const char *re_error_msgid[] = 1385 1385 { 1386 # define REG_NOERROR_IDX 0 1387 gettext_noop ("Success") /* REG_NOERROR */ 1388 "\0" 1389 # define REG_NOMATCH_IDX (REG_NOERROR_IDX + sizeof "Success") 1390 gettext_noop ("No match") /* REG_NOMATCH */ 1391 "\0" 1392 # define REG_BADPAT_IDX (REG_NOMATCH_IDX + sizeof "No match") 1393 gettext_noop ("Invalid regular expression") /* REG_BADPAT */ 1394 "\0" 1395 # define REG_ECOLLATE_IDX (REG_BADPAT_IDX + sizeof "Invalid regular expression") 1396 gettext_noop ("Invalid collation character") /* REG_ECOLLATE */ 1397 "\0" 1398 # define REG_ECTYPE_IDX (REG_ECOLLATE_IDX + sizeof "Invalid collation character") 1399 gettext_noop ("Invalid character class name") /* REG_ECTYPE */ 1400 "\0" 1401 # define REG_EESCAPE_IDX (REG_ECTYPE_IDX + sizeof "Invalid character class name") 1402 gettext_noop ("Trailing backslash") /* REG_EESCAPE */ 1403 "\0" 1404 # define REG_ESUBREG_IDX (REG_EESCAPE_IDX + sizeof "Trailing backslash") 1405 gettext_noop ("Invalid back reference") /* REG_ESUBREG */ 1406 "\0" 1407 # define REG_EBRACK_IDX (REG_ESUBREG_IDX + sizeof "Invalid back reference") 1408 gettext_noop ("Unmatched [ or [^") /* REG_EBRACK */ 1409 "\0" 1410 # define REG_EPAREN_IDX (REG_EBRACK_IDX + sizeof "Unmatched [ or [^") 1411 gettext_noop ("Unmatched ( or \\(") /* REG_EPAREN */ 1412 "\0" 1413 # define REG_EBRACE_IDX (REG_EPAREN_IDX + sizeof "Unmatched ( or \\(") 1414 gettext_noop ("Unmatched \\{") /* REG_EBRACE */ 1415 "\0" 1416 # define REG_BADBR_IDX (REG_EBRACE_IDX + sizeof "Unmatched \\{") 1417 gettext_noop ("Invalid content of \\{\\}") /* REG_BADBR */ 1418 "\0" 1419 # define REG_ERANGE_IDX (REG_BADBR_IDX + sizeof "Invalid content of \\{\\}") 1420 gettext_noop ("Invalid range end") /* REG_ERANGE */ 1421 "\0" 1422 # define REG_ESPACE_IDX (REG_ERANGE_IDX + sizeof "Invalid range end") 1423 gettext_noop ("Memory exhausted") /* REG_ESPACE */ 1424 "\0" 1425 # define REG_BADRPT_IDX (REG_ESPACE_IDX + sizeof "Memory exhausted") 1426 gettext_noop ("Invalid preceding regular expression") /* REG_BADRPT */ 1427 "\0" 1428 # define REG_EEND_IDX (REG_BADRPT_IDX + sizeof "Invalid preceding regular expression") 1429 gettext_noop ("Premature end of regular expression") /* REG_EEND */ 1430 "\0" 1431 # define REG_ESIZE_IDX (REG_EEND_IDX + sizeof "Premature end of regular expression") 1432 gettext_noop ("Regular expression too big") /* REG_ESIZE */ 1433 "\0" 1434 # define REG_ERPAREN_IDX (REG_ESIZE_IDX + sizeof "Regular expression too big") 1386 gettext_noop ("Success"), /* REG_NOERROR */ 1387 gettext_noop ("No match"), /* REG_NOMATCH */ 1388 gettext_noop ("Invalid regular expression"), /* REG_BADPAT */ 1389 gettext_noop ("Invalid collation character"), /* REG_ECOLLATE */ 1390 gettext_noop ("Invalid character class name"), /* REG_ECTYPE */ 1391 gettext_noop ("Trailing backslash"), /* REG_EESCAPE */ 1392 gettext_noop ("Invalid back reference"), /* REG_ESUBREG */ 1393 gettext_noop ("Unmatched [ or [^"), /* REG_EBRACK */ 1394 gettext_noop ("Unmatched ( or \\("), /* REG_EPAREN */ 1395 gettext_noop ("Unmatched \\{"), /* REG_EBRACE */ 1396 gettext_noop ("Invalid content of \\{\\}"), /* REG_BADBR */ 1397 gettext_noop ("Invalid range end"), /* REG_ERANGE */ 1398 gettext_noop ("Memory exhausted"), /* REG_ESPACE */ 1399 gettext_noop ("Invalid preceding regular expression"), /* REG_BADRPT */ 1400 gettext_noop ("Premature end of regular expression"), /* REG_EEND */ 1401 gettext_noop ("Regular expression too big"), /* REG_ESIZE */ 1435 1402 gettext_noop ("Unmatched ) or \\)") /* REG_ERPAREN */ 1436 };1437 1438 static const size_t re_error_msgid_idx[] =1439 {1440 REG_NOERROR_IDX,1441 REG_NOMATCH_IDX,1442 REG_BADPAT_IDX,1443 REG_ECOLLATE_IDX,1444 REG_ECTYPE_IDX,1445 REG_EESCAPE_IDX,1446 REG_ESUBREG_IDX,1447 REG_EBRACK_IDX,1448 REG_EPAREN_IDX,1449 REG_EBRACE_IDX,1450 REG_BADBR_IDX,1451 REG_ERANGE_IDX,1452 REG_ESPACE_IDX,1453 REG_BADRPT_IDX,1454 REG_EEND_IDX,1455 REG_ESIZE_IDX,1456 REG_ERPAREN_IDX1457 1403 }; 1458 1404 … … 4717 4663 while (1) 4718 4664 { 4719 if (p == pend || *p == succeed)4665 if (p == pend || *p == (UCHAR_T) succeed) 4720 4666 { 4721 4667 /* We have reached the (effective) end of pattern. */ … … 7964 7910 if (!ret) 7965 7911 return NULL; 7966 return gettext (re_error_msgid + re_error_msgid_idx[(int) ret]);7912 return gettext (re_error_msgid[(int) ret]); 7967 7913 } 7968 7914 #ifdef _LIBC … … 8002 7948 re_comp_buf.buffer = (unsigned char *) malloc (200); 8003 7949 if (re_comp_buf.buffer == NULL) 8004 return (char *) gettext (re_error_msgid 8005 + re_error_msgid_idx[(int) REG_ESPACE]); 7950 return (char *) gettext (re_error_msgid[(int) REG_ESPACE]); 8006 7951 re_comp_buf.allocated = 200; 8007 7952 8008 7953 re_comp_buf.fastmap = (char *) malloc (1 << BYTEWIDTH); 8009 7954 if (re_comp_buf.fastmap == NULL) 8010 return (char *) gettext (re_error_msgid 8011 + re_error_msgid_idx[(int) REG_ESPACE]); 7955 return (char *) gettext (re_error_msgid[(int) REG_ESPACE]); 8012 7956 } 8013 7957 … … 8029 7973 8030 7974 /* Yes, we're discarding `const' here if !HAVE_LIBINTL. */ 8031 return (char *) gettext (re_error_msgid + re_error_msgid_idx[(int) ret]);7975 return (char *) gettext (re_error_msgid[(int) ret]); 8032 7976 } 8033 7977 … … 8261 8205 8262 8206 if (errcode < 0 8263 || errcode >= (int) (sizeof (re_error_msgid _idx)8264 / sizeof (re_error_msgid _idx[0])))8207 || errcode >= (int) (sizeof (re_error_msgid) 8208 / sizeof (re_error_msgid[0]))) 8265 8209 /* Only error codes returned by the rest of the code should be passed 8266 8210 to this routine. If we are given anything else, or if other regex … … 8269 8213 abort (); 8270 8214 8271 msg = gettext (re_error_msgid + re_error_msgid_idx[errcode]);8215 msg = gettext (re_error_msgid[errcode]); 8272 8216 8273 8217 msg_size = strlen (msg) + 1; /* Includes the null. */ … … 8278 8222 { 8279 8223 #if defined HAVE_MEMPCPY || defined _LIBC 8280 *((char *) __mempcpy (errbuf, msg, errbuf_size - 1)) = '\0';8224 *((char *) mempcpy (errbuf, msg, errbuf_size - 1)) = '\0'; 8281 8225 #else 8282 8226 memcpy (errbuf, msg, errbuf_size - 1); -
Property cvs2svn:cvs-rev
changed from
Note:
See TracChangeset
for help on using the changeset viewer.