git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [COGITO PATCH] Optimized print_help()

From
PRPavel Roskin <proski@gnu.org>
Date
Jun 15, 2005, 00:33 UTC
Message-ID
<1118795583.3890.27.camel@dv>
In-Reply-To
<20050615000001.GB17152@diku.dk>
On Wed, 2005-06-15 at 02:00 +0200, Jonas Fonseca wrote:
> Shouldn't $toolpath be quoted here to make it safer? Although it seems
> the make install don't handle irregular toolpaths at the moment.
Sure.
> > +	cat $toolpath | sed -n '3,/^$/s/^# *//p'
> 
> What about also removing UUOC from this line ...
UUOC?  I had too look it up :-)

It's not just "useless use of cat", but also useless use of redirection in both cases. I guess sed can exit after it finishes processing the range (I don't know if it actually does), so feeding it the whole file is not need.

OK, here's an improved patch.
Signed-off-by: Pavel Roskin <proski@gnu.org>
diff --git a/cg-Xlib b/cg-Xlib
--- a/cg-Xlib
+++ b/cg-Xlib
@@ -130,10 +130,11 @@ update_index () {
 
 
 print_help () {
-	which "cg-$1" >/dev/null 2>&1 || exit 1
-	sed -n '/^USAGE=/,0s/.*"\(.*\)"/Usage: \1/p' < $(which cg-$1) 
+	local toolpath=$(which cg-$1 2>/dev/null)
+	[ -z "$toolpath" ] && exit 1
+	sed -n '/^USAGE=/,0s/.*"\(.*\)"/Usage: \1/p' "$toolpath"
 	echo
-	cat $(which cg-$1) | sed -n '3,/^$/s/^# *//p'
+	sed -n '3,/^$/s/^# *//p' "$toolpath"
 	exit
 }
 

P.S. Maybe we could use "type" rather than "which" because the former is
a shell built-in.  Or maybe we should hardcode the prefix on install.
Anyway, it's out of scope of this patch.

P.P.S. I hope that $toolpath doesn't start with "-".  I could add "--"
to the sed command line, but I'm not sure if BSD sed would like it.
-- 
Regards,
Pavel Roskin
Previous: Jonas FonsecaNext: Rene Scharfe
Message 3 of 5 in “Optimized print_help()”
  1. Optimized print_help()Pavel Roskin, Jun 14, 2005
  2. Jonas FonsecaJun 15, 2005
  3. Pavel RoskinJun 15, 2005
  4. Rene ScharfeJun 15, 2005
  5. Pavel RoskinJun 15, 2005

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.