Commit fd9dd934 authored by Max Kellermann's avatar Max Kellermann

ArchiveLookup: move code to FindSuffix()

parent 1b8a1d41
...@@ -29,6 +29,18 @@ ...@@ -29,6 +29,18 @@
#include <unistd.h> #include <unistd.h>
#include <errno.h> #include <errno.h>
gcc_pure
static const char *
FindSuffix(const char *p, size_t i)
{
for (; i > 0; --i) {
if (p[i] == '.')
return p + i + 1;
}
return nullptr;
}
bool bool
archive_lookup(char *pathname, const char **archive, archive_lookup(char *pathname, const char **archive,
const char **inpath, const char **suffix) const char **inpath, const char **suffix)
...@@ -67,14 +79,7 @@ archive_lookup(char *pathname, const char **archive, ...@@ -67,14 +79,7 @@ archive_lookup(char *pathname, const char **archive,
*inpath = pathname + idx+1; *inpath = pathname + idx+1;
//try to get suffix //try to get suffix
*suffix = NULL; *suffix = FindSuffix(pathname, idx);
while (idx > 0) {
if (pathname[idx] == '.') {
*suffix = pathname + idx + 1;
break;
}
idx--;
}
break; break;
} else { } else {
FormatError(archive_domain, FormatError(archive_domain,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment