(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:
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user