From nobody Sat Jan 13 16:17:49 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TC3Tp1w6rz566Wl; Sat, 13 Jan 2024 16:17:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TC3Tp14jrz4ZWm; Sat, 13 Jan 2024 16:17:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1705162670; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tHfzFMiPtgMDAMMwoUKA1LNAwCqKvukEEEQmKo3tyo4=; b=IT50xh0Zu1xH+dy4r/p2v1m0zTBDyDyX5EE3HMj0C+6tUF6Z8PgY5nhvJvxUw9qk97sKfR IvIUiGygGuccNS9En+hxc1EDBL9wK70WmT4XPRHWmd4iDZV+u34bYV2/c9d+sUIwZZHVLS H+/tTbmZFVidBADoJsorZ6BqnIUyOCwD5eR9qlbydYQoSIwQriRyF5xjqIdh/Y1InBYbxM VvaozdJ7nVw0x3xcitfOW+JX2VVzBHLiL/nZkTt8cT9tb1faDRzV6ykKTys5sGNNlhRDS2 va6W5OQ9ncYf9TXnQWQsJJFpOK5sdcA+SJjRmVUnO/O6phIdC8SiS8uZbkahdg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1705162670; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tHfzFMiPtgMDAMMwoUKA1LNAwCqKvukEEEQmKo3tyo4=; b=WsQtBaR9HvYDArWyzjBGA0/yqLeVuo+R6Agfdts8pYbRuCk3pO4Bv5c/xnzi7V028DXbGm h/cr//2/yW/FW/jWFI1HJwnwe+axkDthoTXLiuBXrb/MtJbali+rp15zm8FWMgEz8TipOS cHfbP0ICmxvZLzXGy5FVFMXD4rcVNMTMrT/LhVH6uiLaiJbxiYOiPLYNxB4YRak+YCM4Nm hNdl1fItAanat2b4MIlwPWxBWSFzWMlNm97CZ1tjjJjeloVqrRZowr3v3r2Y8mQui9RIkn iZfwxYokPHNigy9rNr1wp9yM2WZNOLTgcyYh7mpqtsLpwheuNXutju843yxnbg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1705162670; a=rsa-sha256; cv=none; b=eTjgA5HXcqpcxkSqi745+INEwytM8CkHrh5e9yRwwxf86ZEfYbkK8fBqKkPn8611OWB8il yL7t5zGmOFN5AWwVT/YUHjDf161k7fFG+pmJq4C3WcQVDfosuzSKR00gpvmmzh+WRajXhS E3sUM3EKRxCZtAQrjEnP7i8AObORzBIiE22R1UmjU052cYZQTZRH6gGpA1tB7QmZaTpmEG /V5b3xwNxjmuTdqGXPfOIZRJkCcVjOZ7xqYIthMAJt7qaM1S9FVK3l7NOjKQU1spTNaAW2 UmPs4CmMaZ/5CQjWQ4fIejYDvm+MLrcWoWVLLWVdwpXBinpRx129yUoXTEtWLw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TC3Tp067vzcx5; Sat, 13 Jan 2024 16:17:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 40DGHnX0056721; Sat, 13 Jan 2024 16:17:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 40DGHnbT056718; Sat, 13 Jan 2024 16:17:49 GMT (envelope-from git) Date: Sat, 13 Jan 2024 16:17:49 GMT Message-Id: <202401131617.40DGHnbT056718@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Wolfram Schneider Subject: git: e3c7b76fa810 - main - man(1): support spaces in filenames List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wosch X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e3c7b76fa8105929ae9a785e5ffc44274b1b0a81 Auto-Submitted: auto-generated The branch main has been updated by wosch: URL: https://cgit.FreeBSD.org/src/commit/?id=e3c7b76fa8105929ae9a785e5ffc44274b1b0a81 commit e3c7b76fa8105929ae9a785e5ffc44274b1b0a81 Author: Wolfram Schneider AuthorDate: 2024-01-13 16:16:55 +0000 Commit: Wolfram Schneider CommitDate: 2024-01-13 16:16:55 +0000 man(1): support spaces in filenames The globbing function in exists() needs to handle white spaces. PR: 275978 Reviewed by: kevans, bapt, emaste MFC after: 1 week --- usr.bin/man/man.sh | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/usr.bin/man/man.sh b/usr.bin/man/man.sh index 7e2151295ba7..777726f880db 100755 --- a/usr.bin/man/man.sh +++ b/usr.bin/man/man.sh @@ -191,7 +191,9 @@ decho() { } # Usage: exists glob -# Returns true if glob resolves to a real file. +# +# Returns true if glob resolves to a real file and store the first +# found filename in the variable $found exists() { local IFS @@ -201,14 +203,16 @@ exists() { # Use some globbing tricks in the shell to determine if a file # exists or not. set +f - set -- "$1" $1 + for file in "$1"* + do + if [ -r "$file" ]; then + found="$file" + set -f + return 0 + fi + done set -f - if [ "$1" != "$2" -a -r "$2" ]; then - found="$2" - return 0 - fi - return 1 } @@ -230,10 +234,10 @@ find_file() { fi decho " Searching directory $manroot" 2 - mann="$manroot/$4.$2*" - man0="$manroot/$4.0*" - catn="$catroot/$4.$2*" - cat0="$catroot/$4.0*" + mann="$manroot/$4.$2" + man0="$manroot/$4.0" + catn="$catroot/$4.$2" + cat0="$catroot/$4.0" # This is the behavior as seen by the original man utility. # Let's not change that which doesn't seem broken. @@ -313,7 +317,7 @@ man_check_for_so() { .so*) trim "${line#.so}" decho "$manpage includes $tstr" # Glob and check for the file. - if ! check_man "$path/$tstr*" ""; then + if ! check_man "$path/$tstr" ""; then decho " Unable to find $tstr" return 1 fi