Back to index

courier  0.68.2
maildirparsequota.c
Go to the documentation of this file.
00001 /*
00002 ** Copyright 1998 - 2002 Double Precision, Inc.
00003 ** See COPYING for distribution information.
00004 */
00005 
00006 #if HAVE_CONFIG_H
00007 #include "config.h"
00008 #endif
00009 #include      "maildirquota.h"
00010 #include      <stdlib.h>
00011 #include      <string.h>
00012 
00013 
00014 int maildir_parsequota(const char *n, unsigned long *s)
00015 {
00016 const char *o;
00017 int    yes;
00018 
00019        if ((o=strrchr(n, '/')) == 0)      o=n;
00020 
00021        for (; *o; o++)
00022               if (*o == MDIRSEP[0])       break;
00023        yes=0;
00024        for ( ; o >= n; --o)
00025        {
00026               if (*o == '/')       break;
00027 
00028               if (*o == ',' && o[1] == 'S' && o[2] == '=')
00029               {
00030                      yes=1;
00031                      o += 3;
00032                      break;
00033               }
00034        }
00035        if (yes)
00036        {
00037               *s=0;
00038               while (*o >= '0' && *o <= '9')
00039                      *s= *s*10 + (*o++ - '0');
00040               return (0);
00041        }
00042        return (-1);
00043 }