]> code.citadel.org Git - citadel.git/blobdiff - citadel/internet_addressing.c
continuing war on unnecessary include of sys/time.h
[citadel.git] / citadel / internet_addressing.c
index 507347307553f679dbdcb9994ddfd077d293593f..362d6ccf3f8fe1b65d4530c44134b273e17a3faf 100644 (file)
 #include <pwd.h>
 #include <errno.h>
 #include <sys/types.h>
-
-#if TIME_WITH_SYS_TIME
-# include <sys/time.h>
-# include <time.h>
-#else
-# if HAVE_SYS_TIME_H
-#  include <sys/time.h>
-# else
-#  include <time.h>
-# endif
-#endif
-
+#include <time.h>
 #include <sys/wait.h>
 #include <string.h>
 #include <limits.h>
@@ -989,11 +978,16 @@ void unfold_rfc822_field(char **field, char **FieldEnd)
             sField < pFieldEnd; 
             pField++, sField++)
        {
-               if ((*sField=='\r') || (*sField=='\n')) {
-                   sField++;
-                   if  (*sField == '\n')
-                       sField++;
-                   *pField = *sField;
+               if ((*sField=='\r') || (*sField=='\n'))
+               {
+                       int Offset = 1;
+                       while (((*(sField + Offset) == '\r') ||
+                               (*(sField + Offset) == '\n') ||
+                               (isspace(*(sField + Offset)))) && 
+                              (sField + Offset < pFieldEnd))
+                               Offset ++;
+                       sField += Offset;
+                       *pField = *sField;
                }
                else {
                        if (*sField=='\"') quote = 1 - quote;