(retrieve): Generalise list of commands and basename argument.

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@1770 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Assar Westerlund
1997-05-25 13:36:39 +00:00
parent 2d7738bc02
commit 6d38183c86

View File

@@ -936,12 +936,11 @@ retrieve(char *cmd, char *name)
char *ext; char *ext;
char *cmd; char *cmd;
} cmds[] = { } cmds[] = {
/* XXX - make this more general */ {".tar", "/bin/gtar cPf - %s"},
{".tar", "/bin/gtar cPf - "}, {".tar.gz", "/bin/gtar zcPf - %s"},
{".tar.gz", "/bin/gtar zcPf - "}, {".tar.Z", "/bin/gtar ZcPf - %s"},
{".tar.Z", "/bin/gtar ZcPf - "}, {".gz", "/bin/gzip -c %s"},
{".gz", "/bin/gzip -c "}, {".Z", "/bin/compress -c %s"},
{".Z", "/bin/compress -c "},
{NULL, NULL} {NULL, NULL}
}; };
struct cmds *p; struct cmds *p;
@@ -949,9 +948,10 @@ retrieve(char *cmd, char *name)
char *tail = name + strlen(name) - strlen(p->ext); char *tail = name + strlen(name) - strlen(p->ext);
if(strcmp(tail, p->ext) == 0){ if(strcmp(tail, p->ext) == 0){
snprintf (line, sizeof(line), char c = *tail;
"%s%s", *tail = 0;
p->cmd, name); snprintf (line, sizeof(line), p->cmd, name);
*tail = c;
break; break;
} }
} }