--- src/man.c.orig 2006-06-02 12:52:27.000000000 -0700
+++ src/man.c 2006-06-02 15:11:32.000000000 -0700
@@ -335,7 +335,7 @@
if (expander && *expander) {
char *command;
- command = my_xsprintf ("%s %S", expander, name);
+ command = my_xsprintf ("%s '%Q'", expander, name);
fp = my_popen (command, "r");
if (fp == NULL) {
perror("popen");
@@ -604,10 +604,10 @@
if (expander && *expander) {
if (converter && *converter)
- command = my_xsprintf("%s%s '%S' | %s%s",
+ command = my_xsprintf("%s%s '%Q' | %s%s",
bufh, expander, file, converter, buft);
else
- command = my_xsprintf("%s%s '%S'%s",
+ command = my_xsprintf("%s%s '%Q'%s",
bufh, expander, file, buft);
} else if (ll || pl) {
const char *cat = getval("CAT");
@@ -615,10 +615,10 @@
cat = "cat";
if (converter && *converter)
- command = my_xsprintf("%s%s '%S' | %s%s",
+ command = my_xsprintf("%s%s '%Q' | %s%s",
bufh, cat, file, converter, buft);
else
- command = my_xsprintf("%s%s '%S'%s",
+ command = my_xsprintf("%s%s '%Q'%s",
bufh, cat, file, buft);
}
@@ -641,7 +641,7 @@
}
if (expander && *expander) {
- char *cmd = my_xsprintf ("%s %S", expander, file);
+ char *cmd = my_xsprintf ("%s '%Q'", expander, file);
fp = my_popen (cmd, "r");
if (fp == NULL) {
perror("popen");
@@ -826,9 +826,9 @@
if (roff_command == NULL)
return 0;
if (do_troff)
- command = my_xsprintf ("(cd \"%S\" && %s)", path, roff_command);
+ command = my_xsprintf ("(cd '%Q' && %s)", path, roff_command);
else
- command = my_xsprintf ("(cd \"%S\" && %s | (%s || true))", path,
+ command = my_xsprintf ("(cd '%Q' && %s | (%s || true))", path,
roff_command, pager);
return !do_system_command (command, 0);