From 6d38183c86edb0e4c64ccfcd91b81f37fc79b23a Mon Sep 17 00:00:00 2001 From: Assar Westerlund Date: Sun, 25 May 1997 13:36:39 +0000 Subject: [PATCH] (retrieve): Generalise list of commands and basename argument. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@1770 ec53bebd-3082-4978-b11e-865c3cabbd6b --- appl/ftp/ftpd/ftpd.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/appl/ftp/ftpd/ftpd.c b/appl/ftp/ftpd/ftpd.c index 78a7f4ee8..24fe7a5d7 100644 --- a/appl/ftp/ftpd/ftpd.c +++ b/appl/ftp/ftpd/ftpd.c @@ -936,12 +936,11 @@ retrieve(char *cmd, char *name) char *ext; char *cmd; } cmds[] = { - /* XXX - make this more general */ - {".tar", "/bin/gtar cPf - "}, - {".tar.gz", "/bin/gtar zcPf - "}, - {".tar.Z", "/bin/gtar ZcPf - "}, - {".gz", "/bin/gzip -c "}, - {".Z", "/bin/compress -c "}, + {".tar", "/bin/gtar cPf - %s"}, + {".tar.gz", "/bin/gtar zcPf - %s"}, + {".tar.Z", "/bin/gtar ZcPf - %s"}, + {".gz", "/bin/gzip -c %s"}, + {".Z", "/bin/compress -c %s"}, {NULL, NULL} }; struct cmds *p; @@ -949,9 +948,10 @@ retrieve(char *cmd, char *name) char *tail = name + strlen(name) - strlen(p->ext); if(strcmp(tail, p->ext) == 0){ - snprintf (line, sizeof(line), - "%s%s", - p->cmd, name); + char c = *tail; + *tail = 0; + snprintf (line, sizeof(line), p->cmd, name); + *tail = c; break; } }