From 87a5f72b2eef3beb10ad50bfbd2a131bd278e67b Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Wed, 19 Mar 2014 14:14:06 +0100 Subject: Work --- server.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'server.c') diff --git a/server.c b/server.c index 2c3aebe..13202f8 100644 --- a/server.c +++ b/server.c @@ -59,6 +59,27 @@ void server_setBase(const char *server, const char *base) entry->base[entry->baseLen] = '\0'; } +void server_setHomeTemplate(const char *server, const char *hometemplate) +{ + server_t *entry = server_create(server); + if (entry == NULL) return; + if (snprintf(entry->homeTemplate, MOUNTLEN, "%s", hometemplate) >= MOUNTLEN) printf("Warning: Home Template for %s is too long.\n", server); + // TODO: Better template system. Using a format string is too lazy + BOOL b = FALSE; + char *s = entry->homeTemplate; + int count = 0; + while (*s) { + if (b) { + if (*s != '%') count++; + b = FALSE; + } else if (*s == '%') b = TRUE; + if (count > 5) *s = '_'; + if (*s == '\\') *s = '/'; + s++; + } + if (count > 5) printf("WARNING: Too many '%%' in Home Template for %s. Don't forget to replace literal '%%' with '%%%%'\n", server); +} + void server_initServers() { int i; -- cgit v1.2.3-55-g7522