From 8d15955f70b7459cde859f5138735f43a91f94a6 Mon Sep 17 00:00:00 2001 From: Tatsuya Kinoshita Date: Sat, 5 Jan 2019 17:49:33 +0900 Subject: Update 020_debian.patch to v0.5.3+git20190105 - Respect simple_preserve_space for table cells (closes: #893902) - Fix that the mark_all_pages option works (closes: #911929) - w3mman supports specifying a section number during a keyword search (closes: #916968) --- debian/patches/020_debian.patch | 2011 ++++++++++++++++++++++++++++----------- 1 file changed, 1442 insertions(+), 569 deletions(-) diff --git a/debian/patches/020_debian.patch b/debian/patches/020_debian.patch index b67e317..88ed75d 100644 --- a/debian/patches/020_debian.patch +++ b/debian/patches/020_debian.patch @@ -60,10 +60,84 @@ index 8f443c1..5fb6581 100755 $input = "w3m-control: GOTO_LINK"; } diff --git a/ChangeLog b/ChangeLog -index 88358ef..b14c60a 100644 +index 88358ef..7367d67 100644 --- a/ChangeLog +++ b/ChangeLog -@@ -1,3 +1,1618 @@ +@@ -1,3 +1,1693 @@ ++2019-01-05 Tatsuya Kinoshita ++ ++ * NEWS: Update NEWS. ++ ++ * config.guess, config.sub: ++ Update config.* with autotools-dev 20180224.1. ++ ++2019-01-05 Akinori Hattori ++ ++ * w3mimg/fb/fb_imlib2.c: Fix dependency for Imlib2. ++ Bug-Gentoo: https://bugs.gentoo.org/605930 ++ Origin: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=97d6e3e6839898829e8cce211b97a7fa77f5d06e ++ ++2018-12-22 Tatsuya Kinoshita ++ ++ * scripts/w3mman/w3mman.1.in, scripts/w3mman/w3mman.in: ++ Fix square brackets. ++ ++2018-12-21 Nemo Inis ++ ++ * scripts/w3mman/w3mman.1.in, scripts/w3mman/w3mman.in: ++ * scripts/w3mman/w3mman2html.cgi.in: ++ w3mman support for section number during keyword search. ++ Origin: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=916968#5 ++ ++2018-10-26 Ben Wong ++ ++ * buffer.c, display.c: ++ Fix that the MarkAllPages option works as originally intended. ++ Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=911929 ++ ++2018-10-26 Tatsuya Kinoshita ++ ++ * istream.c, url.c: Indentation fix. ++ ++2018-10-24 Mark Wright ++ ++ * istream.c, url.c: Do not use deprecated features with openssl-1.1. ++ Bug-Gentoo: https://bugs.gentoo.org/592510 ++ Bug-Debian: https://github.com/tats/w3m/pull/103 ++ ++2018-05-20 Andrew Santosa ++ ++ * po/Makefile.in.in: Added check for : command not producing .gmo file. ++ Bug-Debian: https://github.com/tats/w3m/pull/99 ++ ++2018-03-24 Tatsuya Kinoshita ++ ++ * table.c: Respect simple_preserve_space for table cells. ++ Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=893902 ++ ++2018-03-23 Mike ++ ++ Update grammar & spelling in some English READMEs. ++ Origin: https://github.com/tats/w3m/pull/97 ++ ++ * doc/README.img: Update README.img. ++ * doc/README.dict: Update README.dict. ++ * doc/README.pre_form: Update README.pre_form. ++ * doc/README.cookie: Update README.cookie. ++ * doc/README.cookie: Update README.cookie. ++ ++2018-03-04 Jia Zhouyang ++ ++ Fix crashes when some external APIs fail. ++ Origin: https://github.com/tats/w3m/pull/96 ++ ++ * url.c: Add error handling code for fopen. ++ Check the return code of fopen, and return when it fails. ++ * file.c: Add error handling code for fopen. ++ Check the return value of fopen, and add proper error handling code. ++ * local.c: Add error handling for chdir. ++ When chdir fails, print error message and exit. ++ +2018-01-25 Tatsuya Kinoshita + + * ChangeLog, NEWS: Add CVE IDs. @@ -108,6 +182,7 @@ index 88358ef..b14c60a 100644 + + * w3mimg/fb/fb_w3mimg.c: Accept TERM=fbterm. + cf. https://bushowhige.blogspot.jp/2015/01/fbterm-w3m-img.html ++ Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=590668 + +2017-12-27 Tatsuya Kinoshita + @@ -1734,10 +1809,21 @@ index 7d692f9..453072d 100644 do \ (cd $$dir && $(MAKE) $(MAKE_ARGS) uninstall); \ diff --git a/NEWS b/NEWS -index 66e309d..4ed621a 100644 +index 66e309d..dac1f5c 100644 --- a/NEWS +++ b/NEWS -@@ -1,3 +1,78 @@ +@@ -1,3 +1,89 @@ ++Debian's w3m 0.5.3+git20190105 ++ ++* bug fixes ++ - do not use deprecated features with OpenSSL 1.1 ++ - fix dependency for Imlib2 ++ - fix that the mark_all_pages option works ++ - respect the simple_preserve_space option for table cells ++ - fix error handling for ~/.w3m/request.log and localcgi_post() ++* new feature ++ - w3mman supports specifying a section number during a keyword search ++ +Debian's w3m 0.5.3+git20180125 + +* bug fixes @@ -2300,10 +2386,19 @@ index 27bbd56..b6d121c 100644 "
", p, "\n", NULL); } diff --git a/buffer.c b/buffer.c -index 5afc26a..3b2352a 100644 +index 5afc26a..e70cffe 100644 --- a/buffer.c +++ b/buffer.c -@@ -705,6 +705,7 @@ readBufferCache(Buffer *buf) +@@ -47,6 +47,8 @@ newBuffer(int width) + #ifdef USE_M17N + n->auto_detect = WcOption.auto_detect; + #endif ++ n->check_url = MarkAllPages; /* use default from -o mark_all_pages */ ++ n->need_reshape = 1; /* always reshape new buffers to mark URLs */ + return n; + } + +@@ -705,6 +707,7 @@ readBufferCache(Buffer *buf) cache = fopen(buf->savecache, "r"); if (cache == NULL || fread1(clnum, cache) || fread1(tlnum, cache)) { @@ -2311,7 +2406,7 @@ index 5afc26a..3b2352a 100644 buf->savecache = NULL; return -1; } -@@ -760,8 +761,10 @@ readBufferCache(Buffer *buf) +@@ -760,8 +763,10 @@ readBufferCache(Buffer *buf) } #endif } @@ -2325,7 +2420,7 @@ index 5afc26a..3b2352a 100644 unlink(buf->savecache); buf->savecache = NULL; diff --git a/config.guess b/config.guess -index 51fab47..31e01ef 100755 +index 51fab47..f50dcdb 100755 --- a/config.guess +++ b/config.guess @@ -1,13 +1,12 @@ @@ -2333,10 +2428,10 @@ index 51fab47..31e01ef 100755 # Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003 Free Software Foundation, Inc. -+# Copyright 1992-2017 Free Software Foundation, Inc. ++# Copyright 1992-2018 Free Software Foundation, Inc. -timestamp='2004-03-12' -+timestamp='2017-11-07' ++timestamp='2018-02-24' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -2395,7 +2490,7 @@ index 51fab47..31e01ef 100755 Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -Free Software Foundation, Inc. -+Copyright 1992-2017 Free Software Foundation, Inc. ++Copyright 1992-2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -2414,7 +2509,7 @@ index 51fab47..31e01ef 100755 -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. -@@ -104,7 +100,7 @@ set_cc_for_build=' +@@ -104,16 +100,16 @@ set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; @@ -2423,6 +2518,17 @@ index 51fab47..31e01ef 100755 { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; + dummy=$tmp/dummy ; + tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; + case $CC_FOR_BUILD,$HOST_CC,$CC in +- ,,) echo "int x;" > $dummy.c ; ++ ,,) echo "int x;" > "$dummy.c" ; + for c in cc gcc c89 c99 ; do +- if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then ++ if ($c -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then + CC_FOR_BUILD="$c"; break ; + fi ; + done ; @@ -123,7 +119,7 @@ case $CC_FOR_BUILD,$HOST_CC,$CC in ;; ,,*) CC_FOR_BUILD=$CC ;; @@ -2432,18 +2538,18 @@ index 51fab47..31e01ef 100755 # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) -@@ -136,12 +132,33 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +@@ -136,12 +132,40 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown -+case "${UNAME_SYSTEM}" in ++case "$UNAME_SYSTEM" in +Linux|GNU|GNU/*) + # If the system lacks a compiler, then just pick glibc. + # We could probably try harder. + LIBC=gnu + -+ eval $set_cc_for_build -+ cat <<-EOF > $dummy.c ++ eval "$set_cc_for_build" ++ cat <<-EOF > "$dummy.c" + #include + #if defined(__UCLIBC__) + LIBC=uclibc @@ -2453,13 +2559,21 @@ index 51fab47..31e01ef 100755 + LIBC=gnu + #endif + EOF -+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` ++ eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`" ++ ++ # If ldd exists, use it to detect musl libc. ++ if command -v ldd >/dev/null && \ ++ ldd --version 2>&1 | grep -q ^musl ++ then ++ LIBC=musl ++ fi + ;; +esac + # Note: order is significant - the case branches are not exclusive. - case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in +-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in ++case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, @@ -2467,45 +2581,49 @@ index 51fab47..31e01ef 100755 # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward -@@ -151,22 +168,33 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in +@@ -151,22 +175,33 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || echo unknown)` +- case "${UNAME_MACHINE_ARCH}" in + UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ -+ /sbin/$sysctl 2>/dev/null || \ -+ /usr/sbin/$sysctl 2>/dev/null || \ ++ "/sbin/$sysctl" 2>/dev/null || \ ++ "/usr/sbin/$sysctl" 2>/dev/null || \ + echo unknown)` - case "${UNAME_MACHINE_ARCH}" in ++ case "$UNAME_MACHINE_ARCH" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; +- *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + sh5el) machine=sh5le-unknown ;; + earmv*) -+ arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'` -+ endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'` -+ machine=${arch}${endian}-unknown ++ arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` ++ endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` ++ machine="${arch}${endian}"-unknown + ;; - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; ++ *) machine="$UNAME_MACHINE_ARCH"-unknown ;; esac # The Operating System including object format, if it has switched - # to ELF recently, or will in the future. +- case "${UNAME_MACHINE_ARCH}" in + # to ELF recently (or will in the future) and ABI. - case "${UNAME_MACHINE_ARCH}" in ++ case "$UNAME_MACHINE_ARCH" in + earm*) + os=netbsdelf + ;; arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build +- eval $set_cc_for_build ++ eval "$set_cc_for_build" if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep __ELF__ >/dev/null + | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? -@@ -176,7 +204,14 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in +@@ -176,7 +211,14 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in fi ;; *) @@ -2514,19 +2632,25 @@ index 51fab47..31e01ef 100755 + ;; + esac + # Determine ABI tags. -+ case "${UNAME_MACHINE_ARCH}" in ++ case "$UNAME_MACHINE_ARCH" in + earm*) + expr='s/^earmv[0-9]/-eabi/;s/eb$//' -+ abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"` ++ abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` ;; esac # The OS release -@@ -189,78 +224,54 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in +@@ -184,83 +226,62 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. +- case "${UNAME_VERSION}" in ++ case "$UNAME_VERSION" in + Debian*) release='-gnu' ;; *) - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` -+ release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2` ++ release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: @@ -2579,47 +2703,52 @@ index 51fab47..31e01ef 100755 - wgrisc:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; -+ echo "${machine}-${os}${release}${abi}" ++ echo "$machine-${os}${release}${abi}" + exit ;; + *:Bitrig:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` -+ echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} ++ echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE" + exit ;; *:OpenBSD:*:*) - echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` -+ echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} ++ echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE" + exit ;; + *:LibertyBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` -+ echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE} ++ echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE" + exit ;; + *:MidnightBSD:*:*) -+ echo ${UNAME_MACHINE}-unknown-midnightbsd${UNAME_RELEASE} ++ echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE" + exit ;; *:ekkoBSD:*:*) - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} +- echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} - exit 0 ;; ++ echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE" + exit ;; + *:SolidBSD:*:*) -+ echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} ++ echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE" + exit ;; macppc:MirBSD:*:*) - echo powerppc-unknown-mirbsd${UNAME_RELEASE} - exit 0 ;; -+ echo powerpc-unknown-mirbsd${UNAME_RELEASE} ++ echo powerpc-unknown-mirbsd"$UNAME_RELEASE" + exit ;; *:MirBSD:*:*) - echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} +- echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} - exit 0 ;; ++ echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE" + exit ;; + *:Sortix:*:*) -+ echo ${UNAME_MACHINE}-unknown-sortix ++ echo "$UNAME_MACHINE"-unknown-sortix + exit ;; + *:Redox:*:*) -+ echo ${UNAME_MACHINE}-unknown-redox ++ echo "$UNAME_MACHINE"-unknown-redox + exit ;; ++ mips:OSF1:*.*) ++ echo mips-dec-osf1 ++ exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) @@ -2631,7 +2760,7 @@ index 51fab47..31e01ef 100755 ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on -@@ -270,76 +281,73 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in +@@ -270,76 +291,73 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") @@ -2699,7 +2828,7 @@ index 51fab47..31e01ef 100755 - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit 0 ;; -+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` ++ echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`" + # Reset EXIT trap before exiting to avoid spurious non-zero exit code. + exitcode=$? + trap '' 0 @@ -2709,12 +2838,14 @@ index 51fab47..31e01ef 100755 - exit 0;; + exit ;; *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos +- echo ${UNAME_MACHINE}-unknown-amigaos - exit 0 ;; ++ echo "$UNAME_MACHINE"-unknown-amigaos + exit ;; *:[Mm]orph[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-morphos +- echo ${UNAME_MACHINE}-unknown-morphos - exit 0 ;; ++ echo "$UNAME_MACHINE"-unknown-morphos + exit ;; *:OS/390:*:*) echo i370-ibm-openedition @@ -2729,8 +2860,9 @@ index 51fab47..31e01ef 100755 + echo powerpc-ibm-os400 + exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} +- echo arm-acorn-riscix${UNAME_RELEASE} - exit 0;; ++ echo arm-acorn-riscix"$UNAME_RELEASE" + exit ;; + arm*:riscos:*:*|arm*:RISCOS:*:*) + echo arm-unknown-riscos @@ -2742,7 +2874,7 @@ index 51fab47..31e01ef 100755 Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then -@@ -347,32 +355,51 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in +@@ -347,32 +365,51 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in else echo pyramid-pyramid-bsd fi @@ -2763,24 +2895,26 @@ index 51fab47..31e01ef 100755 + sparc) echo sparc-icl-nx7; exit ;; esac ;; + s390x:SunOS:*:*) -+ echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` ++ echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" + exit ;; sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` +- echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; ++ echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" + exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` +- echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; - i86pc:SunOS:5.*:*) - echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; ++ echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" + exit ;; + i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) -+ echo i386-pc-auroraux${UNAME_RELEASE} ++ echo i386-pc-auroraux"$UNAME_RELEASE" + exit ;; + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) -+ eval $set_cc_for_build ++ eval "$set_cc_for_build" + SUN_ARCH=i386 + # If there is a compiler, see if it is configured for 64-bit objects. + # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. @@ -2793,108 +2927,127 @@ index 51fab47..31e01ef 100755 + SUN_ARCH=x86_64 + fi + fi -+ echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` ++ echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" + exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` +- echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; ++ echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" + exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) -@@ -381,13 +408,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in +@@ -380,26 +417,26 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` +- echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit 0 ;; ++ echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`" + exit ;; sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} +- echo m68k-sun-sunos${UNAME_RELEASE} - exit 0 ;; ++ echo m68k-sun-sunos"$UNAME_RELEASE" + exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 -+ test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3 ++ test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) - echo m68k-sun-sunos${UNAME_RELEASE} -@@ -396,10 +423,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - echo sparc-sun-sunos${UNAME_RELEASE} +- echo m68k-sun-sunos${UNAME_RELEASE} ++ echo m68k-sun-sunos"$UNAME_RELEASE" + ;; + sun4) +- echo sparc-sun-sunos${UNAME_RELEASE} ++ echo sparc-sun-sunos"$UNAME_RELEASE" ;; esac - exit 0 ;; + exit ;; aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} +- echo sparc-auspex-sunos${UNAME_RELEASE} - exit 0 ;; ++ echo sparc-auspex-sunos"$UNAME_RELEASE" + exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor -@@ -409,41 +436,41 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in +@@ -409,44 +446,44 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit 0 ;; -+ echo m68k-atari-mint${UNAME_RELEASE} ++ echo m68k-atari-mint"$UNAME_RELEASE" + exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} +- echo m68k-atari-mint${UNAME_RELEASE} - exit 0 ;; ++ echo m68k-atari-mint"$UNAME_RELEASE" + exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit 0 ;; -+ echo m68k-atari-mint${UNAME_RELEASE} ++ echo m68k-atari-mint"$UNAME_RELEASE" + exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit 0 ;; -+ echo m68k-milan-mint${UNAME_RELEASE} ++ echo m68k-milan-mint"$UNAME_RELEASE" + exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit 0 ;; -+ echo m68k-hades-mint${UNAME_RELEASE} ++ echo m68k-hades-mint"$UNAME_RELEASE" + exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} - exit 0 ;; -+ echo m68k-unknown-mint${UNAME_RELEASE} ++ echo m68k-unknown-mint"$UNAME_RELEASE" + exit ;; m68k:machten:*:*) - echo m68k-apple-machten${UNAME_RELEASE} +- echo m68k-apple-machten${UNAME_RELEASE} - exit 0 ;; ++ echo m68k-apple-machten"$UNAME_RELEASE" + exit ;; powerpc:machten:*:*) - echo powerpc-apple-machten${UNAME_RELEASE} +- echo powerpc-apple-machten${UNAME_RELEASE} - exit 0 ;; ++ echo powerpc-apple-machten"$UNAME_RELEASE" + exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 - exit 0 ;; + exit ;; RISC*:ULTRIX:*:*) - echo mips-dec-ultrix${UNAME_RELEASE} +- echo mips-dec-ultrix${UNAME_RELEASE} - exit 0 ;; ++ echo mips-dec-ultrix"$UNAME_RELEASE" + exit ;; VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix${UNAME_RELEASE} +- echo vax-dec-ultrix${UNAME_RELEASE} - exit 0 ;; ++ echo vax-dec-ultrix"$UNAME_RELEASE" + exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix${UNAME_RELEASE} +- echo clipper-intergraph-clix${UNAME_RELEASE} - exit 0 ;; ++ echo clipper-intergraph-clix"$UNAME_RELEASE" + exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c -@@ -455,47 +482,48 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in +- eval $set_cc_for_build +- sed 's/^ //' << EOF >$dummy.c ++ eval "$set_cc_for_build" ++ sed 's/^ //' << EOF > "$dummy.c" + #ifdef __cplusplus + #include /* for printf() prototype */ + int main (int argc, char *argv[]) { +@@ -455,94 +492,95 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) @@ -2916,12 +3069,13 @@ index 51fab47..31e01ef 100755 - $CC_FOR_BUILD -o $dummy $dummy.c \ - && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ - && exit 0 -+ $CC_FOR_BUILD -o $dummy $dummy.c && -+ dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && -+ SYSTEM_NAME=`$dummy $dummyarg` && -+ { echo "$SYSTEM_NAME"; exit; } - echo mips-mips-riscos${UNAME_RELEASE} +- echo mips-mips-riscos${UNAME_RELEASE} - exit 0 ;; ++ $CC_FOR_BUILD -o "$dummy" "$dummy.c" && ++ dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && ++ SYSTEM_NAME=`"$dummy" "$dummyarg"` && ++ { echo "$SYSTEM_NAME"; exit; } ++ echo mips-mips-riscos"$UNAME_RELEASE" + exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax @@ -2954,14 +3108,25 @@ index 51fab47..31e01ef 100755 AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` +- if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] ++ if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ] then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ -@@ -508,29 +536,29 @@ EOF +- if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ +- [ ${TARGET_BINARY_INTERFACE}x = x ] ++ if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \ ++ [ "$TARGET_BINARY_INTERFACE"x = x ] + then +- echo m88k-dg-dgux${UNAME_RELEASE} ++ echo m88k-dg-dgux"$UNAME_RELEASE" + else +- echo m88k-dg-dguxbcs${UNAME_RELEASE} ++ echo m88k-dg-dguxbcs"$UNAME_RELEASE" + fi else - echo i586-dg-dgux${UNAME_RELEASE} +- echo i586-dg-dgux${UNAME_RELEASE} ++ echo i586-dg-dgux"$UNAME_RELEASE" fi - exit 0 ;; + exit ;; @@ -2983,8 +3148,9 @@ index 51fab47..31e01ef 100755 - exit 0 ;; + exit ;; *:IRIX*:*:*) - echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` +- echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` - exit 0 ;; ++ echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`" + exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id @@ -2998,22 +3164,30 @@ index 51fab47..31e01ef 100755 ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` -@@ -538,7 +566,7 @@ EOF - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + else +- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} ++ IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" fi - echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} +- echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} - exit 0 ;; ++ echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV" + exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - eval $set_cc_for_build -@@ -553,125 +581,140 @@ EOF +- eval $set_cc_for_build +- sed 's/^ //' << EOF >$dummy.c ++ eval "$set_cc_for_build" ++ sed 's/^ //' << EOF > "$dummy.c" + #include + + main() +@@ -553,128 +591,143 @@ EOF exit(0); } EOF - $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 - echo rs6000-ibm-aix3.2.5 -+ if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` ++ if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` + then + echo "$SYSTEM_NAME" + else @@ -3029,7 +3203,8 @@ index 51fab47..31e01ef 100755 + exit ;; + *:AIX:*:[4567]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` - if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then +- if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then ++ if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc @@ -3040,10 +3215,12 @@ index 51fab47..31e01ef 100755 + IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | + awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} +- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} ++ IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" fi - echo ${IBM_ARCH}-ibm-aix${IBM_REV} +- echo ${IBM_ARCH}-ibm-aix${IBM_REV} - exit 0 ;; ++ echo "$IBM_ARCH"-ibm-aix"$IBM_REV" + exit ;; *:AIX:*:*) echo rs6000-ibm-aix @@ -3055,8 +3232,9 @@ index 51fab47..31e01ef 100755 - exit 0 ;; + exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to +- echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to - exit 0 ;; # report: romp-ibm BSD 4.3 ++ echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to + exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx @@ -3075,10 +3253,12 @@ index 51fab47..31e01ef 100755 - exit 0 ;; + exit ;; 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - case "${UNAME_MACHINE}" in +- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` +- case "${UNAME_MACHINE}" in - 9000/31? ) HP_ARCH=m68000 ;; - 9000/[34]?? ) HP_ARCH=m68k ;; ++ HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` ++ case "$UNAME_MACHINE" in + 9000/31?) HP_ARCH=m68000 ;; + 9000/[34]??) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) @@ -3096,21 +3276,23 @@ index 51fab47..31e01ef 100755 - esac ;; - esac + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` -+ case "${sc_cpu_version}" in ++ case "$sc_cpu_version" in + 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 + 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 -+ case "${sc_kernel_bits}" in ++ case "$sc_kernel_bits" in + 32) HP_ARCH=hppa2.0n ;; + 64) HP_ARCH=hppa2.0w ;; + '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 + esac ;; + esac fi - if [ "${HP_ARCH}" = "" ]; then - eval $set_cc_for_build +- if [ "${HP_ARCH}" = "" ]; then +- eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c -+ sed 's/^ //' << EOF >$dummy.c ++ if [ "$HP_ARCH" = "" ]; then ++ eval "$set_cc_for_build" ++ sed 's/^ //' << EOF > "$dummy.c" - #define _HPUX_SOURCE - #include @@ -3172,17 +3354,17 @@ index 51fab47..31e01ef 100755 + } EOF - (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` -+ (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` ++ (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac - if [ ${HP_ARCH} = "hppa2.0w" ] -+ if [ ${HP_ARCH} = hppa2.0w ] ++ if [ "$HP_ARCH" = hppa2.0w ] then - # avoid double evaluation of $set_cc_for_build - test -n "$CC_FOR_BUILD" || eval $set_cc_for_build - if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null -+ eval $set_cc_for_build ++ eval "$set_cc_for_build" + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler @@ -3203,23 +3385,31 @@ index 51fab47..31e01ef 100755 + HP_ARCH=hppa64 fi fi - echo ${HP_ARCH}-hp-hpux${HPUX_REV} +- echo ${HP_ARCH}-hp-hpux${HPUX_REV} - exit 0 ;; ++ echo "$HP_ARCH"-hp-hpux"$HPUX_REV" + exit ;; ia64:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux${HPUX_REV} +- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` +- echo ia64-hp-hpux${HPUX_REV} - exit 0 ;; ++ HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` ++ echo ia64-hp-hpux"$HPUX_REV" + exit ;; 3050*:HI-UX:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c -@@ -699,356 +742,356 @@ EOF +- eval $set_cc_for_build +- sed 's/^ //' << EOF >$dummy.c ++ eval "$set_cc_for_build" ++ sed 's/^ //' << EOF > "$dummy.c" + #include + int + main () +@@ -699,360 +752,364 @@ EOF exit (0); } EOF - $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 -+ $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && ++ $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && + { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 - exit 0 ;; @@ -3248,9 +3438,11 @@ index 51fab47..31e01ef 100755 + exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then - echo ${UNAME_MACHINE}-unknown-osf1mk +- echo ${UNAME_MACHINE}-unknown-osf1mk ++ echo "$UNAME_MACHINE"-unknown-osf1mk else - echo ${UNAME_MACHINE}-unknown-osf1 +- echo ${UNAME_MACHINE}-unknown-osf1 ++ echo "$UNAME_MACHINE"-unknown-osf1 fi - exit 0 ;; + exit ;; @@ -3282,32 +3474,37 @@ index 51fab47..31e01ef 100755 - exit 0 ;; + exit ;; CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' +- echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; ++ echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' + exit ;; CRAY*[A-Z]90:*:*:*) - echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ +- echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ ++ echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' - exit 0 ;; + exit ;; CRAY*TS:*:*:*) - echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' +- echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; ++ echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' + exit ;; CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' +- echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; ++ echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' + exit ;; CRAY*SV1:*:*:*) - echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' +- echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; ++ echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' + exit ;; *:UNICOS/mp:*:*) - echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; -+ echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' ++ echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' + exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` @@ -3317,7 +3514,7 @@ index 51fab47..31e01ef 100755 - exit 0 ;; + FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` + FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` -+ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` ++ FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; 5000:UNIX_System_V:4.*:*) @@ -3326,20 +3523,23 @@ index 51fab47..31e01ef 100755 - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit 0 ;; + FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` -+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` ++ FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} +- echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} - exit 0 ;; ++ echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE" + exit ;; sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} +- echo sparc-unknown-bsdi${UNAME_RELEASE} - exit 0 ;; ++ echo sparc-unknown-bsdi"$UNAME_RELEASE" + exit ;; *:BSD/OS:*:*) - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} +- echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit 0 ;; ++ echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE" + exit ;; *:FreeBSD:*:*) - # Determine whether the default compiler uses glibc. @@ -3359,31 +3559,33 @@ index 51fab47..31e01ef 100755 - echo ${UNAME_MACHINE}-unknown-${kernel_only}freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC} - exit 0 ;; + UNAME_PROCESSOR=`/usr/bin/uname -p` -+ case ${UNAME_PROCESSOR} in ++ case "$UNAME_PROCESSOR" in + amd64) + UNAME_PROCESSOR=x86_64 ;; + i386) + UNAME_PROCESSOR=i586 ;; + esac -+ echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ++ echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" + exit ;; i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin +- echo ${UNAME_MACHINE}-pc-cygwin - exit 0 ;; - i*:MINGW*:*) +- echo ${UNAME_MACHINE}-pc-mingw32 +- exit 0 ;; ++ echo "$UNAME_MACHINE"-pc-cygwin + exit ;; + *:MINGW64*:*) -+ echo ${UNAME_MACHINE}-pc-mingw64 ++ echo "$UNAME_MACHINE"-pc-mingw64 + exit ;; + *:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 -- exit 0 ;; ++ echo "$UNAME_MACHINE"-pc-mingw32 + exit ;; + *:MSYS*:*) -+ echo ${UNAME_MACHINE}-pc-msys ++ echo "$UNAME_MACHINE"-pc-msys + exit ;; i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 +- echo ${UNAME_MACHINE}-pc-pw32 - exit 0 ;; - x86:Interix*:[34]*) - echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//' @@ -3397,55 +3599,59 @@ index 51fab47..31e01ef 100755 - # UNAME_MACHINE based on the output of uname instead of i386? - echo i586-pc-interix - exit 0 ;; ++ echo "$UNAME_MACHINE"-pc-pw32 + exit ;; + *:Interix*:*) -+ case ${UNAME_MACHINE} in ++ case "$UNAME_MACHINE" in + x86) -+ echo i586-pc-interix${UNAME_RELEASE} ++ echo i586-pc-interix"$UNAME_RELEASE" + exit ;; + authenticamd | genuineintel | EM64T) -+ echo x86_64-unknown-interix${UNAME_RELEASE} ++ echo x86_64-unknown-interix"$UNAME_RELEASE" + exit ;; + IA64) -+ echo ia64-unknown-interix${UNAME_RELEASE} ++ echo ia64-unknown-interix"$UNAME_RELEASE" + exit ;; + esac ;; i*:UWIN*:*) - echo ${UNAME_MACHINE}-pc-uwin +- echo ${UNAME_MACHINE}-pc-uwin - exit 0 ;; - p*:CYGWIN*:*) - echo powerpcle-unknown-cygwin - exit 0 ;; ++ echo "$UNAME_MACHINE"-pc-uwin + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-unknown-cygwin + exit ;; prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` +- echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; ++ echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" + exit ;; *:GNU:*:*) # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` - exit 0 ;; -+ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` ++ echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`" + exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu - exit 0 ;; -+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} ++ echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC" + exit ;; i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix +- echo ${UNAME_MACHINE}-pc-minix - exit 0 ;; ++ echo "$UNAME_MACHINE"-pc-minix + exit ;; + aarch64:Linux:*:*) -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + aarch64_be:Linux:*:*) + UNAME_MACHINE=aarch64_be -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in @@ -3459,74 +3665,76 @@ index 51fab47..31e01ef 100755 + esac + objdump --private-headers /bin/sh | grep -q ld.so.1 + if test "$?" = 0 ; then LIBC=gnulibc1 ; fi -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + arc:Linux:*:* | arceb:Linux:*:*) -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; arm*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; -+ eval $set_cc_for_build ++ eval "$set_cc_for_build" + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_EABI__ + then -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + else + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi ++ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi + else -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf ++ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf + fi + fi + exit ;; + avr32*:Linux:*:*) -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; cris:Linux:*:*) - echo cris-axis-linux-gnu - exit 0 ;; -+ echo ${UNAME_MACHINE}-axis-linux-${LIBC} ++ echo "$UNAME_MACHINE"-axis-linux-"$LIBC" + exit ;; + crisv32:Linux:*:*) -+ echo ${UNAME_MACHINE}-axis-linux-${LIBC} ++ echo "$UNAME_MACHINE"-axis-linux-"$LIBC" + exit ;; + e2k:Linux:*:*) -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + frv:Linux:*:*) -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + hexagon:Linux:*:*) -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + i*86:Linux:*:*) -+ echo ${UNAME_MACHINE}-pc-linux-${LIBC} ++ echo "$UNAME_MACHINE"-pc-linux-"$LIBC" + exit ;; ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + k1om:Linux:*:*) -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; - mips:Linux:*:*) -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} +- eval $set_cc_for_build +- sed 's/^ //' << EOF >$dummy.c ++ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + mips:Linux:*:* | mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c ++ eval "$set_cc_for_build" ++ sed 's/^ //' << EOF > "$dummy.c" #undef CPU - #undef mips - #undef mipsel @@ -3546,8 +3754,8 @@ index 51fab47..31e01ef 100755 EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` - test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 -+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` -+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } ++ eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU'`" ++ test "x$CPU" != x && { echo "$CPU-unknown-linux-$LIBC"; exit; } ;; - mips64:Linux:*:*) - eval $set_cc_for_build @@ -3589,19 +3797,19 @@ index 51fab47..31e01ef 100755 - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} - exit 0 ;; + mips64el:Linux:*:*) -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + openrisc*:Linux:*:*) -+ echo or1k-unknown-linux-${LIBC} ++ echo or1k-unknown-linux-"$LIBC" + exit ;; + or32:Linux:*:* | or1k*:Linux:*:*) -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + padre:Linux:*:*) -+ echo sparc-unknown-linux-${LIBC} ++ echo sparc-unknown-linux-"$LIBC" + exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) -+ echo hppa64-unknown-linux-${LIBC} ++ echo hppa64-unknown-linux-"$LIBC" + exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level @@ -3609,9 +3817,9 @@ index 51fab47..31e01ef 100755 - PA7*) echo hppa1.1-unknown-linux-gnu ;; - PA8*) echo hppa2.0-unknown-linux-gnu ;; - *) echo hppa-unknown-linux-gnu ;; -+ PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; -+ PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; -+ *) echo hppa-unknown-linux-${LIBC} ;; ++ PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;; ++ PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;; ++ *) echo hppa-unknown-linux-"$LIBC" ;; esac - exit 0 ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) @@ -3619,45 +3827,45 @@ index 51fab47..31e01ef 100755 - exit 0 ;; + exit ;; + ppc64:Linux:*:*) -+ echo powerpc64-unknown-linux-${LIBC} ++ echo powerpc64-unknown-linux-"$LIBC" + exit ;; + ppc:Linux:*:*) -+ echo powerpc-unknown-linux-${LIBC} ++ echo powerpc-unknown-linux-"$LIBC" + exit ;; + ppc64le:Linux:*:*) -+ echo powerpc64le-unknown-linux-${LIBC} ++ echo powerpc64le-unknown-linux-"$LIBC" + exit ;; + ppcle:Linux:*:*) -+ echo powerpcle-unknown-linux-${LIBC} ++ echo powerpcle-unknown-linux-"$LIBC" + exit ;; + riscv32:Linux:*:* | riscv64:Linux:*:*) -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux - exit 0 ;; -+ echo ${UNAME_MACHINE}-ibm-linux-${LIBC} ++ echo "$UNAME_MACHINE"-ibm-linux-"$LIBC" + exit ;; sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + tile*:Linux:*:*) -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + vax:Linux:*:*) -+ echo ${UNAME_MACHINE}-dec-linux-${LIBC} ++ echo "$UNAME_MACHINE"-dec-linux-"$LIBC" + exit ;; x86_64:Linux:*:*) - echo x86_64-unknown-linux-gnu @@ -3718,10 +3926,14 @@ index 51fab47..31e01ef 100755 - test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0 - test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 - ;; -+ echo ${UNAME_MACHINE}-pc-linux-${LIBC} ++ if objdump -f /bin/sh | grep -q elf32-x86-64; then ++ echo "$UNAME_MACHINE"-pc-linux-"$LIBC"x32 ++ else ++ echo "$UNAME_MACHINE"-pc-linux-"$LIBC" ++ fi + exit ;; + xtensa*:Linux:*:*) -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. @@ -3739,45 +3951,55 @@ index 51fab47..31e01ef 100755 + # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. -+ # Use sysv4.2uw... so that sysv4* matches it. - echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} +- echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} - exit 0 ;; ++ # Use sysv4.2uw... so that sysv4* matches it. ++ echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION" + exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx +- echo ${UNAME_MACHINE}-pc-os2-emx - exit 0 ;; ++ echo "$UNAME_MACHINE"-pc-os2-emx + exit ;; i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop +- echo ${UNAME_MACHINE}-unknown-stop - exit 0 ;; ++ echo "$UNAME_MACHINE"-unknown-stop + exit ;; i*86:atheos:*:*) - echo ${UNAME_MACHINE}-unknown-atheos +- echo ${UNAME_MACHINE}-unknown-atheos - exit 0 ;; - i*86:syllable:*:*) -+ exit ;; -+ i*86:syllable:*:*) - echo ${UNAME_MACHINE}-pc-syllable +- echo ${UNAME_MACHINE}-pc-syllable - exit 0 ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) +- echo i386-unknown-lynxos${UNAME_RELEASE} +- exit 0 ;; ++ echo "$UNAME_MACHINE"-unknown-atheos ++ exit ;; ++ i*86:syllable:*:*) ++ echo "$UNAME_MACHINE"-pc-syllable + exit ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} -- exit 0 ;; ++ echo i386-unknown-lynxos"$UNAME_RELEASE" + exit ;; i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp +- echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit 0 ;; - i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) +- UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` ++ echo "$UNAME_MACHINE"-pc-msdosdjgpp + exit ;; + i*86:*:4.*:*) - UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` ++ UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} +- echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} ++ echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL" else - echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} +- echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} ++ echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL" fi - exit 0 ;; - i*86:*:5:[78]*) @@ -3789,15 +4011,27 @@ index 51fab47..31e01ef 100755 *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac - echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} +- echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} - exit 0 ;; ++ echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}{$UNAME_VERSION}" + exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 +@@ -1062,369 +1119,333 @@ EOF + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 +- echo ${UNAME_MACHINE}-pc-sco$UNAME_REL ++ echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL" else - echo ${UNAME_MACHINE}-pc-sysv32 +- echo ${UNAME_MACHINE}-pc-sysv32 ++ echo "$UNAME_MACHINE"-pc-sysv32 fi - exit 0 ;; + exit ;; @@ -3824,9 +4058,11 @@ index 51fab47..31e01ef 100755 + exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 +- echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 ++ echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 +- echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 ++ echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4 fi - exit 0 ;; + exit ;; @@ -3854,10 +4090,10 @@ index 51fab47..31e01ef 100755 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && echo i486-ncr-sysv4.3${OS_REL} && exit 0 -+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } ++ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; -+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; ++ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && echo i486-ncr-sysv4 && exit 0 ;; @@ -3868,35 +4104,40 @@ index 51fab47..31e01ef 100755 + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ -+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } ++ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ -+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ++ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } + /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ -+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; ++ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} +- echo m68k-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; ++ echo m68k-unknown-lynxos"$UNAME_RELEASE" + exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 - exit 0 ;; + exit ;; TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos${UNAME_RELEASE} +- echo sparc-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; ++ echo sparc-unknown-lynxos"$UNAME_RELEASE" + exit ;; rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} +- echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) +- echo powerpc-unknown-lynxos${UNAME_RELEASE} +- exit 0 ;; ++ echo rs6000-unknown-lynxos"$UNAME_RELEASE" + exit ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} -- exit 0 ;; ++ echo powerpc-unknown-lynxos"$UNAME_RELEASE" + exit ;; SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv${UNAME_RELEASE} +- echo mips-dde-sysv${UNAME_RELEASE} - exit 0 ;; ++ echo mips-dde-sysv"$UNAME_RELEASE" + exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 @@ -3909,7 +4150,8 @@ index 51fab47..31e01ef 100755 *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` -@@ -1140,291 +1196,239 @@ EOF +- echo ${UNAME_MACHINE}-sni-sysv4 ++ echo "$UNAME_MACHINE"-sni-sysv4 else echo ns32k-sni-sysv fi @@ -3936,7 +4178,7 @@ index 51fab47..31e01ef 100755 + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. -+ echo ${UNAME_MACHINE}-stratus-vos ++ echo "$UNAME_MACHINE"-stratus-vos + exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. @@ -3944,8 +4186,9 @@ index 51fab47..31e01ef 100755 - exit 0 ;; + exit ;; mc68*:A/UX:*:*) - echo m68k-apple-aux${UNAME_RELEASE} +- echo m68k-apple-aux${UNAME_RELEASE} - exit 0 ;; ++ echo m68k-apple-aux"$UNAME_RELEASE" + exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 @@ -3954,10 +4197,10 @@ index 51fab47..31e01ef 100755 R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} -+ echo mips-nec-sysv${UNAME_RELEASE} ++ echo mips-nec-sysv"$UNAME_RELEASE" else - echo mips-unknown-sysv${UNAME_RELEASE} -+ echo mips-unknown-sysv${UNAME_RELEASE} ++ echo mips-unknown-sysv"$UNAME_RELEASE" fi - exit 0 ;; + exit ;; @@ -3980,48 +4223,55 @@ index 51fab47..31e01ef 100755 + echo x86_64-unknown-haiku + exit ;; SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} +- echo sx4-nec-superux${UNAME_RELEASE} - exit 0 ;; ++ echo sx4-nec-superux"$UNAME_RELEASE" + exit ;; SX-5:SUPER-UX:*:*) - echo sx5-nec-superux${UNAME_RELEASE} +- echo sx5-nec-superux${UNAME_RELEASE} - exit 0 ;; ++ echo sx5-nec-superux"$UNAME_RELEASE" + exit ;; SX-6:SUPER-UX:*:*) - echo sx6-nec-superux${UNAME_RELEASE} +- echo sx6-nec-superux${UNAME_RELEASE} - exit 0 ;; ++ echo sx6-nec-superux"$UNAME_RELEASE" + exit ;; + SX-7:SUPER-UX:*:*) -+ echo sx7-nec-superux${UNAME_RELEASE} ++ echo sx7-nec-superux"$UNAME_RELEASE" + exit ;; + SX-8:SUPER-UX:*:*) -+ echo sx8-nec-superux${UNAME_RELEASE} ++ echo sx8-nec-superux"$UNAME_RELEASE" + exit ;; + SX-8R:SUPER-UX:*:*) -+ echo sx8r-nec-superux${UNAME_RELEASE} ++ echo sx8r-nec-superux"$UNAME_RELEASE" + exit ;; + SX-ACE:SUPER-UX:*:*) -+ echo sxace-nec-superux${UNAME_RELEASE} ++ echo sxace-nec-superux"$UNAME_RELEASE" + exit ;; Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody${UNAME_RELEASE} +- echo powerpc-apple-rhapsody${UNAME_RELEASE} - exit 0 ;; ++ echo powerpc-apple-rhapsody"$UNAME_RELEASE" + exit ;; *:Rhapsody:*:*) - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} +- echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit 0 ;; ++ echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE" + exit ;; *:Darwin:*:*) - case `uname -p` in - *86) UNAME_PROCESSOR=i686 ;; - powerpc) UNAME_PROCESSOR=powerpc ;; - esac +- echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} +- exit 0 ;; + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown -+ eval $set_cc_for_build ++ eval "$set_cc_for_build" + if test "$UNAME_PROCESSOR" = unknown ; then + UNAME_PROCESSOR=powerpc + fi -+ if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then ++ if test "`echo "$UNAME_RELEASE" | sed -e 's/\..*//'`" -le 10 ; then + if [ "$CC_FOR_BUILD" != no_compiler_found ]; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ @@ -4049,8 +4299,7 @@ index 51fab47..31e01ef 100755 + # that Apple uses in portable devices. + UNAME_PROCESSOR=x86_64 + fi - echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} -- exit 0 ;; ++ echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE" + exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` @@ -4059,26 +4308,31 @@ index 51fab47..31e01ef 100755 UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi - echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} +- echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} - exit 0 ;; ++ echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE" + exit ;; *:QNX:*:4*) echo i386-pc-qnx - exit 0 ;; - NSR-?:NONSTOP_KERNEL:*:*) +- echo nsr-tandem-nsk${UNAME_RELEASE} +- exit 0 ;; + exit ;; + NEO-*:NONSTOP_KERNEL:*:*) -+ echo neo-tandem-nsk${UNAME_RELEASE} ++ echo neo-tandem-nsk"$UNAME_RELEASE" + exit ;; + NSE-*:NONSTOP_KERNEL:*:*) -+ echo nse-tandem-nsk${UNAME_RELEASE} ++ echo nse-tandem-nsk"$UNAME_RELEASE" + exit ;; + NSR-*:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk${UNAME_RELEASE} -- exit 0 ;; ++ echo nsr-tandem-nsk"$UNAME_RELEASE" ++ exit ;; ++ NSV-*:NONSTOP_KERNEL:*:*) ++ echo nsv-tandem-nsk"$UNAME_RELEASE" + exit ;; + NSX-*:NONSTOP_KERNEL:*:*) -+ echo nsx-tandem-nsk${UNAME_RELEASE} ++ echo nsx-tandem-nsk"$UNAME_RELEASE" + exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux @@ -4089,8 +4343,9 @@ index 51fab47..31e01ef 100755 - exit 0 ;; + exit ;; DS/*:UNIX_System_V:*:*) - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} +- echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} - exit 0 ;; ++ echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE" + exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 @@ -4102,8 +4357,9 @@ index 51fab47..31e01ef 100755 else UNAME_MACHINE="$cputype" fi - echo ${UNAME_MACHINE}-unknown-plan9 +- echo ${UNAME_MACHINE}-unknown-plan9 - exit 0 ;; ++ echo "$UNAME_MACHINE"-unknown-plan9 + exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 @@ -4132,15 +4388,16 @@ index 51fab47..31e01ef 100755 SEI:*:*:SEIUX) - echo mips-sei-seiux${UNAME_RELEASE} - exit 0 ;; -+ echo mips-sei-seiux${UNAME_RELEASE} ++ echo mips-sei-seiux"$UNAME_RELEASE" + exit ;; *:DragonFly:*:*) - echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` +- echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit 0 ;; ++ echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` -+ case "${UNAME_MACHINE}" in ++ case "$UNAME_MACHINE" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; @@ -4149,16 +4406,16 @@ index 51fab47..31e01ef 100755 + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) -+ echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'` ++ echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`" + exit ;; + i*86:rdos:*:*) -+ echo ${UNAME_MACHINE}-pc-rdos ++ echo "$UNAME_MACHINE"-pc-rdos + exit ;; + i*86:AROS:*:*) -+ echo ${UNAME_MACHINE}-pc-aros ++ echo "$UNAME_MACHINE"-pc-aros + exit ;; + x86_64:VMkernel:*:*) -+ echo ${UNAME_MACHINE}-unknown-esx ++ echo "$UNAME_MACHINE"-unknown-esx + exit ;; + amd64:Isilon\ OneFS:*:*) + echo x86_64-unknown-onefs @@ -4167,7 +4424,8 @@ index 51fab47..31e01ef 100755 -#echo '(No uname command or uname output not recognized.)' 1>&2 -#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 -- ++echo "$0: unable to guess system type" >&2 + -eval $set_cc_for_build -cat >$dummy.c <&2 <&2 - +- -#if defined (sequent) -#if defined (i386) - printf ("i386-sequent-dynix\n"); exit (0); @@ -4244,11 +4505,7 @@ index 51fab47..31e01ef 100755 - struct utsname un; - - uname(&un); -+case "${UNAME_MACHINE}:${UNAME_SYSTEM}" in -+ mips:Linux | mips64:Linux) -+ # If we got here on MIPS GNU/Linux, output extra information. -+ cat >&2 </dev/null` + /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` + /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +-UNAME_MACHINE = ${UNAME_MACHINE} +-UNAME_RELEASE = ${UNAME_RELEASE} +-UNAME_SYSTEM = ${UNAME_SYSTEM} +-UNAME_VERSION = ${UNAME_VERSION} ++UNAME_MACHINE = "$UNAME_MACHINE" ++UNAME_RELEASE = "$UNAME_RELEASE" ++UNAME_SYSTEM = "$UNAME_SYSTEM" ++UNAME_VERSION = "$UNAME_VERSION" + EOF + exit 1 # Local variables: @@ -4424,7 +4694,7 @@ index 2f41eed..6ab3008 100644 #define DEFAULT_TERM "dosansi" #else diff --git a/config.sub b/config.sub -index ba33103..00f68b8 100755 +index ba33103..1d8e98b 100755 --- a/config.sub +++ b/config.sub @@ -1,42 +1,40 @@ @@ -4432,10 +4702,10 @@ index ba33103..00f68b8 100755 # Configuration validation subroutine script. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003 Free Software Foundation, Inc. -+# Copyright 1992-2017 Free Software Foundation, Inc. ++# Copyright 1992-2018 Free Software Foundation, Inc. -timestamp='2004-03-12' -+timestamp='2017-11-23' ++timestamp='2018-02-22' -# This file is (in principle) common to ALL GNU software. -# The presence of a machine in this file suggests that SOME GNU software @@ -4510,7 +4780,7 @@ index ba33103..00f68b8 100755 -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -Free Software Foundation, Inc. -+Copyright 1992-2017 Free Software Foundation, Inc. ++Copyright 1992-2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -4529,18 +4799,23 @@ index ba33103..00f68b8 100755 -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. -@@ -99,7 +95,7 @@ while test $# -gt 0 ; do +@@ -98,8 +94,8 @@ while test $# -gt 0 ; do + *local*) # First pass through any local machine types. - echo $1 +- echo $1 - exit 0;; ++ echo "$1" + exit ;; * ) break ;; -@@ -118,11 +114,18 @@ esac +@@ -116,17 +112,24 @@ esac + + # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. - maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` ++maybe_os=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in - nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \ - kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) @@ -4550,15 +4825,23 @@ index ba33103..00f68b8 100755 + kopensolaris*-gnu* | cloudabi*-eabi* | \ + storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; +- basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ++ basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ++ ;; + android-linux) + os=-linux-android -+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown -+ ;; ++ basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown + ;; *) - basic_machine=`echo $1 | sed 's/-[^-]*$//'` - if [ $basic_machine != $1 ] +- basic_machine=`echo $1 | sed 's/-[^-]*$//'` +- if [ $basic_machine != $1 ] +- then os=`echo $1 | sed 's/.*-/-/'` ++ basic_machine=`echo "$1" | sed 's/-[^-]*$//'` ++ if [ "$basic_machine" != "$1" ] ++ then os=`echo "$1" | sed 's/.*-/-/'` + else os=; fi + ;; + esac @@ -145,10 +148,13 @@ case $os in -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ @@ -4574,7 +4857,7 @@ index ba33103..00f68b8 100755 -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 -@@ -163,13 +169,17 @@ case $os in +@@ -163,54 +169,65 @@ case $os in os=-chorusos basic_machine=$1 ;; @@ -4590,45 +4873,72 @@ index ba33103..00f68b8 100755 ;; + -sco6) + os=-sco5v6 -+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ++ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` + ;; -sco5) os=-sco3.2v5 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` -@@ -186,6 +196,10 @@ case $os in - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` +- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ++ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; + -sco4) + os=-sco3.2v4 +- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ++ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` +- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ++ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. +- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ++ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ++ ;; + -sco5v6*) + # Don't forget version if it is 3.2v4 or newer. -+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` -+ ;; ++ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` + ;; -sco*) os=-sco3.2v2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` -@@ -203,15 +217,18 @@ case $os in - -isc*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` +- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ++ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` + ;; + -udk*) +- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ++ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` + ;; + -isc) + os=-isc2.2 +- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ++ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) +- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ++ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ++ ;; + -lynx*178) + os=-lynxos178 + ;; + -lynx*5) + os=-lynxos5 -+ ;; + ;; -lynx*) os=-lynxos ;; -ptx*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` - ;; +- basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` +- ;; - -windowsnt*) - os=`echo $os | sed -e 's/windowsnt/winnt/'` -- ;; ++ basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'` + ;; -psos*) os=-psos - ;; -@@ -227,57 +244,115 @@ case $basic_machine in +@@ -227,56 +244,114 @@ case $basic_machine in # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ @@ -4690,9 +5000,10 @@ index ba33103..00f68b8 100755 + | nios | nios2 | nios2eb | nios2el \ | ns16k | ns32k \ - | openrisc | or32 \ -+ | open8 | or1k | or1knd | or32 \ - | pdp10 | pdp11 | pj | pjl \ +- | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ ++ | open8 | or1k | or1knd | or32 \ ++ | pdp10 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle \ + | pru \ | pyramid \ @@ -4719,10 +5030,8 @@ index ba33103..00f68b8 100755 + | wasm32 \ + | x86 | xc16x | xstormy16 | xtensa \ + | z8k | z80) - basic_machine=$basic_machine-unknown - ;; -- m6811 | m68hc11 | m6812 | m68hc12) -- # Motorola 68HC11/12. ++ basic_machine=$basic_machine-unknown ++ ;; + c54x) + basic_machine=tic54x-unknown + ;; @@ -4737,32 +5046,41 @@ index ba33103..00f68b8 100755 + ;; + m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) basic_machine=$basic_machine-unknown - os=-none - ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) - ;; ++ os=-none ++ ;; ++ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65) ++ ;; + ms1) + basic_machine=mt-unknown -+ ;; + ;; +- m6811 | m68hc11 | m6812 | m68hc12) +- # Motorola 68HC11/12. + + strongarm | thumb | xscale) + basic_machine=arm-unknown + ;; + xgate) -+ basic_machine=$basic_machine-unknown -+ os=-none -+ ;; + basic_machine=$basic_machine-unknown + os=-none + ;; +- m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + xscaleeb) + basic_machine=armeb-unknown + ;; + + xscaleel) + basic_machine=armel-unknown -+ ;; + ;; # We use `pc' rather than `unknown' - # because (1) that's what they normally are, and -@@ -293,59 +368,91 @@ case $basic_machine in +@@ -287,70 +362,102 @@ case $basic_machine in + ;; + # Object if more than one company name word. + *-*-*) +- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 ++ echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 + exit 1 + ;; # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ @@ -4876,6 +5194,12 @@ index ba33103..00f68b8 100755 ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. + 386bsd) +- basic_machine=i386-unknown ++ basic_machine=i386-pc + os=-bsd + ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) @@ -363,7 +470,7 @@ case $basic_machine in basic_machine=a29k-amd os=-udi @@ -4885,6 +5209,15 @@ index ba33103..00f68b8 100755 basic_machine=abacus-unknown ;; adobe68k) +@@ -384,7 +491,7 @@ case $basic_machine in + basic_machine=x86_64-pc + ;; + amd64-*) +- basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` ++ basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'` + ;; + amdahl) + basic_machine=580-amdahl @@ -409,6 +516,13 @@ case $basic_machine in basic_machine=m68k-apollo os=-bsd @@ -4908,7 +5241,7 @@ index ba33103..00f68b8 100755 + os=-linux + ;; + blackfin-*) -+ basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` ++ basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'` + os=-linux + ;; + bluegene*) @@ -4916,13 +5249,13 @@ index ba33103..00f68b8 100755 + os=-cnk + ;; + c54x-*) -+ basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` ++ basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'` + ;; + c55x-*) -+ basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` ++ basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'` + ;; + c6x-*) -+ basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` ++ basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'` + ;; c90) basic_machine=c90-cray @@ -4984,39 +5317,76 @@ index ba33103..00f68b8 100755 + os=$os"spe" + ;; + e500v[12]-*) -+ basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ++ basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` + os=$os"spe" + ;; ebmon29k) basic_machine=a29k-amd os=-ebmon -@@ -592,7 +754,6 @@ case $basic_machine in +@@ -578,9 +740,6 @@ case $basic_machine in + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; +- hppa-next) +- os=-nextstep3 +- ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf +@@ -592,28 +751,27 @@ case $basic_machine in i370-ibm* | ibm*) basic_machine=i370-ibm ;; -# I'm not sure what "Sysv32" means. Should this be sysv3.2? i*86v32) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` +- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` ++ basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` os=-sysv32 -@@ -631,6 +792,17 @@ case $basic_machine in + ;; + i*86v4*) +- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` ++ basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` + os=-sysv4 + ;; + i*86v) +- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` ++ basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` + os=-sysv + ;; + i*86sol2) +- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` ++ basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` + os=-solaris2 + ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; +- i386-vsta | vsta) ++ vsta) + basic_machine=i386-unknown + os=-vsta + ;; +@@ -631,8 +789,16 @@ case $basic_machine in basic_machine=m68k-isi os=-sysv ;; +- m88k-omron*) +- basic_machine=m88k-omron + leon-*|leon[3-9]-*) -+ basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` ++ basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'` + ;; + m68knommu) + basic_machine=m68k-unknown + os=-linux + ;; + m68knommu-*) -+ basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` ++ basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'` + os=-linux -+ ;; - m88k-omron*) - basic_machine=m88k-omron ;; -@@ -642,10 +814,21 @@ case $basic_machine in + magnum | m3230) + basic_machine=mips-mips +@@ -642,10 +808,21 @@ case $basic_machine in basic_machine=ns32k-utek os=-sysv ;; @@ -5039,18 +5409,24 @@ index ba33103..00f68b8 100755 miniframe) basic_machine=m68000-convergent ;; -@@ -659,10 +842,6 @@ case $basic_machine in - mips3*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown +@@ -654,14 +831,10 @@ case $basic_machine in + os=-mint ;; + mips3*-*) +- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ++ basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'` + ;; + mips3*) +- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown +- ;; - mmix*) - basic_machine=mmix-knuth - os=-mmixware -- ;; ++ basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown + ;; monitor) basic_machine=m68k-rom68k - os=-coff -@@ -671,14 +850,29 @@ case $basic_machine in +@@ -671,14 +844,29 @@ case $basic_machine in basic_machine=powerpc-unknown os=-morphos ;; @@ -5063,7 +5439,7 @@ index ba33103..00f68b8 100755 os=-msdos ;; + ms1-*) -+ basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ++ basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'` + ;; + msys) + basic_machine=i686-pc @@ -5080,7 +5456,7 @@ index ba33103..00f68b8 100755 ncr3000) basic_machine=i486-ncr os=-sysv4 -@@ -707,7 +901,7 @@ case $basic_machine in +@@ -707,7 +895,7 @@ case $basic_machine in basic_machine=v70-nec os=-sysv ;; @@ -5089,7 +5465,7 @@ index ba33103..00f68b8 100755 basic_machine=m68k-next case $os in -nextstep* ) -@@ -743,20 +937,24 @@ case $basic_machine in +@@ -743,20 +931,27 @@ case $basic_machine in np1) basic_machine=np1-gould ;; @@ -5105,6 +5481,9 @@ index ba33103..00f68b8 100755 nsr-tandem) basic_machine=nsr-tandem ;; ++ nsv-tandem) ++ basic_machine=nsv-tandem ++ ;; + nsx-tandem) + basic_machine=nsx-tandem + ;; @@ -5119,7 +5498,7 @@ index ba33103..00f68b8 100755 ;; os400) basic_machine=powerpc-ibm -@@ -778,6 +976,14 @@ case $basic_machine in +@@ -778,6 +973,14 @@ case $basic_machine in basic_machine=i860-intel os=-osf ;; @@ -5128,13 +5507,13 @@ index ba33103..00f68b8 100755 + os=-linux + ;; + parisc-*) -+ basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` ++ basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'` + os=-linux + ;; pbd) basic_machine=sparc-tti ;; -@@ -787,6 +993,12 @@ case $basic_machine in +@@ -787,6 +990,12 @@ case $basic_machine in pc532 | pc532-*) basic_machine=ns32k-pc532 ;; @@ -5142,12 +5521,32 @@ index ba33103..00f68b8 100755 + basic_machine=i386-pc + ;; + pc98-*) -+ basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` ++ basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'` + ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; -@@ -816,11 +1028,12 @@ case $basic_machine in +@@ -800,41 +1009,42 @@ case $basic_machine in + basic_machine=i786-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) +- basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ++ basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'` + ;; + pentiumpro-* | p6-* | 6x86-* | athlon-*) +- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ++ basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` + ;; + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) +- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ++ basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` + ;; + pentium4-*) +- basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` ++ basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'` + ;; + pn) + basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; @@ -5156,23 +5555,32 @@ index ba33103..00f68b8 100755 ;; - ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ppc-* | ppcbe-*) -+ basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ++ basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; - ppcle | powerpclittle | ppc-le | powerpc-little) + ppcle | powerpclittle) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) -@@ -830,7 +1043,7 @@ case $basic_machine in +- basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ++ basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; - ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ppc64) basic_machine=powerpc64-unknown + ;; +- ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ++ ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; - ppc64le | powerpc64little | ppc64-le | powerpc64-little) + ppc64le | powerpc64little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) -@@ -843,6 +1056,14 @@ case $basic_machine in +- basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ++ basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'` + ;; + ps2) + basic_machine=i386-ibm +@@ -843,6 +1053,14 @@ case $basic_machine in basic_machine=i586-unknown os=-pw32 ;; @@ -5187,7 +5595,7 @@ index ba33103..00f68b8 100755 rom68k) basic_machine=m68k-rom68k os=-coff -@@ -869,6 +1090,10 @@ case $basic_machine in +@@ -869,6 +1087,10 @@ case $basic_machine in sb1el) basic_machine=mipsisa64sb1el-unknown ;; @@ -5198,27 +5606,35 @@ index ba33103..00f68b8 100755 sei) basic_machine=mips-sei os=-seiux -@@ -880,6 +1105,9 @@ case $basic_machine in - basic_machine=sh-hitachi - os=-hms +@@ -876,14 +1098,10 @@ case $basic_machine in + sequent) + basic_machine=i386-sequent ;; +- sh) +- basic_machine=sh-hitachi +- os=-hms +- ;; +- sh64) +- basic_machine=sh64-unknown + sh5el) + basic_machine=sh5le-unknown -+ ;; - sh64) - basic_machine=sh64-unknown ;; -@@ -901,6 +1129,9 @@ case $basic_machine in +- sparclite-wrs | simso-wrs) ++ simso-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; +@@ -901,6 +1119,9 @@ case $basic_machine in basic_machine=i860-stratus os=-sysv4 ;; + strongarm-* | thumb-*) -+ basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` ++ basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'` + ;; sun2) basic_machine=m68000-sun ;; -@@ -957,17 +1188,9 @@ case $basic_machine in +@@ -957,17 +1178,9 @@ case $basic_machine in basic_machine=t90-cray os=-unicos ;; @@ -5239,17 +5655,7 @@ index ba33103..00f68b8 100755 ;; tx39) basic_machine=mipstx39-unknown -@@ -1021,6 +1244,9 @@ case $basic_machine in - basic_machine=a29k-wrs - os=-vxworks - ;; -+ wasm32) -+ basic_machine=wasm32-unknown -+ ;; - w65*) - basic_machine=w65-wdc - os=-none -@@ -1029,9 +1255,19 @@ case $basic_machine in +@@ -1029,17 +1242,23 @@ case $basic_machine in basic_machine=hppa1.1-winbond os=-proelf ;; @@ -5264,23 +5670,20 @@ index ba33103..00f68b8 100755 basic_machine=xps100-honeywell ;; + xscale-* | xscalee[bl]-*) -+ basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` ++ basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'` + ;; ymp) basic_machine=ymp-cray os=-unicos -@@ -1040,6 +1276,10 @@ case $basic_machine in - basic_machine=z8k-unknown - os=-sim ;; -+ z80-*-coff) -+ basic_machine=z80-unknown -+ os=-sim -+ ;; +- z8k-*-coff) +- basic_machine=z8k-unknown +- os=-sim +- ;; none) basic_machine=none-none os=-none -@@ -1059,6 +1299,9 @@ case $basic_machine in +@@ -1059,31 +1278,24 @@ case $basic_machine in romp) basic_machine=romp-ibm ;; @@ -5290,7 +5693,16 @@ index ba33103..00f68b8 100755 rs6000) basic_machine=rs6000-ibm ;; -@@ -1075,13 +1318,10 @@ case $basic_machine in + vax) + basic_machine=vax-dec + ;; +- pdp10) +- # there are many clones, so DEC is not a safe bet +- basic_machine=pdp10-unknown +- ;; + pdp11) + basic_machine=pdp11-dec + ;; we32k) basic_machine=we32k-att ;; @@ -5302,11 +5714,34 @@ index ba33103..00f68b8 100755 - basic_machine=sh64-unknown - ;; - sparc | sparcv8 | sparcv9 | sparcv9b) -+ sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) - basic_machine=sparc-sun - ;; +- basic_machine=sparc-sun +- ;; cydra) -@@ -1125,9 +1365,12 @@ esac + basic_machine=cydra-cydrome + ;; +@@ -1103,7 +1315,7 @@ case $basic_machine in + # Make sure to match an already-canonicalized machine name. + ;; + *) +- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 ++ echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 + exit 1 + ;; + esac +@@ -1111,10 +1323,10 @@ esac + # Here we canonicalize certain aliases for manufacturers. + case $basic_machine in + *-digital*) +- basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ++ basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'` + ;; + *-commodore*) +- basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ++ basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'` + ;; + *) + ;; +@@ -1125,49 +1337,60 @@ esac if [ x"$os" != x"" ] then case $os in @@ -5321,11 +5756,23 @@ index ba33103..00f68b8 100755 -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -@@ -1143,31 +1386,37 @@ case $os in + -solaris) + os=-solaris2 + ;; +- -svr4*) +- os=-sysv4 +- ;; + -unixware*) + os=-sysv4.2uw + ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; - # First accept the basic system types. ++ # es1800 is here to avoid being matched by es* (a different OS) ++ -es1800*) ++ os=-ose ++ ;; + # Now accept the basic system types. # The portable systems comes first. - # Each alternative MUST END IN A *, to match a version number. @@ -5343,7 +5790,7 @@ index ba33103..00f68b8 100755 | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \ -+ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ ++ | -hiux* | -knetbsd* | -mirbsd* | -netbsd* \ + | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ @@ -5352,33 +5799,53 @@ index ba33103..00f68b8 100755 - | -chorusos* | -chorusrdb* \ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \ +- | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \ + | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ + | -linux-newlib* | -linux-musl* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ ++ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ +- | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly*) ++ | -morphos* | -superux* | -rtmk* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ + | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ -+ | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*) ++ | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \ ++ | -midnightbsd*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) -@@ -1185,7 +1434,7 @@ case $os in +@@ -1184,12 +1407,12 @@ case $os in + -nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; - -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ +- -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ -+ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ ++ -sim | -xray | -os68k* | -v88r* \ ++ | -windows* | -osx | -abug | -netware* | -os9* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) -@@ -1206,7 +1455,7 @@ case $os in +- os=`echo $os | sed -e 's|mac|macos|'` ++ os=`echo "$os" | sed -e 's|mac|macos|'` + ;; + -linux-dietlibc) + os=-linux-dietlibc +@@ -1198,26 +1421,20 @@ case $os in + os=`echo $os | sed -e 's|linux|linux-gnu|'` + ;; + -sunos5*) +- os=`echo $os | sed -e 's|sunos5|solaris2|'` ++ os=`echo "$os" | sed -e 's|sunos5|solaris2|'` + ;; + -sunos6*) +- os=`echo $os | sed -e 's|sunos6|solaris3|'` ++ os=`echo "$os" | sed -e 's|sunos6|solaris3|'` + ;; -opened*) os=-openedition ;; @@ -5387,7 +5854,18 @@ index ba33103..00f68b8 100755 os=-os400 ;; -wince*) -@@ -1242,7 +1491,7 @@ case $os in + os=-wince + ;; +- -osfrose*) +- os=-osfrose +- ;; +- -osf*) +- os=-osf +- ;; + -utek*) + os=-bsd + ;; +@@ -1242,7 +1459,7 @@ case $os in -nova*) os=-rtmk-nova ;; @@ -5396,7 +5874,7 @@ index ba33103..00f68b8 100755 os=-nextstep2 ;; -nsk*) -@@ -1255,7 +1504,7 @@ case $os in +@@ -1255,7 +1472,7 @@ case $os in -sinix*) os=-sysv4 ;; @@ -5405,18 +5883,38 @@ index ba33103..00f68b8 100755 os=-tpf ;; -triton*) -@@ -1291,8 +1540,28 @@ case $os in - -aros*) - os=-aros +@@ -1264,7 +1481,7 @@ case $os in + -oss*) + os=-sysv3 ;; -- -kaos*) -- os=-kaos +- -svr4) ++ -svr4*) + os=-sysv4 + ;; + -svr3) +@@ -1279,27 +1496,38 @@ case $os in + -ose*) + os=-ose + ;; +- -es1800*) +- os=-ose +- ;; +- -xenix) +- os=-xenix +- ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint + ;; +- -aros*) +- os=-aros + -zvmoe) + os=-zvmoe + ;; + -dicos*) + os=-dicos -+ ;; + ;; +- -kaos*) +- os=-kaos + -pikeos*) + # Until real need of OS specific support for + # particular features comes up, bare metal @@ -5436,7 +5934,15 @@ index ba33103..00f68b8 100755 ;; -none) ;; -@@ -1316,6 +1585,12 @@ else + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` +- echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 ++ echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2 + exit 1 + ;; + esac +@@ -1316,6 +1544,12 @@ else # system, and we'll never get to this point. case $basic_machine in @@ -5449,7 +5955,7 @@ index ba33103..00f68b8 100755 *-acorn) os=-riscix1.2 ;; -@@ -1325,9 +1600,24 @@ case $basic_machine in +@@ -1325,9 +1559,24 @@ case $basic_machine in arm*-semi) os=-aout ;; @@ -5477,7 +5983,7 @@ index ba33103..00f68b8 100755 # This must come before the *-dec entry. pdp10-*) os=-tops20 -@@ -1346,13 +1636,13 @@ case $basic_machine in +@@ -1346,13 +1595,13 @@ case $basic_machine in ;; m68000-sun) os=-sunos3 @@ -5494,7 +6000,7 @@ index ba33103..00f68b8 100755 mips*-cisco) os=-elf ;; -@@ -1368,12 +1658,21 @@ case $basic_machine in +@@ -1368,12 +1617,18 @@ case $basic_machine in sparc-* | *-sun) os=-sunos4.1.1 ;; @@ -5504,9 +6010,6 @@ index ba33103..00f68b8 100755 *-be) os=-beos ;; -+ *-haiku) -+ os=-haiku -+ ;; *-ibm) os=-aix ;; @@ -5516,7 +6019,7 @@ index ba33103..00f68b8 100755 *-wec) os=-proelf ;; -@@ -1407,7 +1706,7 @@ case $basic_machine in +@@ -1407,7 +1662,7 @@ case $basic_machine in m88k-omron*) os=-luna ;; @@ -5525,7 +6028,17 @@ index ba33103..00f68b8 100755 os=-nextstep ;; *-sequent) -@@ -1476,7 +1775,7 @@ case $basic_machine in +@@ -1422,9 +1677,6 @@ case $basic_machine in + i370-*) + os=-mvs + ;; +- *-next) +- os=-nextstep3 +- ;; + *-gould) + os=-sysv + ;; +@@ -1476,7 +1728,7 @@ case $basic_machine in -sunos*) vendor=sun ;; @@ -5534,11 +6047,18 @@ index ba33103..00f68b8 100755 vendor=ibm ;; -beos*) -@@ -1539,10 +1838,10 @@ case $basic_machine in +@@ -1534,15 +1786,15 @@ case $basic_machine in + vendor=stratus + ;; + esac +- basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ++ basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"` + ;; esac - echo $basic_machine$os +-echo $basic_machine$os -exit 0 ++echo "$basic_machine$os" +exit # Local variables: @@ -5861,7 +6381,7 @@ index 8020f6d..705e277 100644 if (cookie->commentURL->length == 0) cookie->commentURL = NULL; diff --git a/display.c b/display.c -index e00eb0c..f1d6f99 100644 +index e00eb0c..e62d07f 100644 --- a/display.c +++ b/display.c @@ -257,7 +257,7 @@ make_lastline_link(Buffer *buf, char *title, char *url) @@ -5882,7 +6402,18 @@ index e00eb0c..f1d6f99 100644 drawImage(); } #endif -@@ -521,7 +521,15 @@ drawAnchorCursor0(Buffer *buf, AnchorList *al, int hseq, int prevhseq, +@@ -497,6 +497,10 @@ displayBuffer(Buffer *buf, int mode) + save_current_buf = buf; + } + #endif ++ if (mode == B_FORCE_REDRAW && (buf->check_url & CHK_URL) ) { ++ chkURLBuffer(buf); ++ displayBuffer(buf, B_NORMAL); ++ } + } + + static void +@@ -521,7 +525,15 @@ drawAnchorCursor0(Buffer *buf, AnchorList *al, int hseq, int prevhseq, break; } if (hseq >= 0 && an->hseq == hseq) { @@ -5898,7 +6429,7 @@ index e00eb0c..f1d6f99 100644 if (l->propBuf[i] & (PE_IMAGE | PE_ANCHOR | PE_FORM)) { if (active) l->propBuf[i] |= PE_ACTIVE; -@@ -529,9 +537,9 @@ drawAnchorCursor0(Buffer *buf, AnchorList *al, int hseq, int prevhseq, +@@ -529,9 +541,9 @@ drawAnchorCursor0(Buffer *buf, AnchorList *al, int hseq, int prevhseq, l->propBuf[i] &= ~PE_ACTIVE; } } @@ -5910,7 +6441,7 @@ index e00eb0c..f1d6f99 100644 } else if (prevhseq >= 0 && an->hseq == prevhseq) { if (active) -@@ -855,14 +863,16 @@ redrawLineImage(Buffer *buf, Line *l, int i) +@@ -855,14 +867,16 @@ redrawLineImage(Buffer *buf, Line *l, int i) y = (int)(i * pixel_per_line); sx = (int)((rcol - COLPOS(l, a->start.pos)) * pixel_per_char); sy = (int)((l->linenumber - image->y) * pixel_per_line); @@ -5935,7 +6466,7 @@ index e00eb0c..f1d6f99 100644 if (image->width > 0) w = image->width - sx; else -@@ -1119,18 +1129,18 @@ addChar(char c, Lineprop mode) +@@ -1119,18 +1133,18 @@ addChar(char c, Lineprop mode) } #ifdef USE_M17N if (w == 2 && WcOption.use_wide) @@ -13847,18 +14378,80 @@ index 324ea3e..60d6d19 100644 http://w3m.sourceforge.net/ + https://sourceforge.net/projects/w3m/ diff --git a/doc/README.cookie b/doc/README.cookie -index 56cca50..da16947 100644 +index 56cca50..71523e0 100644 --- a/doc/README.cookie +++ b/doc/README.cookie +@@ -9,21 +9,21 @@ cookie support of w3m + http://www.ics.uci.edu/pub/ietf/http/draft-ietf-http-state-man-mec-12.txt) + cookie. + +- * If you wont to disable cookie support, run configure script with ++ * If you want to disable cookie support, run the configure script with + --disable-cookie option. + +- * You can choose to use cookie or not on the Option Setting Panel or ++ * You can choose to use cookies or not on the Option Setting Panel or + -cookie and -no-cookie option. + +- * You can disable cookie on the Option Setting Panel. In this case +- all cookies are rejected, however, cookies which accepted before +- disable cookie are used. ++ * You can disable cookies on the Option Setting Panel. In this case ++ all new cookies are rejected, however, cookies which were accepted before ++ cookies were disabled are used. + +- * You can see list of accepted cookies with C-k. In this panel, you ++ * You can see the list of accepted cookies with C-k. In this panel, you + can choose to use each cookie or not. + +- * You can specify domains accept or not accept cookies on the Option +- Setting Panel. Domains are specified with following format. ++ * You can specify domains from which to accept or not accept cookies ++ on the Option Setting Panel. Domains are specified in the following format: + + domain-list = domains + | "" @@ -37,7 +37,7 @@ cookie support of w3m (HDN: host domain name) - ¡¦ If the number of "." in domain name is lesser than 2, it is -+ * If the number of "." in domain name is lesser than 2, it is ++ * If the number of "." in domain name is fewer than 2, it is assumed as invalid cookie (cf. RFC 2109 4.3.2), however, you can use cookie_avoid_wrong_number_of_dots to avoid this restriction. You can set this in "Domains to avoid [wrong number +diff --git a/doc/README.dict b/doc/README.dict +index bd82cdb..88f4b1a 100644 +--- a/doc/README.dict ++++ b/doc/README.dict +@@ -2,14 +2,14 @@ Dictionary look-up hack for w3m + + 1. INTRODUCTION + +-If you have dictionary look-up command (like 'webster'), you can +-look a word in a document using w3m. This dictionary-lookup code ++If you have a dictionary look-up command (such as 'webster'), you can ++look up words in a document using w3m. This dictionary-lookup code + was contributed by `Rubikitch' (rubikitch@ruby-lang.org), and +-further modifed by Tushar Samant (scribble at pobox.com). ++further modified by Tushar Samant (scribble at pobox.com). + + 2. INSTALLATION + +-To make use of dictionary look-up, you currently must change a ++To make use of the dictionary look-up, you currently must change a + compile option by hand. After running configure, edit config.h + and change + +@@ -19,7 +19,7 @@ to + + #define USE_DICT + +-and recompile w3me (i.e. type "make install"). ++and recompile w3m (i.e. type "make install"). + Note that w3m/0.3+cvs-1.373 or later, USE_DICT is defined by default. + + Then find or install a CGI program which takes a word as a query diff --git a/doc/README.func b/doc/README.func index 0b2c034..a3ef3ac 100644 --- a/doc/README.func @@ -14137,9 +14730,20 @@ index 0b2c034..a3ef3ac 100644 +WHEREIS Search forward +WRAP_TOGGLE Toggle wrapping mode in searches diff --git a/doc/README.img b/doc/README.img -index 0c10114..f11362f 100644 +index 0c10114..af6d9db 100644 --- a/doc/README.img +++ b/doc/README.img +@@ -11,8 +11,8 @@ Introduction + + Support + +- * Display inline image (GIF,PNG,JPEG, etc.) on terminals +- (xterm,rxvt, etc.) of X11, Linux framebuffer device or ++ * Display inline images (GIF, PNG, JPEG, etc.) on terminals ++ (xterm, rxvt, etc.) of X11, Linux framebuffer device or + terminals of Windows. + * Support inline image of tag. + Support of attributes "width", "height", and "align". @@ -41,7 +41,7 @@ Key functions Specify the following keymaps in ~/.w3m/keymap. keymap X DISPLAY_IMAGE @@ -14149,6 +14753,53 @@ index 0c10114..f11362f 100644 Commandline options +@@ -66,7 +66,7 @@ Option panel + Automatic loading of inline image. The default is ON. + If it is OFF, loading starts with a command DISPLAY_IMAGE. + max_load_image +- Maximum process for downloading of inline image. The default is 4. ++ Maximum # of processes for downloading inline images. The default is 4. + 1 to 8 can be set. + ext_image_viewer + Use external image viewer, when a command VIEW_IMAGE or +@@ -75,8 +75,8 @@ Option panel + image_scale + Scale of image (%). The default value is 100(%). + imgdisplay +- External command to display image". The default value is "w3mimgdisplay". +- See "Setting w3mimgdisplay". ++ External command to display image. The default value is "w3mimgdisplay". ++ See "Setting w3mimgdisplay." + + Required programs + +@@ -124,8 +124,8 @@ Setting w3mimgdisplay + The default value for Linux framebuffer device is #000000 (black). + When the color is specified as #RRGGBB, escape '#'. + -anim +- Maximum number of frames for animation. It means without limit +- if the number is 0. Negative value count backward from the end ++ Maximum number of frames for animation. It will run everything ++ if the number is 0. Negative values count backward from the end + of the frames. The default value is 100. + -margin + Margin of an area to clear an image. The default value is 0. +@@ -135,13 +135,13 @@ Setting w3mimgdisplay + + Notice + If you want to see GIF animation, please hit a suitable key, such +- as 'h', 'l', etc., repeatedly, because a frame is rewritten ++ as 'h', 'l', etc., repeatedly, because a new frame is only requested + according to the re-drawing demand from w3m. + + Some code in w3mimg/fb/fb.c was originally written by Mr. Yamasaki. + http://www.sainet.or.jp/~yamasaki/download/fb-sample.tar.gz + +- On Windows, we check the behaver on standard console, Cygwin rxvt ++ On Windows, we check the behavior on standard console, Cygwin rxvt + and PuTTY. + + diff --git a/doc/README.m17n b/doc/README.m17n index c064d76..da5408b 100644 --- a/doc/README.m17n @@ -14162,6 +14813,57 @@ index c064d76..da5408b 100644 KOI8-R, KOI8-U, NeXT, CP437, CP737, CP775, CP850, CP852, CP855, CP856, CP857, CP860, CP861, CP862, CP863, CP864, CP865, CP866, CP869, CP1006, CP1250, CP1251, CP1252, CP1253, CP1254, CP1255, CP1256, CP1257 +diff --git a/doc/README.pre_form b/doc/README.pre_form +index 972ef90..dad62f8 100644 +--- a/doc/README.pre_form ++++ b/doc/README.pre_form +@@ -1,12 +1,12 @@ +-pre_form: Feature to configure form parameters when opening specific site. ++pre_form: Feature to pre-fill form parameters when opening a specific site. + +-It would be convinient for sites where you often visit, but it may introduce +-some security issues. Be careful to use this feature, especially `submit' ++It is convenient for sites that you visit often, but it may introduce ++some security issues. Be careful when using this feature, especially `submit' + params described below. + + Default configuration file for pre_form is ~/.w3m/pre_form. + +-Syntax as follows: ++The syntax of entries in the configuration file is as follows: + + url |// + form [] +@@ -23,21 +23,21 @@ textarea + : + /textarea + +-If is set, form which has matched attributes ++If is set, a form which has matched attributes + will be configured by this pre_form. + +-The line begining with text, file, passwd, select, textarea means that ++A line beginning with text, file, passwd, select, textarea means that + it will set value to in input, select or textarea element which + name attribute matches with . + +-The line beginning with checkbox, radio means that it will check ++A line beginning with checkbox, radio means that it will check + input element which name and value attribute matches with and +-respectively. If is 0, no, or off, disable check of the checkbox. ++respectively. If is 0, no, or off, the checkbox will be unchecked. + +-The line beginning with submit or image means that it will submit input +-element which name attribute matches with (and value attribute +-matches with ), or submit last element if no +- specified. ++A line beginning with submit or image means that it will submit input ++element whose name attribute matches with (and value attribute ++matches with ), or submit on the last element if no ++ was specified. + + You quote \, ' (single-quote) or " (double quote) as you do in shell. + diff --git a/doc/README.siteconf b/doc/README.siteconf new file mode 100644 index 0000000..39b1028 @@ -14817,7 +15519,7 @@ index 8fe1215..37c4f15 100644 QuietMessage = TRUE; fmInitialized = FALSE; diff --git a/file.c b/file.c -index 567d41e..9b0e947 100644 +index 567d41e..0333e9a 100644 --- a/file.c +++ b/file.c @@ -26,6 +26,8 @@ @@ -14928,7 +15630,20 @@ index 567d41e..9b0e947 100644 int matchattr(char *p, char *attr, int len, Str *value) { -@@ -694,6 +679,7 @@ readHeader(URLFile *uf, Buffer *newBuf, int thru, ParsedURL *pu) +@@ -626,8 +611,10 @@ readHeader(URLFile *uf, Buffer *newBuf, int thru, ParsedURL *pu) + if(w3m_reqlog){ + FILE *ff; + ff = fopen(w3m_reqlog, "a"); +- Strfputs(tmp, ff); +- fclose(ff); ++ if(ff){ ++ Strfputs(tmp, ff); ++ fclose(ff); ++ } + } + if (src) + Strfputs(tmp, src); +@@ -694,6 +681,7 @@ readHeader(URLFile *uf, Buffer *newBuf, int thru, ParsedURL *pu) #endif init_stream(&f, SCM_LOCAL, newStrStream(src)); loadHTMLstream(&f, newBuf, NULL, TRUE); @@ -14936,7 +15651,7 @@ index 567d41e..9b0e947 100644 for (l = newBuf->lastLine; l && l->real_linenumber; l = l->prev) l->real_linenumber = 0; -@@ -1244,6 +1230,7 @@ AuthDigestCred(struct http_auth *ha, Str uname, Str pw, ParsedURL *pu, +@@ -1244,6 +1232,7 @@ AuthDigestCred(struct http_auth *ha, Str uname, Str pw, ParsedURL *pu, unsigned char md5[MD5_DIGEST_LENGTH + 1]; Str uri = HTTPrequestURI(pu, hr); char nc[] = "00000001"; @@ -14944,7 +15659,7 @@ index 567d41e..9b0e947 100644 Str algorithm = qstr_unquote(get_auth_param(ha->param, "algorithm")); Str nonce = qstr_unquote(get_auth_param(ha->param, "nonce")); -@@ -1326,10 +1313,11 @@ AuthDigestCred(struct http_auth *ha, Str uname, Str pw, ParsedURL *pu, +@@ -1326,10 +1315,11 @@ AuthDigestCred(struct http_auth *ha, Str uname, Str pw, ParsedURL *pu, /* A2 = Method ":" digest-uri-value ":" H(entity-body) */ if (request && request->body) { if (request->method == FORM_METHOD_POST && request->enctype == FORM_ENCTYPE_MULTIPART) { @@ -14957,7 +15672,7 @@ index 567d41e..9b0e947 100644 MD5(ebody->ptr, strlen(ebody->ptr), md5); } else { -@@ -1697,13 +1685,15 @@ getLinkNumberStr(int correction) +@@ -1697,13 +1687,15 @@ getLinkNumberStr(int correction) /* * loadGeneralFile: load file to buffer */ @@ -14974,7 +15689,7 @@ index 567d41e..9b0e947 100644 char *volatile tpath; char *volatile t = "text/plain", *p, *volatile real_type = NULL; Buffer *volatile t_buf = NULL; -@@ -1730,7 +1720,22 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer, +@@ -1730,7 +1722,22 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer, add_auth_cookie_flag = 0; checkRedirection(NULL); @@ -14997,7 +15712,7 @@ index 567d41e..9b0e947 100644 TRAP_OFF; url_option.referer = referer; url_option.flag = flag; -@@ -1863,7 +1868,7 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer, +@@ -1863,7 +1870,7 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer, /* 302: Found */ /* 303: See Other */ /* 307: Temporary Redirect (HTTP/1.1) */ @@ -15006,7 +15721,7 @@ index 567d41e..9b0e947 100644 request = NULL; UFclose(&f); current = New(ParsedURL); -@@ -2022,7 +2027,7 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer, +@@ -2022,7 +2029,7 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer, if (f.is_cgi && (p = checkHeader(t_buf, "Location:")) != NULL && checkRedirection(&pu)) { /* document moved */ @@ -15015,7 +15730,7 @@ index 567d41e..9b0e947 100644 request = NULL; UFclose(&f); add_auth_cookie_flag = 0; -@@ -2123,10 +2128,6 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer, +@@ -2123,10 +2130,6 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer, if (real_type == NULL) real_type = t; proc = loadBuffer; @@ -15026,7 +15741,7 @@ index 567d41e..9b0e947 100644 current_content_length = 0; if ((p = checkHeader(t_buf, "Content-Length:")) != NULL) -@@ -2197,18 +2198,8 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer, +@@ -2197,18 +2200,8 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer, #endif else if (w3m_backend) ; else if (!(w3m_dump & ~DUMP_FRAME) || is_dump_text_type(t)) { @@ -15047,7 +15762,7 @@ index 567d41e..9b0e947 100644 } else { TRAP_OFF; -@@ -2232,36 +2223,30 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer, +@@ -2232,36 +2225,30 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer, else if (w3m_dump & DUMP_FRAME) return NULL; @@ -15098,7 +15813,7 @@ index 567d41e..9b0e947 100644 if (pu.label) { if (proc == loadHTMLBuffer) { Anchor *a; -@@ -2287,10 +2272,11 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer, +@@ -2287,10 +2274,11 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer, if (header_string) header_string = NULL; #ifdef USE_NNTP @@ -15112,7 +15827,7 @@ index 567d41e..9b0e947 100644 TRAP_OFF; return b; } -@@ -2325,8 +2311,12 @@ push_link(int cmd, int offset, int pos) +@@ -2325,8 +2313,12 @@ push_link(int cmd, int offset, int pos) struct link_stack *p; p = New(struct link_stack); p->cmd = cmd; @@ -15127,7 +15842,7 @@ index 567d41e..9b0e947 100644 p->next = link_stack; link_stack = p; } -@@ -2469,6 +2459,7 @@ set_breakpoint(struct readbuffer *obuf, int tag_length) +@@ -2469,6 +2461,7 @@ set_breakpoint(struct readbuffer *obuf, int tag_length) bcopy((void *)&obuf->anchor, (void *)&obuf->bp.anchor, sizeof(obuf->anchor)); obuf->bp.img_alt = obuf->img_alt; @@ -15135,7 +15850,7 @@ index 567d41e..9b0e947 100644 obuf->bp.in_bold = obuf->in_bold; obuf->bp.in_italic = obuf->in_italic; obuf->bp.in_under = obuf->in_under; -@@ -2486,6 +2477,7 @@ back_to_breakpoint(struct readbuffer *obuf) +@@ -2486,6 +2479,7 @@ back_to_breakpoint(struct readbuffer *obuf) bcopy((void *)&obuf->bp.anchor, (void *)&obuf->anchor, sizeof(obuf->anchor)); obuf->img_alt = obuf->bp.img_alt; @@ -15143,7 +15858,7 @@ index 567d41e..9b0e947 100644 obuf->in_bold = obuf->bp.in_bold; obuf->in_italic = obuf->bp.in_italic; obuf->in_under = obuf->bp.in_under; -@@ -2729,7 +2721,7 @@ flushline(struct html_feed_environ *h_env, struct readbuffer *obuf, int indent, +@@ -2729,7 +2723,7 @@ flushline(struct html_feed_environ *h_env, struct readbuffer *obuf, int indent, Str line = obuf->line, pass = NULL; char *hidden_anchor = NULL, *hidden_img = NULL, *hidden_bold = NULL, *hidden_under = NULL, *hidden_italic = NULL, *hidden_strike = NULL, @@ -15152,7 +15867,7 @@ index 567d41e..9b0e947 100644 #ifdef DEBUG if (w3m_debug) { -@@ -2761,6 +2753,12 @@ flushline(struct html_feed_environ *h_env, struct readbuffer *obuf, int indent, +@@ -2761,6 +2755,12 @@ flushline(struct html_feed_environ *h_env, struct readbuffer *obuf, int indent, hidden = hidden_img; } } @@ -15165,7 +15880,7 @@ index 567d41e..9b0e947 100644 if (obuf->in_bold) { if ((hidden_bold = has_hidden_link(obuf, HTML_B)) != NULL) { if (!hidden || hidden_bold < hidden) -@@ -2812,6 +2810,8 @@ flushline(struct html_feed_environ *h_env, struct readbuffer *obuf, int indent, +@@ -2812,6 +2812,8 @@ flushline(struct html_feed_environ *h_env, struct readbuffer *obuf, int indent, Strcat_charp(line, ""); if (obuf->img_alt && !hidden_img) Strcat_charp(line, ""); @@ -15174,7 +15889,7 @@ index 567d41e..9b0e947 100644 if (obuf->in_bold && !hidden_bold) Strcat_charp(line, ""); if (obuf->in_italic && !hidden_italic) -@@ -3022,6 +3022,18 @@ flushline(struct html_feed_environ *h_env, struct readbuffer *obuf, int indent, +@@ -3022,6 +3024,18 @@ flushline(struct html_feed_environ *h_env, struct readbuffer *obuf, int indent, Strcat_charp(tmp, "\">"); push_tag(obuf, tmp->ptr, HTML_IMG_ALT); } @@ -15193,7 +15908,7 @@ index 567d41e..9b0e947 100644 if (!hidden_bold && obuf->in_bold) push_tag(obuf, "", HTML_B); if (!hidden_italic && obuf->in_italic) -@@ -3228,7 +3240,7 @@ process_img(struct parsed_tag *tag, int width) +@@ -3228,7 +3242,7 @@ process_img(struct parsed_tag *tag, int width) if (!parsedtag_get_value(tag, ATTR_SRC, &p)) return tmp; @@ -15202,7 +15917,7 @@ index 567d41e..9b0e947 100644 q = NULL; parsedtag_get_value(tag, ATTR_ALT, &q); if (!pseudoInlines && (q == NULL || (*q == '\0' && ignore_null_img_alt))) -@@ -3255,9 +3267,9 @@ process_img(struct parsed_tag *tag, int width) +@@ -3255,9 +3269,9 @@ process_img(struct parsed_tag *tag, int width) } #endif } @@ -15213,7 +15928,7 @@ index 567d41e..9b0e947 100644 if (parsedtag_get_value(tag, ATTR_HEIGHT, &i)) { if (i > 0) { i = (int)(i * image_scale / 100 + 0.5); -@@ -3322,12 +3334,7 @@ process_img(struct parsed_tag *tag, int width) +@@ -3322,12 +3336,7 @@ process_img(struct parsed_tag *tag, int width) Image image; ParsedURL u; @@ -15226,7 +15941,7 @@ index 567d41e..9b0e947 100644 image.url = parsedURL2Str(&u)->ptr; if (!uncompressed_file_type(u.file, &image.ext)) image.ext = filename_extension(u.file, TRUE); -@@ -3346,8 +3353,14 @@ process_img(struct parsed_tag *tag, int width) +@@ -3346,8 +3355,14 @@ process_img(struct parsed_tag *tag, int width) if (i < 0) i = pixel_per_line; } @@ -15243,7 +15958,7 @@ index 567d41e..9b0e947 100644 Strcat(tmp, Sprintf("= 0) Strcat(tmp, Sprintf(" height=%d", i0)); switch (align) { @@ -15273,7 +15988,7 @@ index 567d41e..9b0e947 100644 case ALIGN_BOTTOM: top = ni - 1; bottom = 0; -@@ -3408,7 +3423,12 @@ process_img(struct parsed_tag *tag, int width) +@@ -3408,7 +3425,12 @@ process_img(struct parsed_tag *tag, int width) } break; } @@ -15287,7 +16002,7 @@ index 567d41e..9b0e947 100644 if (xoffset) Strcat(tmp, Sprintf(" xoffset=%d", xoffset)); if (yoffset) -@@ -3435,7 +3455,7 @@ process_img(struct parsed_tag *tag, int width) +@@ -3435,7 +3457,7 @@ process_img(struct parsed_tag *tag, int width) if (use_image) { if (n > nw) { char *r; @@ -15296,7 +16011,7 @@ index 567d41e..9b0e947 100644 if (n + get_mcwidth(r) > nw) break; } -@@ -3548,7 +3568,7 @@ process_anchor(struct parsed_tag *tag, char *tagbuf) +@@ -3548,7 +3570,7 @@ process_anchor(struct parsed_tag *tag, char *tagbuf) Str process_input(struct parsed_tag *tag) { @@ -15305,7 +16020,7 @@ index 567d41e..9b0e947 100644 char *q, *p, *r, *p2, *s; Str tmp = NULL; char *qq = ""; -@@ -3567,9 +3587,9 @@ process_input(struct parsed_tag *tag) +@@ -3567,9 +3589,9 @@ process_input(struct parsed_tag *tag) parsedtag_get_value(tag, ATTR_VALUE, &q); r = ""; parsedtag_get_value(tag, ATTR_NAME, &r); @@ -15318,7 +16033,7 @@ index 567d41e..9b0e947 100644 parsedtag_get_value(tag, ATTR_MAXLENGTH, &i); p2 = NULL; parsedtag_get_value(tag, ATTR_ALT, &p2); -@@ -3623,9 +3643,10 @@ process_input(struct parsed_tag *tag) +@@ -3623,9 +3645,10 @@ process_input(struct parsed_tag *tag) Strcat(tmp, getLinkNumberStr(0)); Strcat_char(tmp, '('); } @@ -15331,7 +16046,7 @@ index 567d41e..9b0e947 100644 if (x) Strcat_charp(tmp, " checked"); if (y) -@@ -3670,18 +3691,18 @@ process_input(struct parsed_tag *tag) +@@ -3670,18 +3693,18 @@ process_input(struct parsed_tag *tag) case FORM_INPUT_PASSWORD: i = 0; if (q) { @@ -15354,7 +16069,7 @@ index 567d41e..9b0e947 100644 Strcat_char(tmp, ' '); } break; -@@ -3731,6 +3752,75 @@ process_input(struct parsed_tag *tag) +@@ -3731,6 +3754,75 @@ process_input(struct parsed_tag *tag) return tmp; } @@ -15430,7 +16145,7 @@ index 567d41e..9b0e947 100644 Str process_select(struct parsed_tag *tag) { -@@ -3926,7 +4016,7 @@ process_textarea(struct parsed_tag *tag, int width) +@@ -3926,7 +4018,7 @@ process_textarea(struct parsed_tag *tag, int width) cur_textarea_size = 20; if (parsedtag_get_value(tag, ATTR_COLS, &p)) { cur_textarea_size = atoi(p); @@ -15439,7 +16154,7 @@ index 567d41e..9b0e947 100644 cur_textarea_size = width * cur_textarea_size / 100 - 2; if (cur_textarea_size <= 0) { cur_textarea_size = 20; -@@ -4003,7 +4093,9 @@ feed_textarea(char *str) +@@ -4003,7 +4095,9 @@ feed_textarea(char *str) Strcat_charp(textarea_str[n_textarea], "\r\n"); str++; } @@ -15450,7 +16165,7 @@ index 567d41e..9b0e947 100644 Strcat_char(textarea_str[n_textarea], *(str++)); } } -@@ -4084,6 +4176,7 @@ process_form_int(struct parsed_tag *tag, int fid) +@@ -4084,6 +4178,7 @@ process_form_int(struct parsed_tag *tag, int fid) parsedtag_get_value(tag, ATTR_METHOD, &p); q = "!CURRENT_URL!"; parsedtag_get_value(tag, ATTR_ACTION, &q); @@ -15458,7 +16173,7 @@ index 567d41e..9b0e947 100644 r = NULL; #ifdef USE_M17N if (parsedtag_get_value(tag, ATTR_ACCEPT_CHARSET, &r)) -@@ -4113,7 +4206,7 @@ process_form_int(struct parsed_tag *tag, int fid) +@@ -4113,7 +4208,7 @@ process_form_int(struct parsed_tag *tag, int fid) forms = New_N(FormList *, forms_size); form_stack = NewAtom_N(int, forms_size); } @@ -15467,7 +16182,7 @@ index 567d41e..9b0e947 100644 forms_size += form_max; forms = New_Reuse(FormList *, forms, forms_size); form_stack = New_Reuse(int, form_stack, forms_size); -@@ -4284,15 +4377,16 @@ getMetaRefreshParam(char *q, Str *refresh_uri) +@@ -4284,15 +4379,16 @@ getMetaRefreshParam(char *q, Str *refresh_uri) while (*q) { if (!strncasecmp(q, "url=", 4)) { q += 4; @@ -15487,7 +16202,7 @@ index 567d41e..9b0e947 100644 s_tmp->length--; s_tmp->ptr[s_tmp->length] = '\0'; } -@@ -4599,6 +4693,12 @@ HTMLtagproc1(struct parsed_tag *tag, struct html_feed_environ *h_env) +@@ -4599,6 +4695,12 @@ HTMLtagproc1(struct parsed_tag *tag, struct html_feed_environ *h_env) case HTML_DD: CLOSE_A; CLOSE_DT; @@ -15500,7 +16215,7 @@ index 567d41e..9b0e947 100644 if (envs[h_env->envc].env == HTML_DL_COMPACT) { if (obuf->pos > envs[h_env->envc].indent) flushline(h_env, obuf, envs[h_env->envc].indent, 0, -@@ -4833,13 +4933,13 @@ HTMLtagproc1(struct parsed_tag *tag, struct html_feed_environ *h_env) +@@ -4833,13 +4935,13 @@ HTMLtagproc1(struct parsed_tag *tag, struct html_feed_environ *h_env) #ifdef USE_IMAGE i = 0; if (parsedtag_get_value(tag, ATTR_TOP_MARGIN, &i)) { @@ -15518,7 +16233,7 @@ index 567d41e..9b0e947 100644 } #endif return 0; -@@ -4853,15 +4953,43 @@ HTMLtagproc1(struct parsed_tag *tag, struct html_feed_environ *h_env) +@@ -4853,15 +4955,43 @@ HTMLtagproc1(struct parsed_tag *tag, struct html_feed_environ *h_env) case HTML_INPUT_ALT: i = 0; if (parsedtag_get_value(tag, ATTR_TOP_MARGIN, &i)) { @@ -15566,7 +16281,7 @@ index 567d41e..9b0e947 100644 case HTML_TABLE: close_anchor(h_env, obuf); obuf->table_level++; -@@ -4884,6 +5012,8 @@ HTMLtagproc1(struct parsed_tag *tag, struct html_feed_environ *h_env) +@@ -4884,6 +5014,8 @@ HTMLtagproc1(struct parsed_tag *tag, struct html_feed_environ *h_env) else w = BORDER_THIN; } @@ -15575,7 +16290,7 @@ index 567d41e..9b0e947 100644 if (parsedtag_get_value(tag, ATTR_WIDTH, &i)) { if (obuf->table_level == 0) width = REAL_WIDTH(i, h_env->limit - envs[h_env->envc].indent); -@@ -4892,9 +5022,24 @@ HTMLtagproc1(struct parsed_tag *tag, struct html_feed_environ *h_env) +@@ -4892,9 +5024,24 @@ HTMLtagproc1(struct parsed_tag *tag, struct html_feed_environ *h_env) } if (parsedtag_exists(tag, ATTR_HBORDER)) w = BORDER_NOWIN; @@ -15600,7 +16315,7 @@ index 567d41e..9b0e947 100644 #ifdef ID_EXT parsedtag_get_value(tag, ATTR_ID, &id); #endif /* ID_EXT */ -@@ -4970,6 +5115,16 @@ HTMLtagproc1(struct parsed_tag *tag, struct html_feed_environ *h_env) +@@ -4970,6 +5117,16 @@ HTMLtagproc1(struct parsed_tag *tag, struct html_feed_environ *h_env) case HTML_INPUT: close_anchor(h_env, obuf); tmp = process_input(tag); @@ -15617,7 +16332,7 @@ index 567d41e..9b0e947 100644 if (tmp) HTMLlineproc1(tmp->ptr, h_env); return 1; -@@ -5067,11 +5222,10 @@ HTMLtagproc1(struct parsed_tag *tag, struct html_feed_environ *h_env) +@@ -5067,11 +5224,10 @@ HTMLtagproc1(struct parsed_tag *tag, struct html_feed_environ *h_env) } return 1; case HTML_BASE: @@ -15631,7 +16346,7 @@ index 567d41e..9b0e947 100644 parseURL(p, cur_baseURL, NULL); } #endif -@@ -5329,6 +5483,13 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) +@@ -5329,6 +5485,13 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) #ifdef MENU_SELECT Anchor **a_select = NULL; #endif @@ -15645,7 +16360,7 @@ index 567d41e..9b0e947 100644 if (out_size == 0) { out_size = LINELEN; -@@ -5523,16 +5684,17 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) +@@ -5523,16 +5686,17 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) hseq = 0; id = NULL; if (parsedtag_get_value(tag, ATTR_NAME, &id)) { @@ -15667,7 +16382,7 @@ index 567d41e..9b0e947 100644 parsedtag_get_value(tag, ATTR_TITLE, &s); parsedtag_get_value(tag, ATTR_ACCESSKEY, &t); parsedtag_get_value(tag, ATTR_HSEQ, &hseq); -@@ -5571,7 +5733,7 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) +@@ -5571,7 +5735,7 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) a_href->end.pos = pos; if (a_href->start.line == a_href->end.line && a_href->start.pos == a_href->end.pos) { @@ -15676,7 +16391,7 @@ index 567d41e..9b0e947 100644 a_href->hseq < buf->hmarklist->nmark) buf->hmarklist->marks[a_href->hseq].invalid = 1; a_href->hseq = -1; -@@ -5618,7 +5780,7 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) +@@ -5618,7 +5782,7 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) ParsedURL u; Image *image; @@ -15685,7 +16400,7 @@ index 567d41e..9b0e947 100644 a_img->image = image = New(Image); image->url = parsedURL2Str(&u)->ptr; if (!uncompressed_file_type(u.file, &image->ext)) -@@ -5639,7 +5801,7 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) +@@ -5639,7 +5803,7 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) image->map = q; image->ismap = ismap; image->touch = 0; @@ -15694,7 +16409,7 @@ index 567d41e..9b0e947 100644 IMG_FLAG_SKIP); } else if (iseq < 0) { -@@ -5678,7 +5840,8 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) +@@ -5678,7 +5842,8 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) parsedtag_get_value(tag, ATTR_FID, &form_id); parsedtag_get_value(tag, ATTR_TOP_MARGIN, &top); parsedtag_get_value(tag, ATTR_BOTTOM_MARGIN, &bottom); @@ -15704,7 +16419,7 @@ index 567d41e..9b0e947 100644 break; /* outside of
..
*/ form = forms[form_id]; if (hseq > 0) { -@@ -5689,6 +5852,21 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) +@@ -5689,6 +5854,21 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) putHmarker(buf->hmarklist, currentLn(buf), hpos, hseq - 1); } @@ -15726,7 +16441,7 @@ index 567d41e..9b0e947 100644 if (!form->target) form->target = buf->baseTarget; if (a_textarea && -@@ -5761,8 +5939,8 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) +@@ -5761,8 +5941,8 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) break; if (parsedtag_get_value(tag, ATTR_HREF, &p)) { MapArea *a; @@ -15737,7 +16452,7 @@ index 567d41e..9b0e947 100644 t = NULL; parsedtag_get_value(tag, ATTR_TARGET, &t); q = ""; -@@ -5811,11 +5989,14 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) +@@ -5811,11 +5991,14 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) break; case HTML_BASE: if (parsedtag_get_value(tag, ATTR_HREF, &p)) { @@ -15755,7 +16470,7 @@ index 567d41e..9b0e947 100644 } if (parsedtag_get_value(tag, ATTR_TARGET, &p)) buf->baseTarget = -@@ -5830,8 +6011,8 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) +@@ -5830,8 +6013,8 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) int refresh_interval = getMetaRefreshParam(q, &tmp); #ifdef USE_ALARM if (tmp) { @@ -15766,7 +16481,7 @@ index 567d41e..9b0e947 100644 buf->event = setAlarmEvent(buf->event, refresh_interval, AL_IMPLICIT_ONCE, -@@ -5844,8 +6025,8 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) +@@ -5844,8 +6027,8 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) FUNCNAME_reload, NULL); #else if (tmp && refresh_interval == 0) { @@ -15777,7 +16492,7 @@ index 567d41e..9b0e947 100644 pushEvent(FUNCNAME_gorURL, p); } #endif -@@ -5864,14 +6045,14 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) +@@ -5864,14 +6047,14 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) case HTML_TEXTAREA_INT: if (parsedtag_get_value(tag, ATTR_TEXTAREANUMBER, &n_textarea) @@ -15794,7 +16509,7 @@ index 567d41e..9b0e947 100644 FormItemList *item = (FormItemList *)a_textarea[n_textarea]->url; item->init_value = item->value = -@@ -5881,7 +6062,7 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) +@@ -5881,7 +6064,7 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) #ifdef MENU_SELECT case HTML_SELECT_INT: if (parsedtag_get_value(tag, ATTR_SELECTNUMBER, &n_select) @@ -15803,7 +16518,7 @@ index 567d41e..9b0e947 100644 select_option[n_select].first = NULL; select_option[n_select].last = NULL; } -@@ -5889,7 +6070,7 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) +@@ -5889,7 +6072,7 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) n_select = -1; break; case HTML_N_SELECT_INT: @@ -15812,7 +16527,7 @@ index 567d41e..9b0e947 100644 FormItemList *item = (FormItemList *)a_select[n_select]->url; item->select_option = select_option[n_select].first; -@@ -5929,7 +6110,7 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) +@@ -5929,7 +6112,7 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) #ifdef ID_EXT id = NULL; if (parsedtag_get_value(tag, ATTR_ID, &id)) { @@ -15821,7 +16536,7 @@ index 567d41e..9b0e947 100644 registerName(buf, id, currentLn(buf), pos); } if (renderFrameSet && -@@ -5964,7 +6145,8 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) +@@ -5964,7 +6147,8 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) fclose(debug); #endif for (form_id = 1; form_id <= form_max; form_id++) @@ -15831,7 +16546,7 @@ index 567d41e..9b0e947 100644 buf->formlist = (form_max >= 0) ? forms[form_max] : NULL; if (n_textarea) addMultirowsForm(buf, buf->formitem); -@@ -5982,7 +6164,8 @@ addLink(Buffer *buf, struct parsed_tag *tag) +@@ -5982,7 +6166,8 @@ addLink(Buffer *buf, struct parsed_tag *tag) parsedtag_get_value(tag, ATTR_HREF, &href); if (href) @@ -15841,7 +16556,7 @@ index 567d41e..9b0e947 100644 parsedtag_get_value(tag, ATTR_TITLE, &title); parsedtag_get_value(tag, ATTR_TYPE, &ctype); parsedtag_get_value(tag, ATTR_REL, &rel); -@@ -6154,10 +6337,10 @@ HTMLlineproc0(char *line, struct html_feed_environ *h_env, int internal) +@@ -6154,10 +6339,10 @@ HTMLlineproc0(char *line, struct html_feed_environ *h_env, int internal) while (*line != '\0') { char *str, *p; int is_tag = FALSE; @@ -15856,7 +16571,7 @@ index 567d41e..9b0e947 100644 if (*line == '<' || obuf->status != R_ST_NORMAL) { /* -@@ -6173,7 +6356,7 @@ HTMLlineproc0(char *line, struct html_feed_environ *h_env, int internal) +@@ -6173,7 +6358,7 @@ HTMLlineproc0(char *line, struct html_feed_environ *h_env, int internal) } if (h_env->tagbuf->length == 0) continue; @@ -15865,7 +16580,7 @@ index 567d41e..9b0e947 100644 if (*str == '<') { if (str[1] && REALLY_THE_BEGINNING_OF_A_TAG(str)) is_tag = TRUE; -@@ -6239,7 +6422,7 @@ HTMLlineproc0(char *line, struct html_feed_environ *h_env, int internal) +@@ -6239,7 +6424,7 @@ HTMLlineproc0(char *line, struct html_feed_environ *h_env, int internal) } proc_normal: @@ -15874,7 +16589,7 @@ index 567d41e..9b0e947 100644 /* * within table: in ..
, all input tokens * are fed to the table renderer, and then the renderer -@@ -6255,6 +6438,8 @@ HTMLlineproc0(char *line, struct html_feed_environ *h_env, int internal) +@@ -6255,6 +6440,8 @@ HTMLlineproc0(char *line, struct html_feed_environ *h_env, int internal) if (obuf->table_level >= 0) { struct table *tbl0 = tables[obuf->table_level]; str = Sprintf("", tbl0->ntable)->ptr; @@ -15883,7 +16598,7 @@ index 567d41e..9b0e947 100644 pushTable(tbl0, tbl); tbl = tbl0; tbl_mode = &table_mode[obuf->table_level]; -@@ -6272,6 +6457,7 @@ HTMLlineproc0(char *line, struct html_feed_environ *h_env, int internal) +@@ -6272,6 +6459,7 @@ HTMLlineproc0(char *line, struct html_feed_environ *h_env, int internal) do_blankline(h_env, obuf, indent, 0, h_env->limit); } save_fonteffect(h_env, obuf); @@ -15891,7 +16606,7 @@ index 567d41e..9b0e947 100644 renderTable(tbl, tbl_width, h_env); restore_fonteffect(h_env, obuf); obuf->flag &= ~RB_IGNORE_P; -@@ -6429,7 +6615,8 @@ HTMLlineproc0(char *line, struct html_feed_environ *h_env, int internal) +@@ -6429,7 +6617,8 @@ HTMLlineproc0(char *line, struct html_feed_environ *h_env, int internal) indent = h_env->envs[h_env->envc].indent; if (obuf->bp.pos - i > indent) { Str line; @@ -15901,7 +16616,7 @@ index 567d41e..9b0e947 100644 line = Strnew_charp(bp); Strshrink(obuf->line, obuf->line->length - obuf->bp.len); #ifdef FORMAT_NICE -@@ -6756,6 +6943,12 @@ init_henv(struct html_feed_environ *h_env, struct readbuffer *obuf, +@@ -6756,6 +6945,12 @@ init_henv(struct html_feed_environ *h_env, struct readbuffer *obuf, obuf->nobr_level = 0; bzero((void *)&obuf->anchor, sizeof(obuf->anchor)); obuf->img_alt = 0; @@ -15914,7 +16629,7 @@ index 567d41e..9b0e947 100644 obuf->in_bold = 0; obuf->in_italic = 0; obuf->in_under = 0; -@@ -6791,6 +6984,15 @@ completeHTMLstream(struct html_feed_environ *h_env, struct readbuffer *obuf) +@@ -6791,6 +6986,15 @@ completeHTMLstream(struct html_feed_environ *h_env, struct readbuffer *obuf) push_tag(obuf, "
", HTML_N_IMG_ALT); obuf->img_alt = NULL; } @@ -15930,7 +16645,7 @@ index 567d41e..9b0e947 100644 if (obuf->in_bold) { push_tag(obuf, "
", HTML_N_B); obuf->in_bold = 0; -@@ -6824,9 +7026,12 @@ completeHTMLstream(struct html_feed_environ *h_env, struct readbuffer *obuf) +@@ -6824,9 +7028,12 @@ completeHTMLstream(struct html_feed_environ *h_env, struct readbuffer *obuf) obuf->table_level = MAX_TABLE - 1; while (obuf->table_level >= 0) { @@ -15943,7 +16658,7 @@ index 567d41e..9b0e947 100644 } } -@@ -6848,6 +7053,8 @@ print_internal_information(struct html_feed_environ *henv) +@@ -6848,6 +7055,8 @@ print_internal_information(struct html_feed_environ *henv) if (form_max >= 0) { FormList *fp; for (i = 0; i <= form_max; i++) { @@ -15952,7 +16667,7 @@ index 567d41e..9b0e947 100644 fp = forms[i]; s = Sprintf("action->ptr), -@@ -6963,8 +7170,6 @@ loadHTMLstream(URLFile *f, Buffer *newBuf, FILE * src, int internal) +@@ -6963,8 +7172,6 @@ loadHTMLstream(URLFile *f, Buffer *newBuf, FILE * src, int internal) image_flag = IMG_FLAG_AUTO; else image_flag = IMG_FLAG_SKIP; @@ -15961,7 +16676,7 @@ index 567d41e..9b0e947 100644 #endif if (w3m_halfload) { -@@ -6987,6 +7192,9 @@ loadHTMLstream(URLFile *f, Buffer *newBuf, FILE * src, int internal) +@@ -6987,6 +7194,9 @@ loadHTMLstream(URLFile *f, Buffer *newBuf, FILE * src, int internal) htmlenv1.f = stdout; else htmlenv1.buf = newTextLineList(); @@ -15971,7 +16686,7 @@ index 567d41e..9b0e947 100644 if (SETJMP(AbortLoading) != 0) { HTMLlineproc1("
Transfer Interrupted!
", &htmlenv1); -@@ -7048,18 +7256,23 @@ loadHTMLstream(URLFile *f, Buffer *newBuf, FILE * src, int internal) +@@ -7048,18 +7258,23 @@ loadHTMLstream(URLFile *f, Buffer *newBuf, FILE * src, int internal) } #endif lineBuf2 = convertLine(f, lineBuf2, HTML_MODE, &charset, doc_charset); @@ -15997,7 +16712,7 @@ index 567d41e..9b0e947 100644 if (htmlenv1.title) newBuf->buffername = htmlenv1.title; if (w3m_halfdump) { -@@ -7096,16 +7309,17 @@ loadHTMLString(Str page) +@@ -7096,16 +7311,17 @@ loadHTMLString(Str page) MySignalHandler(*volatile prevtrap) (SIGNAL_ARG) = NULL; Buffer *newBuf; @@ -16017,7 +16732,7 @@ index 567d41e..9b0e947 100644 #ifdef USE_M17N newBuf->document_charset = InnerCharset; #endif -@@ -7115,6 +7329,7 @@ loadHTMLString(Str page) +@@ -7115,6 +7331,7 @@ loadHTMLString(Str page) #endif TRAP_OFF; @@ -16025,7 +16740,7 @@ index 567d41e..9b0e947 100644 newBuf->topLine = newBuf->firstLine; newBuf->lastLine = newBuf->currentLine; newBuf->currentLine = newBuf->firstLine; -@@ -7207,7 +7422,7 @@ loadGopherDir(URLFile *uf, ParsedURL *pu, wc_ces * charset) +@@ -7207,7 +7424,7 @@ loadGopherDir(URLFile *uf, ParsedURL *pu, wc_ces * charset) q = Strnew_m_charp("gopher://", host->ptr, ":", port->ptr, "/", file->ptr, NULL)->ptr; Strcat_m_charp(tmp, "", p, html_quote(name->ptr + 1), "\n", NULL); } -@@ -7243,7 +7458,6 @@ loadBuffer(URLFile *uf, Buffer *volatile newBuf) +@@ -7243,7 +7460,6 @@ loadBuffer(URLFile *uf, Buffer *volatile newBuf) if (newBuf == NULL) newBuf = newBuffer(INIT_BUFFER_WIDTH); @@ -16042,7 +16757,7 @@ index 567d41e..9b0e947 100644 if (SETJMP(AbortLoading) != 0) { goto _end; -@@ -7331,6 +7545,7 @@ loadImageBuffer(URLFile *uf, Buffer *newBuf) +@@ -7331,6 +7547,7 @@ loadImageBuffer(URLFile *uf, Buffer *newBuf) URLFile f; MySignalHandler(*volatile prevtrap) (SIGNAL_ARG) = NULL; struct stat st; @@ -16050,7 +16765,7 @@ index 567d41e..9b0e947 100644 loadImage(newBuf, IMG_FLAG_STOP); image.url = uf->url; -@@ -7338,20 +7553,18 @@ loadImageBuffer(URLFile *uf, Buffer *newBuf) +@@ -7338,20 +7555,18 @@ loadImageBuffer(URLFile *uf, Buffer *newBuf) image.width = -1; image.height = -1; image.cache = NULL; @@ -16074,7 +16789,13 @@ index 567d41e..9b0e947 100644 TRAP_OFF; cache->loaded = IMG_FLAG_LOADED; -@@ -7371,6 +7584,7 @@ loadImageBuffer(URLFile *uf, Buffer *newBuf) +@@ -7367,10 +7582,13 @@ loadImageBuffer(URLFile *uf, Buffer *newBuf) + tmp = Sprintf("

", html_quote(image.url)); + tmpf = tmpfname(TMPF_SRC, ".html"); + src = fopen(tmpf->ptr, "w"); ++ if (src == NULL) ++ return NULL; + newBuf->mailcap_source = tmpf->ptr; init_stream(&f, SCM_LOCAL, newStrStream(tmp)); loadHTMLstream(&f, newBuf, src, TRUE); @@ -16082,7 +16803,7 @@ index 567d41e..9b0e947 100644 if (src) fclose(src); -@@ -7411,7 +7625,7 @@ conv_symbol(Line *l) +@@ -7411,7 +7629,7 @@ conv_symbol(Line *l) symbol = get_symbol(DisplayCharset, &w); #endif } @@ -16091,7 +16812,7 @@ index 567d41e..9b0e947 100644 #ifdef USE_M17N p += len - 1; pr += len - 1; -@@ -7580,8 +7794,11 @@ openGeneralPagerBuffer(InputStream stream) +@@ -7580,8 +7798,11 @@ openGeneralPagerBuffer(InputStream stream) #ifdef USE_M17N content_charset = 0; #endif @@ -16104,7 +16825,7 @@ index 567d41e..9b0e947 100644 readHeader(&uf, t_buf, TRUE, NULL); t = checkContentType(t_buf); if (t == NULL) -@@ -7609,14 +7826,13 @@ openGeneralPagerBuffer(InputStream stream) +@@ -7609,14 +7830,13 @@ openGeneralPagerBuffer(InputStream stream) #ifdef USE_IMAGE else if (activeImage && displayImage && !useExtImageViewer && !(w3m_dump & ~DUMP_FRAME) && !strncasecmp(t, "image/", 6)) { @@ -16121,7 +16842,7 @@ index 567d41e..9b0e947 100644 UFclose(&uf); if (buf == NULL || buf == NO_BUFFER) return buf; -@@ -7629,8 +7845,6 @@ openGeneralPagerBuffer(InputStream stream) +@@ -7629,8 +7849,6 @@ openGeneralPagerBuffer(InputStream stream) } } buf->real_type = t; @@ -16130,7 +16851,7 @@ index 567d41e..9b0e947 100644 return buf; } -@@ -7766,6 +7980,8 @@ save2tmp(URLFile uf, char *tmpf) +@@ -7766,6 +7984,8 @@ save2tmp(URLFile uf, char *tmpf) clen_t linelen = 0, trbyte = 0; MySignalHandler(*volatile prevtrap) (SIGNAL_ARG) = NULL; static JMP_BUF env_bak; @@ -16139,7 +16860,7 @@ index 567d41e..9b0e947 100644 ff = fopen(tmpf, "wb"); if (ff == NULL) { -@@ -7802,30 +8018,29 @@ save2tmp(URLFile uf, char *tmpf) +@@ -7802,30 +8022,29 @@ save2tmp(URLFile uf, char *tmpf) else #endif /* USE_NNTP */ { @@ -16182,7 +16903,7 @@ index 567d41e..9b0e947 100644 { Str tmpf, command; struct mailcap *mcap; -@@ -7834,7 +8049,7 @@ doExternal(URLFile uf, char *path, char *type, Buffer **bufp, +@@ -7834,7 +8053,7 @@ doExternal(URLFile uf, char *path, char *type, Buffer **bufp, char *header, *src = NULL, *ext = uf.ext; if (!(mcap = searchExtViewer(type))) @@ -16191,7 +16912,7 @@ index 567d41e..9b0e947 100644 if (mcap->nametemplate) { tmpf = unquote_mailcap(mcap->nametemplate, NULL, "", NULL, NULL); -@@ -7867,15 +8082,13 @@ doExternal(URLFile uf, char *path, char *type, Buffer **bufp, +@@ -7867,15 +8086,13 @@ doExternal(URLFile uf, char *path, char *type, Buffer **bufp, UFclose(&uf); myExec(command->ptr); } @@ -16209,7 +16930,7 @@ index 567d41e..9b0e947 100644 } } if (mcap->flags & (MAILCAP_HTMLOUTPUT | MAILCAP_COPIOUSOUTPUT)) { -@@ -7918,14 +8131,13 @@ doExternal(URLFile uf, char *path, char *type, Buffer **bufp, +@@ -7918,14 +8135,13 @@ doExternal(URLFile uf, char *path, char *type, Buffer **bufp, buf = NO_BUFFER; } if (buf && buf != NO_BUFFER) { @@ -16228,7 +16949,7 @@ index 567d41e..9b0e947 100644 } static int -@@ -7935,7 +8147,8 @@ _MoveFile(char *path1, char *path2) +@@ -7935,7 +8151,8 @@ _MoveFile(char *path1, char *path2) FILE *f2; int is_pipe; clen_t linelen = 0, trbyte = 0; @@ -16238,7 +16959,7 @@ index 567d41e..9b0e947 100644 f1 = openIS(path1); if (f1 == NULL) -@@ -7953,12 +8166,13 @@ _MoveFile(char *path1, char *path2) +@@ -7953,12 +8170,13 @@ _MoveFile(char *path1, char *path2) return -1; } current_content_length = 0; @@ -16256,7 +16977,7 @@ index 567d41e..9b0e947 100644 ISclose(f1); if (is_pipe) pclose(f2); -@@ -7998,7 +8212,7 @@ _doFileCopy(char *tmpf, char *defstr, int download) +@@ -7998,7 +8216,7 @@ _doFileCopy(char *tmpf, char *defstr, int download) else { if (q) { p = unescape_spaces(Strnew_charp(q))->ptr; @@ -16265,7 +16986,7 @@ index 567d41e..9b0e947 100644 } p = expandPath(p); if (checkOverWrite(p) < 0) -@@ -8317,21 +8531,23 @@ uncompress_stream(URLFile *uf, char **src) +@@ -8317,21 +8535,23 @@ uncompress_stream(URLFile *uf, char **src) } if (pid2 == 0) { /* child2 */ @@ -16294,7 +17015,7 @@ index 567d41e..9b0e947 100644 exit(0); } /* child1 */ -@@ -8378,7 +8594,7 @@ lessopen_stream(char *path) +@@ -8378,7 +8598,7 @@ lessopen_stream(char *path) } c = getc(fp); if (c == EOF) { @@ -17654,7 +18375,7 @@ index b3819a3..2809832 100644 #endif /* INDEP_H */ diff --git a/istream.c b/istream.c -index 8967280..1387307 100644 +index 8967280..74adac5 100644 --- a/istream.c +++ b/istream.c @@ -22,8 +22,8 @@ @@ -17863,11 +18584,7 @@ index 8967280..1387307 100644 - if (sb->buf[sb->cur] == '\n') - Strcat_char(s, (char)sb->buf[sb->cur++]); - return s; -+ if (crnl && gb->length > 0 && gb->ptr[gb->length - 1] == '\r') { -+ if (sb->buf[sb->cur] == '\n') { -+ GROWBUF_ADD_CHAR(gb, '\n'); -+ ++sb->cur; - } +- } - for (i = sb->cur; - i < sb->next && sb->buf[i] != '\n' && sb->buf[i] != '\r'; - i++) ; @@ -17879,7 +18596,11 @@ index 8967280..1387307 100644 - sb->cur = i + 1; - if (sb->buf[i] == '\n') - return s; -- } ++ if (crnl && gb->length > 0 && gb->ptr[gb->length - 1] == '\r') { ++ if (sb->buf[sb->cur] == '\n') { ++ GROWBUF_ADD_CHAR(gb, '\n'); ++ ++sb->cur; + } - else { - if (s == NULL) - s = Strnew_size(sb->next - sb->cur + MARGIN_STR_SIZE); @@ -17964,7 +18685,19 @@ index 8967280..1387307 100644 } int -@@ -496,8 +475,6 @@ ssl_check_cert_ident(X509 * x, char *hostname) +@@ -442,7 +421,11 @@ ssl_check_cert_ident(X509 * x, char *hostname) + for (i = 0; i < n; i++) { + gn = sk_GENERAL_NAME_value(alt, i); + if (gn->type == GEN_DNS) { ++#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER) + char *sn = ASN1_STRING_data(gn->d.ia5); ++#else ++ char *sn = ASN1_STRING_get0_data(gn->d.ia5); ++#endif + int sl = ASN1_STRING_length(gn->d.ia5); + + if (!seen_dnsname) +@@ -496,8 +479,6 @@ ssl_check_cert_ident(X509 * x, char *hostname) /* FIXME: gettextize? */ ret = Sprintf("Bad cert ident %s from %s", buf, hostname); } @@ -17973,7 +18706,7 @@ index 8967280..1387307 100644 } return ret; } -@@ -645,6 +622,7 @@ basic_close(int *handle) +@@ -645,6 +626,7 @@ basic_close(int *handle) #else close(*(int *)handle); #endif @@ -17981,7 +18714,7 @@ index 8967280..1387307 100644 } static int -@@ -658,13 +636,14 @@ basic_read(int *handle, char *buf, int len) +@@ -658,13 +640,14 @@ basic_read(int *handle, char *buf, int len) } static void @@ -17998,7 +18731,7 @@ index 8967280..1387307 100644 { return fread(buf, 1, len, handle->f); } -@@ -682,6 +661,7 @@ ssl_close(struct ssl_handle *handle) +@@ -682,6 +665,7 @@ ssl_close(struct ssl_handle *handle) close(handle->sock); if (handle->ssl) SSL_free(handle->ssl); @@ -18006,7 +18739,7 @@ index 8967280..1387307 100644 } static int -@@ -717,38 +697,60 @@ static void +@@ -717,38 +701,60 @@ static void ens_close(struct ens_handle *handle) { ISclose(handle->is); @@ -19070,7 +19803,7 @@ index b7e81b6..d8f9023 100644 } else { diff --git a/local.c b/local.c -index f5a73a2..46ac579 100644 +index f5a73a2..56d589d 100644 --- a/local.c +++ b/local.c @@ -109,6 +109,7 @@ loadLocalDir(char *dname) @@ -19160,12 +19893,15 @@ index f5a73a2..46ac579 100644 set_cgi_environ(name, file, uri); if (path_info) set_environ("PATH_INFO", path_info); -@@ -415,12 +426,11 @@ localcgi_post(char *uri, char *qstr, FormList *request, char *referer) +@@ -415,12 +426,14 @@ localcgi_post(char *uri, char *qstr, FormList *request, char *referer) } #ifdef HAVE_CHDIR /* ifndef __EMX__ ? */ - chdir(mydirname(file)); -+ chdir(cgi_dir); ++ if (chdir(cgi_dir) == -1) { ++ fprintf(stderr, "failed to chdir to %s: %s\n", cgi_dir, strerror(errno)); ++ exit(1); ++ } #endif - execl(file, mybasename(file), NULL); + execl(file, cgi_basename, NULL); @@ -21313,9 +22049,18 @@ index 1489115..ddd267b 100644 -ja +ja de zh_CN zh_TW diff --git a/po/Makefile.in.in b/po/Makefile.in.in -index 83d8838..ef8bd94 100644 +index 83d8838..9d9691e 100644 --- a/po/Makefile.in.in +++ b/po/Makefile.in.in +@@ -89,7 +89,7 @@ CATALOGS = @CATALOGS@ + @lang=`echo $* | sed -e 's,.*/,,'`; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \ +- cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo ++ cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && if [ x$(GMSGFMT) != x: ] ; then mv t-$${lang}.gmo $${lang}.gmo ; fi + + .sin.sed: + sed -e '/^#/d' $< > t-$@ @@ -153,14 +153,14 @@ $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ @@ -27451,7 +28196,7 @@ index 569e2fc..ad1cffe 100644 > $(distdir)/w3mman.tar.gz -rm -fr $(distdir)/w3mman diff --git a/scripts/w3mman/w3mman.1.in b/scripts/w3mman/w3mman.1.in -index 1c0361d..8c433a7 100644 +index 1c0361d..68e3afc 100644 --- a/scripts/w3mman/w3mman.1.in +++ b/scripts/w3mman/w3mman.1.in @@ -1,4 +1,4 @@ @@ -27460,7 +28205,7 @@ index 1c0361d..8c433a7 100644 .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: -@@ -12,36 +12,52 @@ +@@ -12,36 +12,54 @@ .\" .sp insert n+1 empty lines .\" for manpage-specific macros, see man(7) .SH NAME @@ -27475,9 +28220,9 @@ index 1c0361d..8c433a7 100644 -.RI "[-M " path ] " " [ section ] " page" +[ +.BI \-M " path" -+] [ ++] [ [ +.I section -+] [ ++] +.I page +] .br @@ -27485,6 +28230,8 @@ index 1c0361d..8c433a7 100644 -.RI "[-M " path "] -k " keyword +[ +.BI \-M " path" ++] [ ++.I section +] +.BI \-k " keyword" .br @@ -27525,7 +28272,7 @@ index 1c0361d..8c433a7 100644 .TP .B W3MMAN_W3M If W3MMAN_W3M is set, its value is used instead of @W3M@. -@@ -51,7 +67,7 @@ If W3MMAN_MAN is set, its value is used instead of @MAN@. +@@ -51,7 +69,7 @@ If W3MMAN_MAN is set, its value is used instead of @MAN@. .SH FILES .TP .I @libexecdir@/@PACKAGE@/cgi-bin/w3mman2html.cgi @@ -27611,19 +28358,92 @@ index 0000000..d6c5a44 +Markus Hiereth +.UE +erstellt. +diff --git a/scripts/w3mman/w3mman.in b/scripts/w3mman/w3mman.in +index 6a27e70..fae7a41 100644 +--- a/scripts/w3mman/w3mman.in ++++ b/scripts/w3mman/w3mman.in +@@ -7,7 +7,7 @@ $SCRIPT = 'file:///$LIB/w3mman2html.cgi'; + sub usage { + ($_ = $0) =~ s@.*/@@; + print STDERR "$_ [-M ] [[
] ]\n"; +- print STDERR "$_ [-M ] [-k ]\n"; ++ print STDERR "$_ [-M ] [
] [-k ]\n"; + print STDERR "$_ [-l ]\n"; + exit 1; + } +@@ -20,7 +20,8 @@ while (@ARGV) { + $ENV{'MANPATH'} = shift @ARGV; + } elsif (/^-k$/) { + @ARGV || &usage(); +- $query = "?keyword=" . &form_encode(shift @ARGV); ++ if ( $query eq "" ) { $query = "?quit=ok"; } ++ $query .= "&keyword=" . &form_encode(shift @ARGV); + } elsif (/^-l$/) { + @ARGV || &usage(); + $query = "?quit=ok&local=" . &form_encode(shift @ARGV); +@@ -28,11 +29,11 @@ while (@ARGV) { + } elsif (/^-/) { + &usage(); + } elsif (/^\d/ || $_ eq 'n') { +- @ARGV || &usage(); +- $query = "?quit=ok&man=" . &form_encode(shift @ARGV); ++ if ( $query eq "" ) { $query = "?quit=ok"; } + $query .= "§ion=" . &form_encode($_); + } else { +- $query = "?quit=ok&man=" . &form_encode($_); ++ if ( $query eq "" ) { $query = "?quit=ok"; } ++ $query .= "&man=" . &form_encode($_); + } + } + diff --git a/scripts/w3mman/w3mman2html.cgi.in b/scripts/w3mman/w3mman2html.cgi.in -index f430307..2cd00f9 100644 +index f430307..d660681 100644 --- a/scripts/w3mman/w3mman2html.cgi.in +++ b/scripts/w3mman/w3mman2html.cgi.in -@@ -34,7 +34,6 @@ Content-Type: text/html +@@ -23,18 +23,23 @@ if ((! $query{"man"}) && (! $query{"local"})) { + if ($query{"keyword"}) { + $keyword = $query{"keyword"}; + $k = &html_quote($keyword); ++ if ($query{"section"}) { ++ $section = $query{"section"}; ++ $sectionopt = "-s $section "; ++ } else { ++ $sectionopt = ""; ++ } + print < +-man -k $k ++man $sectionopt-k $k + +-

man -k $k

++

man $sectionopt-k $k

+
    EOF $keyword =~ s:([^-\w\200-\377.,])::g; - open(F, "$MAN -k $keyword 2> /dev/null |"); +- open(F, "$MAN -k $keyword 2> /dev/null |"); - @line = (); ++ open(F, "$MAN $sectionopt -k $keyword 2> /dev/null |"); while() { chop; $_ = &html_quote($_); -@@ -126,12 +125,14 @@ while() { +@@ -59,10 +64,10 @@ Content-Type: text/html + +
    + +-
    Manual: +-
    Section: +-
    Keyword: +-
    ++
    Manual: ++
    Section: ++
    Keyword: ++
    +
    +
    + +@@ -126,12 +131,14 @@ while() { s/\&/\&/g; s/\/\>/g; @@ -27641,7 +28461,7 @@ index f430307..2cd00f9 100644 s@((\)?(\&\w+\;|.)(\)?)\010_@$1@g; s@.\010(.)@$1@g; -@@ -156,7 +157,7 @@ EOF +@@ -156,7 +163,7 @@ EOF } s@(http|ftp)://[\w.\-/~]+[\w/]@$&@g; @@ -27650,7 +28470,7 @@ index f430307..2cd00f9 100644 s@(\W)(\~?/[\w.][\w.\-/~]*)@$1 . &file_ref($2)@ge; s@(include(<\/?[bu]\>|\s)*\<)([\w.\-/]+)@$1 . &include_ref($3)@ge; if ($prev && m@^\s*(\<[bu]\>)*(\w[\w.\-]*)(\)*(\([\dm]\w*\))@) { -@@ -220,7 +221,7 @@ sub is_command { +@@ -220,7 +227,7 @@ sub is_command { local($p); (! -d && -x) || return 0; @@ -27677,7 +28497,7 @@ index 50475ae..c047c56 100644 buf[i] = (*p == ' ') ? NBSP_CODE : *p; diff --git a/table.c b/table.c -index e1243ff..4f193e1 100644 +index e1243ff..eb5c9ba 100644 --- a/table.c +++ b/table.c @@ -188,7 +188,7 @@ dv2sv(double *dv, short *iv, int size) @@ -27784,7 +28604,17 @@ index e1243ff..4f193e1 100644 check_maximum_width(t); #ifdef MATRIX -@@ -2323,6 +2341,8 @@ feed_table_block_tag(struct table *tbl, +@@ -2272,7 +2290,8 @@ skip_space(struct table *t, char *line, struct table_linfo *linfo, + } + if (s > 0) { + #ifdef USE_M17N +- if (ctype == PC_KANJI1 && prev_ctype == PC_KANJI1) ++ if (!SimplePreserveSpace && ++ ctype == PC_KANJI1 && prev_ctype == PC_KANJI1) + skip += s; + else + #endif +@@ -2323,6 +2342,8 @@ feed_table_block_tag(struct table *tbl, int offset; if (mode->indent_level <= 0 && indent == -1) return; @@ -27793,7 +28623,7 @@ index e1243ff..4f193e1 100644 setwidth(tbl, mode); feed_table_inline_tag(tbl, line, mode, -1); clearcontentssize(tbl, mode); -@@ -2336,10 +2356,14 @@ feed_table_block_tag(struct table *tbl, +@@ -2336,10 +2357,14 @@ feed_table_block_tag(struct table *tbl, if (mode->indent_level < MAX_INDENT_LEVEL) tbl->indent -= INDENT_INCR; } @@ -27808,7 +28638,7 @@ index e1243ff..4f193e1 100644 } if (tbl->indent > 0) { check_minimum0(tbl, 0); -@@ -2546,8 +2570,10 @@ feed_table_tag(struct table *tbl, char *line, struct table_mode *mode, +@@ -2546,8 +2571,10 @@ feed_table_tag(struct table *tbl, char *line, struct table_mode *mode, } } #ifdef ID_EXT @@ -27820,7 +28650,7 @@ index e1243ff..4f193e1 100644 #endif /* ID_EXT */ tbl->trattr = align | valign; break; -@@ -2572,7 +2598,7 @@ feed_table_tag(struct table *tbl, char *line, struct table_mode *mode, +@@ -2572,7 +2599,7 @@ feed_table_tag(struct table *tbl, char *line, struct table_mode *mode, } tbl->col++; check_row(tbl, tbl->row); @@ -27829,7 +28659,7 @@ index e1243ff..4f193e1 100644 tbl->col++; } if (tbl->col > MAXCOL - 1) { -@@ -2600,12 +2626,16 @@ feed_table_tag(struct table *tbl, char *line, struct table_mode *mode, +@@ -2600,12 +2627,16 @@ feed_table_tag(struct table *tbl, char *line, struct table_mode *mode, if ((tbl->row + rowspan) >= tbl->max_rowsize) check_row(tbl, tbl->row + rowspan); } @@ -27846,7 +28676,7 @@ index e1243ff..4f193e1 100644 if (parsedtag_get_value(tag, ATTR_ALIGN, &i)) { switch (i) { case ALIGN_LEFT: -@@ -2878,6 +2908,14 @@ feed_table_tag(struct table *tbl, char *line, struct table_mode *mode, +@@ -2878,6 +2909,14 @@ feed_table_tag(struct table *tbl, char *line, struct table_mode *mode, tmp = process_input(tag); feed_table1(tbl, tmp, mode, width); break; @@ -27861,7 +28691,7 @@ index e1243ff..4f193e1 100644 case HTML_SELECT: tmp = process_select(tag); if (tmp) -@@ -3010,7 +3048,6 @@ feed_table_tag(struct table *tbl, char *line, struct table_mode *mode, +@@ -3010,7 +3049,6 @@ feed_table_tag(struct table *tbl, char *line, struct table_mode *mode, break; case HTML_TABLE_ALT: id = -1; @@ -28273,7 +29103,7 @@ index 7a3c987..a636ac0 100644 #define CYGWIN_OFF {fputs("\033[?1000l",ttyf); flush_tty();} diff --git a/url.c b/url.c -index ed6062e..d759383 100644 +index ed6062e..1c17e18 100644 --- a/url.c +++ b/url.c @@ -121,6 +121,7 @@ static struct table2 DefaultGuess[] = { @@ -28284,15 +29114,28 @@ index ed6062e..d759383 100644 /* #define HTTP_DEFAULT_FILE "/index.html" */ -@@ -326,6 +327,7 @@ openSSLHandle(int sock, char *hostname, char **p_cert) +@@ -318,14 +319,19 @@ openSSLHandle(int sock, char *hostname, char **p_cert) + #endif /* defined(USE_SSL_VERIFY) */ + if (ssl_ctx == NULL) { + int option; +-#if SSLEAY_VERSION_NUMBER < 0x0800 ++#if OPENSSL_VERSION_NUMBER < 0x0800 + ssl_ctx = SSL_CTX_new(); + X509_set_default_verify_paths(ssl_ctx->cert); + #else /* SSLEAY_VERSION_NUMBER >= 0x0800 */ ++#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER) + SSLeay_add_ssl_algorithms(); SSL_load_error_strings(); ++#else ++ OPENSSL_init_ssl(0, NULL); ++#endif if (!(ssl_ctx = SSL_CTX_new(SSLv23_client_method()))) goto eend; + SSL_CTX_set_cipher_list(ssl_ctx, "DEFAULT:!LOW:!RC4:!EXP"); option = SSL_OP_ALL; if (ssl_forbid_method) { if (strchr(ssl_forbid_method, '2')) -@@ -336,8 +338,20 @@ openSSLHandle(int sock, char *hostname, char **p_cert) +@@ -336,8 +342,20 @@ openSSLHandle(int sock, char *hostname, char **p_cert) option |= SSL_OP_NO_TLSv1; if (strchr(ssl_forbid_method, 'T')) option |= SSL_OP_NO_TLSv1; @@ -28313,7 +29156,7 @@ index ed6062e..d759383 100644 #ifdef USE_SSL_VERIFY /* derived from openssl-0.9.5/apps/s_{client,cb}.c */ #if 1 /* use SSL_get_verify_result() to verify cert */ -@@ -444,6 +458,8 @@ baseURL(Buffer *buf) +@@ -444,6 +462,8 @@ baseURL(Buffer *buf) /* tag is defined in the document */ return buf->baseURL; } @@ -28322,7 +29165,7 @@ index ed6062e..d759383 100644 else return &buf->currentURL; } -@@ -638,16 +654,21 @@ openSocket(char *const hostname, +@@ -638,16 +658,21 @@ openSocket(char *const hostname, #define COPYPATH_SPC_ALLOW 0 #define COPYPATH_SPC_IGNORE 1 #define COPYPATH_SPC_REPLACE 2 @@ -28348,7 +29191,7 @@ index ed6062e..d759383 100644 break; case COPYPATH_SPC_IGNORE: /* do nothing */ -@@ -658,7 +679,7 @@ copyPath(char *orgpath, int length, int option) +@@ -658,7 +683,7 @@ copyPath(char *orgpath, int length, int option) } } else @@ -28357,7 +29200,7 @@ index ed6062e..d759383 100644 orgpath++; length--; } -@@ -668,22 +689,14 @@ copyPath(char *orgpath, int length, int option) +@@ -668,22 +693,14 @@ copyPath(char *orgpath, int length, int option) void parseURL(char *url, ParsedURL *p_url, ParsedURL *current) { @@ -28382,7 +29225,7 @@ index ed6062e..d759383 100644 /* RFC1808: Relative Uniform Resource Locators * 4. Resolving Relative URLs -@@ -694,7 +707,7 @@ parseURL(char *url, ParsedURL *p_url, ParsedURL *current) +@@ -694,7 +711,7 @@ parseURL(char *url, ParsedURL *p_url, ParsedURL *current) goto do_label; } #if defined( __EMX__ ) || defined( __CYGWIN__ ) @@ -28391,7 +29234,7 @@ index ed6062e..d759383 100644 p_url->scheme = SCM_LOCAL; p += 17 - 1; url += 17 - 1; -@@ -802,19 +815,20 @@ parseURL(char *url, ParsedURL *p_url, ParsedURL *current) +@@ -802,19 +819,20 @@ parseURL(char *url, ParsedURL *p_url, ParsedURL *current) /* scheme://user:pass@host or * scheme://host:port */ @@ -28416,7 +29259,7 @@ index ed6062e..d759383 100644 tmp = Strnew_charp_n(q, p - q); p_url->port = atoi(tmp->ptr); /* *p is one of ['\0', '/', '?', '#'] */ -@@ -822,15 +836,19 @@ parseURL(char *url, ParsedURL *p_url, ParsedURL *current) +@@ -822,15 +840,19 @@ parseURL(char *url, ParsedURL *p_url, ParsedURL *current) case '@': /* scheme://user@... */ p_url->user = copyPath(q, p - q, COPYPATH_SPC_IGNORE); @@ -28439,7 +29282,7 @@ index ed6062e..d759383 100644 break; } analyze_file: -@@ -956,12 +974,16 @@ parseURL(char *url, ParsedURL *p_url, ParsedURL *current) +@@ -956,12 +978,16 @@ parseURL(char *url, ParsedURL *p_url, ParsedURL *current) p_url->label = NULL; } @@ -28458,7 +29301,7 @@ index ed6062e..d759383 100644 p->scheme = q->scheme; p->port = q->port; p->is_nocache = q->is_nocache; -@@ -1279,10 +1301,24 @@ getURLScheme(char **url) +@@ -1279,10 +1305,24 @@ getURLScheme(char **url) return scheme; } @@ -28483,7 +29326,7 @@ index ed6062e..d759383 100644 Strcat_charp(s, "User-Agent: "); if (UserAgent == NULL || *UserAgent == '\0') -@@ -1306,7 +1342,12 @@ otherinfo(ParsedURL *target, ParsedURL *current, char *referer) +@@ -1306,7 +1346,12 @@ otherinfo(ParsedURL *target, ParsedURL *current, char *referer) Strcat_charp(s, "Pragma: no-cache\r\n"); Strcat_charp(s, "Cache-control: no-cache\r\n"); } @@ -28497,7 +29340,7 @@ index ed6062e..d759383 100644 #ifdef USE_SSL if (current && current->scheme == SCM_HTTPS && target->scheme != SCM_HTTPS) { /* Don't send Referer: if https:// -> http:// */ -@@ -1314,6 +1355,7 @@ otherinfo(ParsedURL *target, ParsedURL *current, char *referer) +@@ -1314,6 +1359,7 @@ otherinfo(ParsedURL *target, ParsedURL *current, char *referer) else #endif if (referer == NULL && current && current->scheme != SCM_LOCAL && @@ -28505,7 +29348,7 @@ index ed6062e..d759383 100644 (current->scheme != SCM_FTP || (current->user == NULL && current->pass == NULL))) { char *p = current->label; -@@ -1384,7 +1426,6 @@ HTTPrequest(ParsedURL *pu, ParsedURL *current, HRequest *hr, TextList *extra) +@@ -1384,7 +1430,6 @@ HTTPrequest(ParsedURL *pu, ParsedURL *current, HRequest *hr, TextList *extra) { Str tmp; TextListItem *i; @@ -28513,7 +29356,7 @@ index ed6062e..d759383 100644 #ifdef USE_COOKIE Str cookie; #endif /* USE_COOKIE */ -@@ -1400,7 +1441,6 @@ HTTPrequest(ParsedURL *pu, ParsedURL *current, HRequest *hr, TextList *extra) +@@ -1400,7 +1445,6 @@ HTTPrequest(ParsedURL *pu, ParsedURL *current, HRequest *hr, TextList *extra) for (i = extra->first; i != NULL; i = i->next) { if (strncasecmp(i->ptr, "Authorization:", sizeof("Authorization:") - 1) == 0) { @@ -28521,7 +29364,7 @@ index ed6062e..d759383 100644 #ifdef USE_SSL if (hr->command == HR_COMMAND_CONNECT) continue; -@@ -1430,20 +1470,20 @@ HTTPrequest(ParsedURL *pu, ParsedURL *current, HRequest *hr, TextList *extra) +@@ -1430,20 +1474,20 @@ HTTPrequest(ParsedURL *pu, ParsedURL *current, HRequest *hr, TextList *extra) #endif /* USE_COOKIE */ if (hr->command == HR_COMMAND_POST) { if (hr->request->enctype == FORM_ENCTYPE_MULTIPART) { @@ -28546,7 +29389,7 @@ index ed6062e..d759383 100644 if (header_string) Strcat(tmp, header_string); Strcat_charp(tmp, "\r\n"); -@@ -1603,7 +1643,7 @@ openURL(char *url, ParsedURL *pu, ParsedURL *current, +@@ -1603,7 +1647,7 @@ openURL(char *url, ParsedURL *pu, ParsedURL *current, pu->host != NULL && !check_no_proxy(pu->host)) { hr->flag |= HR_FLAG_PROXY; sock = openSocket(FTP_proxy_parsed.host, @@ -28555,7 +29398,7 @@ index ed6062e..d759383 100644 FTP_proxy_parsed.port); if (sock < 0) return uf; -@@ -1645,15 +1685,15 @@ openURL(char *url, ParsedURL *pu, ParsedURL *current, +@@ -1645,15 +1689,15 @@ openURL(char *url, ParsedURL *pu, ParsedURL *current, } else if (pu->scheme == SCM_HTTPS) { sock = openSocket(HTTPS_proxy_parsed.host, @@ -28575,7 +29418,7 @@ index ed6062e..d759383 100644 #ifdef USE_SSL sslh = NULL; } -@@ -1685,8 +1725,7 @@ openURL(char *url, ParsedURL *pu, ParsedURL *current, +@@ -1685,8 +1729,7 @@ openURL(char *url, ParsedURL *pu, ParsedURL *current, } } else { @@ -28585,7 +29428,25 @@ index ed6062e..d759383 100644 if (sock < 0) { *status = HTST_MISSING; return uf; -@@ -1750,7 +1789,7 @@ openURL(char *url, ParsedURL *pu, ParsedURL *current, +@@ -1713,6 +1756,8 @@ openURL(char *url, ParsedURL *pu, ParsedURL *current, + write(sock, tmp->ptr, tmp->length); + if(w3m_reqlog){ + FILE *ff = fopen(w3m_reqlog, "a"); ++ if (ff == NULL) ++ return uf; + if (sslh) + fputs("HTTPS: request via SSL\n", ff); + else +@@ -1735,6 +1780,8 @@ openURL(char *url, ParsedURL *pu, ParsedURL *current, + write(sock, tmp->ptr, tmp->length); + if(w3m_reqlog){ + FILE *ff = fopen(w3m_reqlog, "a"); ++ if (ff == NULL) ++ return uf; + fwrite(tmp->ptr, sizeof(char), tmp->length, ff); + fclose(ff); + } +@@ -1750,7 +1797,7 @@ openURL(char *url, ParsedURL *pu, ParsedURL *current, pu->host != NULL && !check_no_proxy(pu->host)) { hr->flag |= HR_FLAG_PROXY; sock = openSocket(GOPHER_proxy_parsed.host, @@ -28594,7 +29455,7 @@ index ed6062e..d759383 100644 GOPHER_proxy_parsed.port); if (sock < 0) return uf; -@@ -1758,8 +1797,7 @@ openURL(char *url, ParsedURL *pu, ParsedURL *current, +@@ -1758,8 +1805,7 @@ openURL(char *url, ParsedURL *pu, ParsedURL *current, tmp = HTTPrequest(pu, current, hr, extra_header); } else { @@ -28604,7 +29465,7 @@ index ed6062e..d759383 100644 if (sock < 0) return uf; if (pu->file == NULL) -@@ -2049,7 +2087,7 @@ filename_extension(char *path, int is_url) +@@ -2049,7 +2095,7 @@ filename_extension(char *path, int is_url) break; } if (*last_dot == '.') { @@ -28613,7 +29474,7 @@ index ed6062e..d759383 100644 if (is_url && !IS_ALNUM(last_dot[i])) break; } -@@ -2234,3 +2272,66 @@ schemeToProxy(int scheme) +@@ -2234,3 +2280,66 @@ schemeToProxy(int scheme) } return pu; } @@ -29735,6 +30596,18 @@ index 36e3b62..f1e8d97 100644 #endif #include #include "fb.h" +diff --git a/w3mimg/fb/fb_imlib2.c b/w3mimg/fb/fb_imlib2.c +index ea36637..1a5151c 100644 +--- a/w3mimg/fb/fb_imlib2.c ++++ b/w3mimg/fb/fb_imlib2.c +@@ -3,7 +3,6 @@ + fb_imlib2.c 0.3 Copyright (C) 2002, hito + **************************************************************************/ + +-#include + #include + #include "fb.h" + #include "fb_img.h" diff --git a/w3mimg/fb/fb_w3mimg.c b/w3mimg/fb/fb_w3mimg.c index d3ae5a9..62511f0 100644 --- a/w3mimg/fb/fb_w3mimg.c -- cgit v1.2.3