From: Tom C. <tom...@us...> - 2004-12-07 00:34:31
|
Update of /cvsroot/qmailadmin/qmailadmin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5500 Modified Files: Tag: stable-1_2 ChangeLog user.c Log Message: fix bug in handling .qmail files with blank lines. Index: user.c =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/user.c,v retrieving revision 1.11.2.6 retrieving revision 1.11.2.7 diff -u -d -r1.11.2.6 -r1.11.2.7 --- user.c 27 Nov 2004 17:18:06 -0000 1.11.2.6 +++ user.c 7 Dec 2004 00:34:21 -0000 1.11.2.7 @@ -998,7 +998,7 @@ static struct vqpasswd *vpw = NULL; static FILE *fs1=NULL; /* for the .qmail file */ static FILE *fs2=NULL; /* for the vacation message file */ - int i; + int i, j; char fn[500]; char linebuf[256]; int inheader; @@ -1027,7 +1027,7 @@ while (fgets (linebuf, sizeof(linebuf), fs1) != NULL) { i = strlen (linebuf); /* strip trailing newline if any */ - if (i && linebuf[i-1] == '\n') linebuf[i-1] = '\0'; + if (i && (linebuf[i-1] == '\n')) linebuf[i-1] = '\0'; switch (*linebuf) { case '\0': /* blank line, ignore */ @@ -1116,8 +1116,11 @@ case '2': /* forwarding addresses */ if (fs1 != NULL) { rewind (fs1); - i = 0; + j = 0; while (fgets (linebuf, sizeof(linebuf), fs1) != NULL) { + i = strlen (linebuf); + /* strip trailing newline if any */ + if (i && (linebuf[i-1] == '\n')) linebuf[i-1] = '\0'; switch (*linebuf) { case '\0': /* blank line */ case '/': /* maildir delivery */ @@ -1127,9 +1130,9 @@ break; default: /* email address delivery */ - /* print address, skipping over '&' if necessary and removing newline */ - if (i++) printf (", "); - printh ("%H", strtok(&linebuf[(*linebuf == '&' ? 1 : 0)], "\n")); + /* print address, skipping over '&' if necessary */ + if (j++) printf (", "); + printh ("%H", &linebuf[(*linebuf == '&' ? 1 : 0)], "\n"); } } } Index: ChangeLog =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/ChangeLog,v retrieving revision 1.15.2.38 retrieving revision 1.15.2.39 diff -u -d -r1.15.2.38 -r1.15.2.39 --- ChangeLog 7 Dec 2004 00:29:20 -0000 1.15.2.38 +++ ChangeLog 7 Dec 2004 00:34:21 -0000 1.15.2.39 @@ -3,6 +3,9 @@ 1.2.6 - unreleased + Tom Collins + - user.c: fix bug in handling .qmail files with blank lines. + 1.2.5 - released 1-Dec-04 Tom Collins |