summaryrefslogtreecommitdiff
path: root/sqmail-4.3.07/src/headerbody.c
diff options
context:
space:
mode:
Diffstat (limited to 'sqmail-4.3.07/src/headerbody.c')
-rw-r--r--sqmail-4.3.07/src/headerbody.c78
1 files changed, 0 insertions, 78 deletions
diff --git a/sqmail-4.3.07/src/headerbody.c b/sqmail-4.3.07/src/headerbody.c
deleted file mode 100644
index 82c5684..0000000
--- a/sqmail-4.3.07/src/headerbody.c
+++ /dev/null
@@ -1,78 +0,0 @@
-#include "stralloc.h"
-#include "buffer.h"
-#include "getln.h"
-#include "hfield.h"
-#include "headerbody.h"
-
-static int getsa(buffer *b,stralloc *sa,int *match)
-{
- if (!*match) return 0;
- if (getln(b,sa,match,'\n') == -1) return -1;
- if (*match) return 1;
- if (!sa->len) return 0;
- if (!stralloc_append(sa,"\n")) return -1;
-
- return 1;
-}
-
-static stralloc line = {0};
-static stralloc nextline = {0};
-
-int headerbody(b,dohf,hdone,dobl)
-buffer *b;
-void (*dohf)();
-void (*hdone)();
-void (*dobl)();
-{
- int match;
- int flaglineok;
- match = 1;
- flaglineok = 0;
-
- for (;;) {
- switch (getsa(b,&nextline,&match)) {
- case -1:
- return -1;
- case 0:
- if (flaglineok) dohf(&line);
- hdone();
- /* no message body; could insert blank line here */
- return 0;
- }
-
- if (flaglineok) {
- if ((nextline.s[0] == ' ') || (nextline.s[0] == '\t')) {
- if (!stralloc_cat(&line,&nextline)) return -1;
- continue;
- }
- dohf(&line);
- }
-
- if (nextline.len == 1) {
- hdone();
- dobl(&nextline);
- break;
- }
-
- if (stralloc_starts(&nextline,"From ")) {
- if (!stralloc_copys(&line,"MBOX-Line: ")) return -1;
- if (!stralloc_cat(&line,&nextline)) return -1;
- } else if (hfield_valid(nextline.s,nextline.len)) {
- if (!stralloc_copy(&line,&nextline)) return -1;
- } else {
- hdone();
- if (!stralloc_copys(&line,"\n")) return -1;
- dobl(&line);
- dobl(&nextline);
- break;
- }
- flaglineok = 1;
- }
-
- for (;;)
- switch (getsa(b,&nextline,&match)) {
- case -1: return -1;
- case 0: return 0;
- case 1: dobl(&nextline);
- }
-}