diff options
Diffstat (limited to 'maildir/maildirparsequota.c')
| -rw-r--r-- | maildir/maildirparsequota.c | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/maildir/maildirparsequota.c b/maildir/maildirparsequota.c new file mode 100644 index 0000000..505f05f --- /dev/null +++ b/maildir/maildirparsequota.c @@ -0,0 +1,43 @@ +/* +** Copyright 1998 - 2002 Double Precision, Inc. +** See COPYING for distribution information. +*/ + +#if HAVE_CONFIG_H +#include "config.h" +#endif +#include "maildirquota.h" +#include <stdlib.h> +#include <string.h> + + +int maildir_parsequota(const char *n, unsigned long *s) +{ +const char *o; +int yes; + + if ((o=strrchr(n, '/')) == 0) o=n; + + for (; *o; o++) + if (*o == MDIRSEP[0]) break; + yes=0; + for ( ; o >= n; --o) + { + if (*o == '/') break; + + if (*o == ',' && o[1] == 'S' && o[2] == '=') + { + yes=1; + o += 3; + break; + } + } + if (yes) + { + *s=0; + while (*o >= '0' && *o <= '9') + *s= *s*10 + (*o++ - '0'); + return (0); + } + return (-1); +} |
