diff options
author | Simon Rettberg | 2014-03-19 14:14:06 +0100 |
---|---|---|
committer | Simon Rettberg | 2014-03-19 14:14:06 +0100 |
commit | 87a5f72b2eef3beb10ad50bfbd2a131bd278e67b (patch) | |
tree | 4e75715308afcd6211f304ee198eea735416a5d9 /server.c | |
parent | (Forgot commit) Add fmt_ldapbindrequeststring that takes struct string as arg... (diff) | |
download | ldadp-87a5f72b2eef3beb10ad50bfbd2a131bd278e67b.tar.gz ldadp-87a5f72b2eef3beb10ad50bfbd2a131bd278e67b.tar.xz ldadp-87a5f72b2eef3beb10ad50bfbd2a131bd278e67b.zip |
Work
Diffstat (limited to 'server.c')
-rw-r--r-- | server.c | 21 |
1 files changed, 21 insertions, 0 deletions
@@ -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; |