diff options
author | tjr <tjr@FreeBSD.org> | 2004-04-17 07:16:34 +0000 |
---|---|---|
committer | tjr <tjr@FreeBSD.org> | 2004-04-17 07:16:34 +0000 |
commit | 44c4d557e2436dfbb703a9fc3e78fac79c574d4b (patch) | |
tree | f46d7e51d83360c5b6bdacf5b08e16a415ed61b5 /contrib/less/lsystem.c | |
parent | c0c85bc41cb6c023adae56cf0a7e3495bd528cb2 (diff) | |
download | FreeBSD-src-44c4d557e2436dfbb703a9fc3e78fac79c574d4b.zip FreeBSD-src-44c4d557e2436dfbb703a9fc3e78fac79c574d4b.tar.gz |
Import less v381.
Diffstat (limited to 'contrib/less/lsystem.c')
-rw-r--r-- | contrib/less/lsystem.c | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/contrib/less/lsystem.c b/contrib/less/lsystem.c index 30c89de..eb82eec 100644 --- a/contrib/less/lsystem.c +++ b/contrib/less/lsystem.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2000 Mark Nudelman + * Copyright (C) 1984-2002 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -130,17 +130,12 @@ lsystem(cmd, donemsg) p = save(shell); else { - char *esccmd; - if ((esccmd = esc_metachars(cmd)) == NULL) - { - p = (char *) ecalloc(strlen(shell) + - strlen(cmd) + 7, sizeof(char)); - sprintf(p, "%s -c \"%s\"", shell, cmd); - } else + char *esccmd = shell_quote(cmd); + if (esccmd != NULL) { p = (char *) ecalloc(strlen(shell) + strlen(esccmd) + 5, sizeof(char)); - sprintf(p, "%s -c %s", shell, esccmd); + sprintf(p, "%s %s %s", shell, shell_coption(), esccmd); free(esccmd); } } @@ -152,7 +147,6 @@ lsystem(cmd, donemsg) else p = save(cmd); } - system(p); free(p); #else |