# This file is part of MXE. # See index.html for further information. From d2cf99c7f8018673fe22b58e98092a05592f2ff8 Mon Sep 17 00:00:00 2001 From: Tom Molesworth Date: Mon, 20 Jan 2014 21:23:26 +0100 Subject: [PATCH 1/3] Patch texi2pod.pl for perl-5.14+ As described in #200. Similar to #198, this time just needed to add * bullets to the =item lines to avoid pod errors for the wget exit codes. diff --git a/doc/texi2pod.pl b/doc/texi2pod.pl index 9db6de1..f8f9544 100755 --- a/doc/texi2pod.pl +++ b/doc/texi2pod.pl @@ -294,7 +294,7 @@ while(<$inf>) { $_ = "\n=item C<$thing>\n"; } else { # Entity escapes prevent munging by the <> processing below. - $_ = "\n=item $ic\<$thing\>\n"; + $_ = "\n=item * $ic\<$thing\>\n"; } } else { $_ = "\n=item $ic\n"; -- 1.8.4.5 From bc01f5c526c975b935376b56a453c59fb11223be Mon Sep 17 00:00:00 2001 From: Mark Brand Date: Wed, 29 Oct 2014 17:40:08 +0100 Subject: [PATCH 2/3] fix handling of SYSTEM_FNMATCH and HAVE_TERMIOS_H both of which are necessary for mingw-w64 Partially reverts ffccc7d3be764adcc3e6113557c1e62a966b0e5d. diff --git a/src/sysdep.h b/src/sysdep.h index 3159c99..fa115bc 100644 --- a/src/sysdep.h +++ b/src/sysdep.h @@ -163,7 +163,23 @@ int vsnprintf (char *str, size_t count, const char *fmt, va_list arg); # define SYSTEM_FNMATCH #endif -#include +#ifdef SYSTEM_FNMATCH +# include +#else /* not SYSTEM_FNMATCH */ +/* Define fnmatch flags. Undef them first to avoid warnings in case + an evil library include chose to include system fnmatch.h. */ +# undef FNM_PATHNAME +# undef FNM_NOESCAPE +# undef FNM_PERIOD +# undef FNM_NOMATCH + +# define FNM_PATHNAME (1 << 0) /* No wildcard can ever match `/'. */ +# define FNM_NOESCAPE (1 << 1) /* Backslashes don't quote special chars. */ +# define FNM_PERIOD (1 << 2) /* Leading `.' is matched only explicitly. */ +# define FNM_NOMATCH 1 + +int fnmatch (const char *, const char *, int); +#endif /* Provide sig_atomic_t if the system doesn't. */ #ifndef HAVE_SIG_ATOMIC_T diff --git a/src/utils.c b/src/utils.c index 78c282e..2ec814b 100644 --- a/src/utils.c +++ b/src/utils.c @@ -65,7 +65,9 @@ as that of the covered work. */ /* For TIOCGWINSZ and friends: */ #include -#include +#ifdef HAVE_TERMIOS_H +# include +#endif /* Needed for Unix version of run_with_timeout. */ #include -- 1.8.4.5 From d5fa82e900020f98ecbdfbf83689315f6c088d81 Mon Sep 17 00:00:00 2001 From: Mark Brand Date: Wed, 29 Oct 2014 18:06:31 +0100 Subject: [PATCH 3/3] revert broken commit on mingw-w64 Reverts most of efe090df89eb5f3b831f1483ef4c33fbae4665a2. The macro version of cols_to_bytes looks like it wasn't quite finished. Files not reverted: ChangeLog bootstrap.conf diff --git a/src/progress.c b/src/progress.c index 5ba542d..e9182cc 100644 --- a/src/progress.c +++ b/src/progress.c @@ -37,7 +37,6 @@ as that of the covered work. */ #include #include #include -#include #include "progress.h" #include "utils.h" @@ -813,37 +812,8 @@ count_cols (const char *mbs) } return cols; } - -static int -cols_to_bytes (const char *mbs, const int cols, int *ncols) -{ - int p_cols = 0, bytes = 0; - mbchar_t mbc; - mbi_iterator_t iter; - mbi_init (iter, mbs, strlen(mbs)); - while (p_cols < cols && mbi_avail (iter)) - { - mbc = mbi_cur (iter); - p_cols += mb_width (mbc); - /* The multibyte character has exceeded the total number of columns we - * have available. The remaining bytes will be padded with a space. */ - if (p_cols > cols) - { - p_cols -= mb_width (mbc); - break; - } - bytes += mb_len (mbc); - mbi_advance (iter); - } - *ncols = p_cols; - return bytes; -} #else # define count_cols(mbs) ((int)(strlen(mbs))) -# define cols_to_bytes(mbs, cols, *ncols) do { \ - *ncols = cols; \ - bytes = cols; \ -}while (0) #endif static const char * @@ -903,7 +873,7 @@ get_eta (int *bcd) static void create_image (struct bar_progress *bp, double dl_total_time, bool done) { - const int MAX_FILENAME_COLS = bp->width / 4; + const int MAX_FILENAME_LEN = bp->width / 4; char *p = bp->buffer; wgint size = bp->initial_length + bp->count; @@ -914,7 +884,7 @@ create_image (struct bar_progress *bp, double dl_total_time, bool done) int size_grouped_pad; /* Used to pad the field width for size_grouped. */ struct bar_progress_hist *hist = &bp->hist; - int orig_filename_cols = count_cols (bp->f_download); + int orig_filename_len = strlen (bp->f_download); /* The progress bar should look like this: file xx% [=======> ] nnn.nnK 12.34KB/s eta 36m 51s @@ -926,7 +896,7 @@ create_image (struct bar_progress *bp, double dl_total_time, bool done) It would be especially bad for the progress bar to be resized randomly. - "file " - Downloaded filename - MAX_FILENAME_COLS chars + 1 + "file " - Downloaded filename - MAX_FILENAME_LEN chars + 1 "xx% " or "100%" - percentage - 4 chars "[]" - progress bar decorations - 2 chars " nnn.nnK" - downloaded bytes - 7 chars + 1 @@ -936,7 +906,7 @@ create_image (struct bar_progress *bp, double dl_total_time, bool done) "=====>..." - progress bar - the rest */ -#define PROGRESS_FILENAME_LEN MAX_FILENAME_COLS + 1 +#define PROGRESS_FILENAME_LEN MAX_FILENAME_LEN + 1 #define PROGRESS_PERCENT_LEN 4 #define PROGRESS_DECORAT_LEN 2 #define PROGRESS_FILESIZE_LEN 7 + 1 @@ -954,31 +924,24 @@ create_image (struct bar_progress *bp, double dl_total_time, bool done) if (progress_size < 5) progress_size = 0; - if (orig_filename_cols <= MAX_FILENAME_COLS) + if (orig_filename_len <= MAX_FILENAME_LEN) { - int padding = MAX_FILENAME_COLS - orig_filename_cols; + int padding = MAX_FILENAME_LEN - orig_filename_len; sprintf (p, "%s ", bp->f_download); - p += orig_filename_cols + 1; + p += orig_filename_len + 1; for (;padding;padding--) *p++ = ' '; } else { - int offset_cols; - int bytes_in_filename, offset_bytes, col; - int *cols_ret = &col; + int offset; - if (((orig_filename_cols > MAX_FILENAME_COLS) && !opt.noscroll) && !done) - offset_cols = ((int) bp->tick) % (orig_filename_cols - MAX_FILENAME_COLS); + if (((orig_filename_len > MAX_FILENAME_LEN) && !opt.noscroll) && !done) + offset = ((int) bp->tick) % (orig_filename_len - MAX_FILENAME_LEN); else - offset_cols = 0; - offset_bytes = cols_to_bytes (bp->f_download, offset_cols, cols_ret); - bytes_in_filename = cols_to_bytes (bp->f_download + offset_bytes, MAX_FILENAME_COLS, cols_ret); - memcpy (p, bp->f_download + offset_bytes, bytes_in_filename); - p += bytes_in_filename; - int padding = MAX_FILENAME_COLS - *cols_ret; - for (;padding;padding--) - *p++ = ' '; + offset = 0; + memcpy (p, bp->f_download + offset, MAX_FILENAME_LEN); + p += MAX_FILENAME_LEN; *p++ = ' '; } -- 1.8.4.5