X-Git-Url: https://git.tld-linux.org/?p=packages%2Fcoreutils.git;a=blobdiff_plain;f=coreutils-fmt-wchars.patch;h=6f05bc178749ca25065e8703704a4c5ae900dc3c;hp=a2ea5e6708ff1e22ce5320df274c05d10bdc01e0;hb=HEAD;hpb=c477e37d8b0e19395482a58f13ef4950a99f705d diff --git a/coreutils-fmt-wchars.patch b/coreutils-fmt-wchars.patch index a2ea5e6..066adfd 100644 --- a/coreutils-fmt-wchars.patch +++ b/coreutils-fmt-wchars.patch @@ -1,6 +1,6 @@ ---- coreutils-8.26/po/pl.po.orig 2017-02-08 09:48:16.712532143 +0000 -+++ coreutils-8.26/po/pl.po 2017-02-08 09:50:39.112530540 +0000 -@@ -4440,12 +4440,14 @@ +--- coreutils-8.19/po/pl.po.orig 2012-10-14 10:58:23.839244005 +0200 ++++ coreutils-8.19/po/pl.po 2012-10-14 11:00:38.809238341 +0200 +@@ -4497,13 +4497,15 @@ #, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" @@ -11,11 +11,12 @@ " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" " -t, --tagged-paragraph wcięcie pierwszej linii inne niż drugiej\n" - " -u, --uniform-spacing jedna spacja między słowami, dwie między zdaniami\n" + " -u, --uniform-spacing jedna spacja między słowami, dwie między " + "zdaniami\n" +" -n, --single-spaces pojedyncze spacje między zdaniami\n" - " -w, --width=SZEROKOŚĆ maksymalna SZEROKOŚĆ linii (domyślnie 75 kolumn)\n" + " -w, --width=SZEROKOŚĆ maksymalna SZEROKOŚĆ linii (domyślnie 75 " + "kolumn)\n" " -g, --goal=SZEROKOŚĆ docelowa SZEROKOŚĆ (domyślnie 93% of szerokości\n" - " linii)\n" --- coreutils-8.19/src/fmt.c.orig 2012-07-21 16:54:31.000000000 +0200 +++ coreutils-8.19/src/fmt.c 2012-10-14 11:02:27.109233796 +0200 @@ -17,6 +17,7 @@ @@ -23,9 +24,9 @@ #include +#include + #include #include #include - #include @@ -40,7 +41,7 @@ /* The following parameters represent the program's idea of what is "best". Adjust to taste, subject to the caveats given. */ @@ -82,13 +83,13 @@ + /* Extra ctype(3)-style macros. */ --#define isopen(c) (strchr ("(['`\"", c) != NULL) --#define isclose(c) (strchr (")]'\"", c) != NULL) --#define isperiod(c) (strchr (".?!", c) != NULL) +-#define isopen(c) (strchr ("(['`\"", c) != nullptr) +-#define isclose(c) (strchr (")]'\"", c) != nullptr) +-#define isperiod(c) (strchr (".?!", c) != nullptr) +#define isopen(c) \ -+ (wcschr (L"(['`\"\u2018\u201A\u201B\u201C\u201E\u201F", c) != NULL) -+#define isclose(c) (wcschr (L")]'\"\u2018\u2019\u201C\u201D", c) != NULL) -+#define isperiod(c) (wcschr (L".?!", c) != NULL) ++ (wcschr (L"(['`\"\u2018\u201A\u201B\u201C\u201E\u201F", c) != nullptr) ++#define isclose(c) (wcschr (L")]'\"\u2018\u2019\u201C\u201D", c) != nullptr) ++#define isperiod(c) (wcschr (L".?!", c) != nullptr) /* Size of a tab stop, for expansion on input and re-introduction on output. */ @@ -96,9 +97,9 @@ /* Static attributes determined during input. */ -- const char *text; /* the text of the word */ +- char const *text; /* the text of the word */ - int length; /* length of this word */ -+ const wchar_t *text; /* the text of the word */ ++ wchar_t const *text; /* the text of the word */ + int length; /* length of this word, in characters */ + int width; /* width of this word, in columns */ int space; /* the size of the following space */ @@ -115,7 +116,7 @@ }; @@ -154,16 +175,16 @@ static void set_prefix (char *p); - static void fmt (FILE *f); + static bool fmt (FILE *f, char const *); static bool get_paragraph (FILE *f); -static int get_line (FILE *f, int c); -static int get_prefix (FILE *f); @@ -144,7 +145,7 @@ +static int sentence_space; + /* Prefix minus leading and trailing spaces (default ""). */ --static const char *prefix; +-static char const *prefix; +static wchar_t *prefix; /* User-supplied maximum line width (default WIDTH). The only output @@ -213,12 +214,12 @@ -g, --goal=WIDTH goal width (default of 93% of width)\n\ "), stdout); @@ -311,6 +336,7 @@ - {"split-only", no_argument, NULL, 's'}, - {"tagged-paragraph", no_argument, NULL, 't'}, - {"uniform-spacing", no_argument, NULL, 'u'}, -+ {"single-spaces", no_argument, NULL, 'n'}, - {"width", required_argument, NULL, 'w'}, - {"goal", required_argument, NULL, 'g'}, + {"split-only", no_argument, nullptr, 's'}, + {"tagged-paragraph", no_argument, nullptr, 't'}, + {"uniform-spacing", no_argument, nullptr, 'u'}, ++ {"single-spaces", no_argument, nullptr, 'n'}, + {"width", required_argument, nullptr, 'w'}, + {"goal", required_argument, nullptr, 'g'}, {GETOPT_HELP_OPTION_DECL}, @@ -335,9 +361,10 @@ atexit (close_stdout); @@ -239,7 +240,7 @@ - while ((optchar = getopt_long (argc, argv, "0123456789cstuw:p:g:", + while ((optchar = getopt_long (argc, argv, "0123456789cstunw:p:g:", - long_options, NULL)) + long_options, nullptr)) != -1) switch (optchar) @@ -378,6 +405,10 @@ @@ -295,7 +296,7 @@ + *s = L'\0'; } - /* read file F and send formatted output to stdout. */ + /* Read F and send formatted output to stdout. @@ -550,24 +587,24 @@ static bool get_paragraph (FILE *f) @@ -337,8 +338,8 @@ +static wint_t +copy_rest (FILE *f, wint_t c) { -- const char *s; -+ const wchar_t *s; +- char const *s; ++ wchar_t const *s; out_column = 0; - if (in_column > next_prefix_indent || (c != '\n' && c != EOF)) @@ -412,7 +413,7 @@ + word_limit->width += xwcwidth (c); + c = xgetwc (f); } -- while (c != EOF && !isspace (c)); +- while (c != EOF && !c_isspace (c)); - in_column += word_limit->length = wptr - word_limit->text; + while (c != WEOF && !isspace (c)); + word_limit->length = wptr - word_limit->text; @@ -464,8 +465,8 @@ prefix_lead_space : in_column; else { -- const char *p; -+ const wchar_t *p; +- char const *p; ++ wchar_t const *p; next_prefix_indent = in_column; - for (p = prefix; *p != '\0'; p++) + for (p = prefix; *p != L'\0'; p++) @@ -610,7 +611,7 @@ + word_limit->width = saved_width; } - /* Return the constant component of the cost of breaking before the + /* Work around . */ @@ -932,33 +975,33 @@ else if ((this - 1)->punct) cost -= PUNCT_BONUS; @@ -677,8 +678,8 @@ static void put_word (WORD *w) { -- const char *s; -+ const wchar_t *s; +- char const *s; ++ wchar_t const *s; int n; s = w->text;