diff options
author | Mike Frysinger <vapier@gentoo.org> | 2006-01-29 08:34:22 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2006-01-29 08:34:22 +0000 |
commit | e97b57e2c35905681d016de01b12724e590794af (patch) | |
tree | ea5f46201fb1951256ee1e5593d7d5955b14bd1a /sys-apps/grep | |
parent | Remove modprobe.d(5) manpage and just symlink it to modprobe.conf(5) #120692 ... (diff) | |
download | gentoo-2-e97b57e2c35905681d016de01b12724e590794af.tar.gz gentoo-2-e97b57e2c35905681d016de01b12724e590794af.tar.bz2 gentoo-2-e97b57e2c35905681d016de01b12724e590794af.zip |
uncompress files #120691 by Simon Stelling
(Portage version: 2.1_pre3-r1)
Diffstat (limited to 'sys-apps/grep')
-rw-r--r-- | sys-apps/grep/files/grep-2.5.1-fgrep.patch | 196 | ||||
-rw-r--r-- | sys-apps/grep/files/grep-2.5.1-fgrep.patch.bz2 | bin | 1678 -> 0 bytes | |||
-rw-r--r-- | sys-apps/grep/files/grep-2.5.1-i18n.patch | 337 | ||||
-rw-r--r-- | sys-apps/grep/files/grep-2.5.1-i18n.patch.bz2 | bin | 2903 -> 0 bytes | |||
-rw-r--r-- | sys-apps/grep/grep-2.5.1-r8.ebuild | 6 | ||||
-rw-r--r-- | sys-apps/grep/grep-2.5.1-r9.ebuild | 6 |
6 files changed, 539 insertions, 6 deletions
diff --git a/sys-apps/grep/files/grep-2.5.1-fgrep.patch b/sys-apps/grep/files/grep-2.5.1-fgrep.patch new file mode 100644 index 000000000000..49edf4a76e42 --- /dev/null +++ b/sys-apps/grep/files/grep-2.5.1-fgrep.patch @@ -0,0 +1,196 @@ +--- grep-2.5.1/src/search.c ++++ grep-2.5.1/src/search.c +@@ -360,13 +360,7 @@ + /* Find a possible match using the KWset matcher. */ + size_t offset = kwsexec (kwset, beg, buflim - beg, &kwsm); + if (offset == (size_t) -1) +- { +-#ifdef MBS_SUPPORT +- if (MB_CUR_MAX > 1) +- free(mb_properties); +-#endif +- return (size_t)-1; +- } ++ goto failure; + beg += offset; + /* Narrow down to the line containing the candidate, and + run it through DFA. */ +@@ -379,7 +373,7 @@ + while (beg > buf && beg[-1] != eol) + --beg; + if (kwsm.index < kwset_exact_matches) +- goto success; ++ goto success_in_beg_and_end; + if (dfaexec (&dfa, beg, end - beg, &backref) == (size_t) -1) + continue; + } +@@ -398,7 +392,7 @@ + } + /* Successful, no backreferences encountered! */ + if (!backref) +- goto success; ++ goto success_in_beg_and_end; + } + else + end = beg + size; +@@ -413,14 +407,11 @@ + end - beg - 1, &(patterns[i].regs)))) + { + len = patterns[i].regs.end[0] - start; +- if (exact) +- { +- *match_size = len; +- return start; +- } ++ if (exact && !match_words) ++ goto success_in_start_and_len; + if ((!match_lines && !match_words) + || (match_lines && len == end - beg - 1)) +- goto success; ++ goto success_in_beg_and_end; + /* If -w, check if the match aligns with word boundaries. + We do this iteratively because: + (a) the line may contain more than one occurence of the +@@ -434,7 +425,7 @@ + if ((start == 0 || !WCHAR ((unsigned char) beg[start - 1])) + && (len == end - beg - 1 + || !WCHAR ((unsigned char) beg[start + len]))) +- goto success; ++ goto success_in_start_and_len; + if (len > 0) + { + /* Try a shorter length anchored at the same place. */ +@@ -461,19 +452,26 @@ + } + } /* for Regex patterns. */ + } /* for (beg = end ..) */ ++ ++ failure: + #ifdef MBS_SUPPORT + if (MB_CUR_MAX > 1 && mb_properties) + free (mb_properties); + #endif /* MBS_SUPPORT */ + return (size_t) -1; + +- success: ++ success_in_beg_and_end: ++ len = end - beg; ++ start = beg - buf; ++ /* FALLTHROUGH */ ++ ++ success_in_start_and_len: + #ifdef MBS_SUPPORT + if (MB_CUR_MAX > 1 && mb_properties) + free (mb_properties); + #endif /* MBS_SUPPORT */ +- *match_size = end - beg; +- return beg - buf; ++ *match_size = len; ++ return start; + } + + static void +@@ -516,28 +514,15 @@ + { + size_t offset = kwsexec (kwset, beg, buf + size - beg, &kwsmatch); + if (offset == (size_t) -1) +- { +-#ifdef MBS_SUPPORT +- if (MB_CUR_MAX > 1) +- free(mb_properties); +-#endif /* MBS_SUPPORT */ +- return offset; +- } ++ goto failure; + #ifdef MBS_SUPPORT + if (MB_CUR_MAX > 1 && mb_properties[offset+beg-buf] == 0) + continue; /* It is a part of multibyte character. */ + #endif /* MBS_SUPPORT */ + beg += offset; + len = kwsmatch.size[0]; +- if (exact) +- { +- *match_size = len; +-#ifdef MBS_SUPPORT +- if (MB_CUR_MAX > 1) +- free (mb_properties); +-#endif /* MBS_SUPPORT */ +- return beg - buf; +- } ++ if (exact && !match_words) ++ goto success_in_beg_and_len; + if (match_lines) + { + if (beg > buf && beg[-1] != eol) +@@ -547,31 +532,37 @@ + goto success; + } + else if (match_words) +- for (try = beg; len; ) +- { +- if (try > buf && WCHAR((unsigned char) try[-1])) +- break; +- if (try + len < buf + size && WCHAR((unsigned char) try[len])) +- { +- offset = kwsexec (kwset, beg, --len, &kwsmatch); +- if (offset == (size_t) -1) +- { +-#ifdef MBS_SUPPORT +- if (MB_CUR_MAX > 1) +- free (mb_properties); +-#endif /* MBS_SUPPORT */ +- return offset; +- } +- try = beg + offset; +- len = kwsmatch.size[0]; +- } +- else +- goto success; +- } ++ { ++ while (offset >= 0) ++ { ++ if ((offset == 0 || !WCHAR ((unsigned char) beg[-1])) ++ && (len == end - beg - 1 || !WCHAR ((unsigned char) beg[len]))) ++ { ++ if (!exact) ++ /* Returns the whole line now we know there's a word match. */ ++ goto success; ++ else ++ /* Returns just this word match. */ ++ goto success_in_beg_and_len; ++ } ++ if (len > 0) ++ { ++ /* Try a shorter length anchored at the same place. */ ++ --len; ++ offset = kwsexec (kwset, beg, len, &kwsmatch); ++ if (offset == -1) { ++ break; /* Try a different anchor. */ ++ } ++ beg += offset; ++ len = kwsmatch.size[0]; ++ } ++ } ++ } + else + goto success; + } + ++ failure: + #ifdef MBS_SUPPORT + if (MB_CUR_MAX > 1) + free (mb_properties); +@@ -583,7 +574,11 @@ + end++; + while (buf < beg && beg[-1] != eol) + --beg; +- *match_size = end - beg; ++ len = end - beg; ++ /* FALLTHROUGH */ ++ ++ success_in_beg_and_len: ++ *match_size = len; + #ifdef MBS_SUPPORT + if (MB_CUR_MAX > 1) + free (mb_properties); diff --git a/sys-apps/grep/files/grep-2.5.1-fgrep.patch.bz2 b/sys-apps/grep/files/grep-2.5.1-fgrep.patch.bz2 Binary files differdeleted file mode 100644 index 2c3f1ee88282..000000000000 --- a/sys-apps/grep/files/grep-2.5.1-fgrep.patch.bz2 +++ /dev/null diff --git a/sys-apps/grep/files/grep-2.5.1-i18n.patch b/sys-apps/grep/files/grep-2.5.1-i18n.patch new file mode 100644 index 000000000000..0ad39a92566f --- /dev/null +++ b/sys-apps/grep/files/grep-2.5.1-i18n.patch @@ -0,0 +1,337 @@ +--- grep-2.5.1/lib/regex.c ++++ grep-2.5.1/lib/regex.c +@@ -60,6 +60,10 @@ + #ifdef MBS_SUPPORT + # define CHAR_TYPE wchar_t + # define US_CHAR_TYPE wchar_t/* unsigned character type */ ++# define CHAR_T_SIGN (1 << (sizeof(CHAR_TYPE) * 8 - 1)) ++# if defined _AIX ++# define WCHAR_T_NEED_SIGNEXTEND 1 ++# endif /* _AIX */ + # define COMPILED_BUFFER_VAR wc_buffer + # define OFFSET_ADDRESS_SIZE 1 /* the size which STORE_NUMBER macro use */ + # define CHAR_CLASS_SIZE ((__alignof__(wctype_t)+sizeof(wctype_t))/sizeof(CHAR_TYPE)+1) +@@ -618,10 +622,13 @@ + /* ifdef MBS_SUPPORT, we store NUMBER in 1 element. */ + + #ifdef MBS_SUPPORT +-# define EXTRACT_NUMBER(destination, source) \ +- do { \ +- (destination) = *(source); \ +- } while (0) ++# ifdef WCHAR_T_NEED_SIGNEXTEND ++# define EXTRACT_NUMBER(destination, source) \ ++ (destination) = (*(source) ^ CHAR_T_SIGN) - CHAR_T_SIGN; ++# else ++# define EXTRACT_NUMBER(destination, source) \ ++ (destination) = *(source) ++# endif /* WCHAR_T_NEED_SIGNEXTEND */ + #else + # define EXTRACT_NUMBER(destination, source) \ + do { \ +@@ -638,7 +645,11 @@ + US_CHAR_TYPE *source; + { + #ifdef MBS_SUPPORT ++# ifdef WCHAR_T_NEED_SIGNEXTEND ++ *dest = (*source ^ CHAR_T_SIGN) - CHAR_T_SIGN; ++# else + *dest = *source; ++# endif /* WCHAR_T_NEED_SIGNEXTEND */ + #else + int temp = SIGN_EXTEND_CHAR (*(source + 1)); + *dest = *source & 0377; +--- grep-2.5.1/src/dfa.c ++++ grep-2.5.1/src/dfa.c +@@ -414,7 +414,7 @@ + + /* This function fetch a wide character, and update cur_mb_len, + used only if the current locale is a multibyte environment. */ +-static wchar_t ++static wint_t + fetch_wc (char const *eoferr) + { + wchar_t wc; +@@ -423,7 +423,7 @@ + if (eoferr != 0) + dfaerror (eoferr); + else +- return -1; ++ return WEOF; + } + + cur_mb_len = mbrtowc(&wc, lexptr, lexleft, &mbs); +@@ -459,7 +459,7 @@ + static void + parse_bracket_exp_mb () + { +- wchar_t wc, wc1, wc2; ++ wint_t wc, wc1, wc2; + + /* Work area to build a mb_char_classes. */ + struct mb_char_classes *work_mbc; +@@ -496,7 +496,7 @@ + work_mbc->invert = 0; + do + { +- wc1 = -1; /* mark wc1 is not initialized". */ ++ wc1 = WEOF; /* mark wc1 is not initialized". */ + + /* Note that if we're looking at some other [:...:] construct, + we just treat it as a bunch of ordinary characters. We can do +@@ -586,7 +586,7 @@ + work_mbc->coll_elems[work_mbc->ncoll_elems++] = elem; + } + } +- wc = -1; ++ wc = WEOF; + } + else + /* We treat '[' as a normal character here. */ +@@ -600,7 +600,7 @@ + wc = fetch_wc(("Unbalanced [")); + } + +- if (wc1 == -1) ++ if (wc1 == WEOF) + wc1 = fetch_wc(_("Unbalanced [")); + + if (wc1 == L'-') +@@ -630,17 +630,17 @@ + } + REALLOC_IF_NECESSARY(work_mbc->range_sts, wchar_t, + range_sts_al, work_mbc->nranges + 1); +- work_mbc->range_sts[work_mbc->nranges] = wc; ++ work_mbc->range_sts[work_mbc->nranges] = (wchar_t)wc; + REALLOC_IF_NECESSARY(work_mbc->range_ends, wchar_t, + range_ends_al, work_mbc->nranges + 1); +- work_mbc->range_ends[work_mbc->nranges++] = wc2; ++ work_mbc->range_ends[work_mbc->nranges++] = (wchar_t)wc2; + } +- else if (wc != -1) ++ else if (wc != WEOF) + /* build normal characters. */ + { + REALLOC_IF_NECESSARY(work_mbc->chars, wchar_t, chars_al, + work_mbc->nchars + 1); +- work_mbc->chars[work_mbc->nchars++] = wc; ++ work_mbc->chars[work_mbc->nchars++] = (wchar_t)wc; + } + } + while ((wc = wc1) != L']'); +--- grep-2.5.1/src/grep.c ++++ grep-2.5.1/src/grep.c +@@ -30,6 +30,12 @@ + # include <sys/time.h> + # include <sys/resource.h> + #endif ++#if defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H && defined HAVE_MBRTOWC ++/* We can handle multibyte string. */ ++# define MBS_SUPPORT ++# include <wchar.h> ++# include <wctype.h> ++#endif + #include <stdio.h> + #include "system.h" + #include "getopt.h" +@@ -1697,6 +1703,37 @@ + if (!install_matcher (matcher) && !install_matcher ("default")) + abort (); + ++#ifdef MBS_SUPPORT ++ if (MB_CUR_MAX != 1 && match_icase) ++ { ++ wchar_t wc; ++ mbstate_t cur_state, prev_state; ++ int i, len = strlen(keys); ++ ++ memset(&cur_state, 0, sizeof(mbstate_t)); ++ for (i = 0; i <= len ;) ++ { ++ size_t mbclen; ++ mbclen = mbrtowc(&wc, keys + i, len - i, &cur_state); ++ if (mbclen == (size_t) -1 || mbclen == (size_t) -2 || mbclen == 0) ++ { ++ /* An invalid sequence, or a truncated multibyte character. ++ We treat it as a singlebyte character. */ ++ mbclen = 1; ++ } ++ else ++ { ++ if (iswupper((wint_t)wc)) ++ { ++ wc = towlower((wint_t)wc); ++ wcrtomb(keys + i, wc, &cur_state); ++ } ++ } ++ i += mbclen; ++ } ++ } ++#endif /* MBS_SUPPORT */ ++ + (*compile)(keys, keycc); + + if ((argc - optind > 1 && !no_filenames) || with_filenames) +--- grep-2.5.1/src/search.c ++++ grep-2.5.1/src/search.c +@@ -149,15 +149,16 @@ + static char* + check_multibyte_string(char const *buf, size_t size) + { +- char *mb_properties = malloc(size); ++ char *mb_properties = xmalloc(size); + mbstate_t cur_state; ++ wchar_t wc; + int i; + memset(&cur_state, 0, sizeof(mbstate_t)); + memset(mb_properties, 0, sizeof(char)*size); + for (i = 0; i < size ;) + { + size_t mbclen; +- mbclen = mbrlen(buf + i, size - i, &cur_state); ++ mbclen = mbrtowc(&wc, buf + i, size - i, &cur_state); + + if (mbclen == (size_t) -1 || mbclen == (size_t) -2 || mbclen == 0) + { +@@ -165,6 +166,14 @@ + We treat it as a singlebyte character. */ + mbclen = 1; + } ++ else if (match_icase) ++ { ++ if (iswupper((wint_t)wc)) ++ { ++ wc = towlower((wint_t)wc); ++ wcrtomb(buf + i, wc, &cur_state); ++ } ++ } + mb_properties[i] = mbclen; + i += mbclen; + } +@@ -233,7 +242,7 @@ + static char const line_end[] = "\\)$"; + static char const word_beg[] = "\\(^\\|[^[:alnum:]_]\\)\\("; + static char const word_end[] = "\\)\\([^[:alnum:]_]\\|$\\)"; +- char *n = malloc (sizeof word_beg - 1 + size + sizeof word_end); ++ char *n = xmalloc (sizeof word_beg - 1 + size + sizeof word_end); + size_t i; + strcpy (n, match_lines ? line_beg : word_beg); + i = strlen (n); +@@ -316,7 +325,7 @@ + static char const line_end[] = ")$"; + static char const word_beg[] = "(^|[^[:alnum:]_])("; + static char const word_end[] = ")([^[:alnum:]_]|$)"; +- char *n = malloc (sizeof word_beg - 1 + size + sizeof word_end); ++ char *n = xmalloc (sizeof word_beg - 1 + size + sizeof word_end); + size_t i; + strcpy (n, match_lines ? line_beg : word_beg); + i = strlen(n); +@@ -339,14 +348,20 @@ + char eol = eolbyte; + int backref, start, len; + struct kwsmatch kwsm; +- size_t i; ++ size_t i, ret_val; + #ifdef MBS_SUPPORT + char *mb_properties = NULL; +-#endif /* MBS_SUPPORT */ +- +-#ifdef MBS_SUPPORT +- if (MB_CUR_MAX > 1 && kwset) +- mb_properties = check_multibyte_string(buf, size); ++ if (MB_CUR_MAX > 1) ++ { ++ if (match_icase) ++ { ++ char *case_buf = xmalloc(size); ++ memcpy(case_buf, buf, size); ++ buf = case_buf; ++ } ++ if (kwset) ++ mb_properties = check_multibyte_string(buf, size); ++ } + #endif /* MBS_SUPPORT */ + + buflim = buf + size; +@@ -455,8 +470,13 @@ + + failure: + #ifdef MBS_SUPPORT +- if (MB_CUR_MAX > 1 && mb_properties) +- free (mb_properties); ++ if (MB_CUR_MAX > 1) ++ { ++ if (mb_properties) ++ free (mb_properties); ++ if (match_icase) ++ free ((char *) buf); ++ } + #endif /* MBS_SUPPORT */ + return (size_t) -1; + +@@ -467,8 +487,13 @@ + + success_in_start_and_len: + #ifdef MBS_SUPPORT +- if (MB_CUR_MAX > 1 && mb_properties) +- free (mb_properties); ++ if (MB_CUR_MAX > 1) ++ { ++ if (mb_properties) ++ free (mb_properties); ++ if (match_icase) ++ free ((char *) buf); ++ } + #endif /* MBS_SUPPORT */ + *match_size = len; + return start; +@@ -504,10 +529,19 @@ + register size_t len; + char eol = eolbyte; + struct kwsmatch kwsmatch; ++ size_t ret_val; + #ifdef MBS_SUPPORT +- char *mb_properties; ++ char *mb_properties = NULL; + if (MB_CUR_MAX > 1) +- mb_properties = check_multibyte_string (buf, size); ++ { ++ if (match_icase) ++ { ++ char *case_buf = xmalloc(size); ++ memcpy(case_buf, buf, size); ++ buf = case_buf; ++ } ++ mb_properties = check_multibyte_string(buf, size); ++ } + #endif /* MBS_SUPPORT */ + + for (beg = buf; beg <= buf + size; ++beg) +@@ -565,7 +599,12 @@ + failure: + #ifdef MBS_SUPPORT + if (MB_CUR_MAX > 1) +- free (mb_properties); ++ { ++ if (match_icase) ++ free((char *) buf); ++ if (mb_properties) ++ free(mb_properties); ++ } + #endif /* MBS_SUPPORT */ + return -1; + +@@ -581,7 +620,12 @@ + *match_size = len; + #ifdef MBS_SUPPORT + if (MB_CUR_MAX > 1) +- free (mb_properties); ++ { ++ if (mb_properties) ++ free (mb_properties); ++ if (match_icase) ++ free ((char *) buf); ++ } + #endif /* MBS_SUPPORT */ + return beg - buf; + } diff --git a/sys-apps/grep/files/grep-2.5.1-i18n.patch.bz2 b/sys-apps/grep/files/grep-2.5.1-i18n.patch.bz2 Binary files differdeleted file mode 100644 index fb6f790f448f..000000000000 --- a/sys-apps/grep/files/grep-2.5.1-i18n.patch.bz2 +++ /dev/null diff --git a/sys-apps/grep/grep-2.5.1-r8.ebuild b/sys-apps/grep/grep-2.5.1-r8.ebuild index 73c36a7c931c..5de5d4592d0d 100644 --- a/sys-apps/grep/grep-2.5.1-r8.ebuild +++ b/sys-apps/grep/grep-2.5.1-r8.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/grep/grep-2.5.1-r8.ebuild,v 1.11 2005/12/24 05:15:43 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-apps/grep/grep-2.5.1-r8.ebuild,v 1.12 2006/01/29 08:34:21 vapier Exp $ inherit flag-o-matic eutils @@ -27,8 +27,8 @@ src_unpack() { epatch "${FILESDIR}"/${PV}-manpage.patch epatch "${FILESDIR}"/${PV}-manpage-line-buffering.patch - epatch "${FILESDIR}"/${P}-fgrep.patch.bz2 - epatch "${FILESDIR}"/${P}-i18n.patch.bz2 + epatch "${FILESDIR}"/${P}-fgrep.patch + epatch "${FILESDIR}"/${P}-i18n.patch epatch "${FILESDIR}"/${P}-gofast.patch.bz2 epatch "${FILESDIR}"/${P}-oi.patch epatch "${FILESDIR}"/${P}-restrict_arr.patch diff --git a/sys-apps/grep/grep-2.5.1-r9.ebuild b/sys-apps/grep/grep-2.5.1-r9.ebuild index c1ea8f5597bd..4145e75f56f6 100644 --- a/sys-apps/grep/grep-2.5.1-r9.ebuild +++ b/sys-apps/grep/grep-2.5.1-r9.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2006 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/grep/grep-2.5.1-r9.ebuild,v 1.6 2006/01/12 02:05:14 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-apps/grep/grep-2.5.1-r9.ebuild,v 1.7 2006/01/29 08:34:21 vapier Exp $ inherit flag-o-matic eutils @@ -27,8 +27,8 @@ src_unpack() { epatch "${FILESDIR}"/${PV}-manpage.patch epatch "${FILESDIR}"/${PV}-manpage-line-buffering.patch - epatch "${FILESDIR}"/${P}-fgrep.patch.bz2 - epatch "${FILESDIR}"/${P}-i18n.patch.bz2 + epatch "${FILESDIR}"/${P}-fgrep.patch + epatch "${FILESDIR}"/${P}-i18n.patch epatch "${FILESDIR}"/${P}-gofast.patch.bz2 epatch "${FILESDIR}"/${P}-oi.patch epatch "${FILESDIR}"/${P}-restrict_arr.patch |