Mercurial > dovecot > original-hg > dovecot-1.2
view src/lib/var-expand.c @ 1329:ae229b7acb4c HEAD
Mailbox names are now sent through imap-quoter instead of just escaping it.
This means that mailbox names that would require escapes are instead sent
as literals now.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Wed, 02 Apr 2003 05:05:38 +0300 |
parents | c077254cbe66 |
children | 5e0167577399 |
line wrap: on
line source
/* Copyright (C) 2003 Timo Sirainen */ #include "lib.h" #include "str.h" #include "var-expand.h" void var_expand(string_t *dest, const char *str, const char *user, const char *home) { const char *var; unsigned int width; for (; *str != '\0'; str++) { if (*str != '%') str_append_c(dest, *str); else { width = 0; while (str[1] >= '0' && str[1] <= '9') { width = width*10 + (str[1] - '0'); str++; } switch (str[1]) { case '%': var = "%"; break; case 'u': var = user; break; case 'h': var = home; break; case 'n': var = t_strcut(user, '@'); break; case 'd': var = strchr(user, '@'); if (var != NULL) var++; break; default: str_append_c(dest, '%'); if (str[1] != '\0') str_append_c(dest, str[1]); var = NULL; break; } if (str[1] != '\0') str++; if (var != NULL) { if (width == 0) str_append(dest, var); else str_append_n(dest, var, width); } } } }