On Mon, 2003-03-03 at 09:52, Rick Romero wrote: > I wanted to mention that when using qmailadmin-1.12 and vpopmail-5.3.18, > if I set the quota from qmailadmin to 100MB, the quota is set to > 100483292.00 (I'm just guessing on the bytes, but you get the idea). > > For some reason, I belive the .00 makes vdelivermail bounce email saying > the user is over quota. Using vsetuserquota to set the actual # of > bytes works fine though.
Ok, so here's the code in vpopmail.c (right at the end): char *format_maildirquota(const char *q) { int i; int per_user_limit; static char tempquota[500]; /* translate the quota to a number, or leave it */ i = strlen(q) - 1; tempquota[0] = '\0'; /* make sure tempquota is 0 length */ if(strstr(q, ",") == NULL && q[i] != 'S') { per_user_limit = atol(q); for(i=0;q[i]!=0;++i) { if ( q[i] == 'k' || q[i] == 'K' ) { per_user_limit = per_user_limit * 1024; snprintf(tempquota, 500, "%dS", per_user_limit); break; } if ( q[i] == 'm' || q[i] == 'M' ) { per_user_limit = per_user_limit * 1048576; sprintf(tempquota, "%dS", per_user_limit); break; } } Maybe this isn't the problem... but if per_user_int is initialized as an int, should atol be atoi? Though, supposedly atol() should stop 'converting' at the period anyways.. Maybe it's crashing? > Rick >