]> mj.ucw.cz Git - umpf.git/blobdiff - ham.c
nearly finished filter
[umpf.git] / ham.c
diff --git a/ham.c b/ham.c
index 363a671e47747d0cb4310e0752a46b372f62c269..0424d05a7b909d17fd606ef0ce02ce76828de27d 100644 (file)
--- a/ham.c
+++ b/ham.c
@@ -51,11 +51,13 @@ give_me_char(int fd)
                gmc_read = read(fd, gmc_buf, BUFSIZE);
                gmc_init = 1;
                gmc_unget = EOF;
+               curr_email_len = 0;
        }
 
        if (gmc_unget != EOF) {
                int a = gmc_unget;
                gmc_unget = EOF;
+               curr_email_len++;
                return a;
        }
 
@@ -65,6 +67,7 @@ give_me_char(int fd)
        }
 
        if (gmc_pos < gmc_read) {
+               curr_email_len++;
                return gmc_buf[gmc_pos++];
        } else {
                gmc_pos = 0;
@@ -74,6 +77,7 @@ give_me_char(int fd)
                        return EOF;
                }
                else {
+                       curr_email_len++;
                        return gmc_buf[gmc_pos++];
                }
        }
@@ -83,6 +87,7 @@ static void
 unget_me(int c)
 {
        gmc_unget = c;
+       curr_email_len--;
 }
 
 struct list*