mlist: extract squeeze_slash

pull/69/head
Leah Neukirchen 7 years ago
parent 73d80d80f9
commit 157542c3e7

@ -33,6 +33,7 @@ mshow : filter.o safe_u8putstr.o rfc2231.o pipeto.o
mscan : pipeto.o
msort : mystrverscmp.o
mmime : slurp.o
mlist : squeeze_slash.o
museragent: FRC
@printf '#!/bin/sh\nprintf "User-Agent: mblaze/%s (%s)\\n"\n' \

@ -97,3 +97,6 @@ void safe_u8putstr(char *s0, size_t l, FILE *stream);
pid_t pipeto(const char *cmdline);
int pipeclose(pid_t pid);
// squeeze_slash.c
void squeeze_slash(char *);

@ -168,17 +168,7 @@ listdir(char *dir)
void
listarg(char *arg)
{
char *s, *t;
// squeeze slashes
s = t = arg;
while ((*s++ = *t))
while (*t++ == '/' && *t == '/')
;
// remove trailing slashes
s--;
while (*--s == '/')
*s = 0;
squeeze_slash(arg);
struct stat st;
if (stat(arg, &st) < 0)

@ -0,0 +1,15 @@
void
squeeze_slash(char *arg) {
char *s, *t;
// squeeze slashes
s = t = arg;
while ((*s++ = *t))
while (*t++ == '/' && *t == '/')
;
// remove trailing slashes
s--;
while (*--s == '/')
*s = 0;
}
Loading…
Cancel
Save