Rocco Rutte:
authorpdmef <pdmef@e385b8ad-14ed-0310-8656-cc95a2468c6d>
Thu, 8 Sep 2005 19:01:41 +0000 (19:01 +0000)
committerpdmef <pdmef@e385b8ad-14ed-0310-8656-cc95a2468c6d>
Thu, 8 Sep 2005 19:01:41 +0000 (19:01 +0000)
- merge in latest mutt changes
- it's USE_SOCKET not USER_SOCKET

git-svn-id: svn://svn.berlios.de/mutt-ng/trunk@490 e385b8ad-14ed-0310-8656-cc95a2468c6d

ChangeLog.mutt
VERSION.svn
curs_lib.c
mutt_socket.c
pager.c
pattern.c

index 00abd47..e919f82 100644 (file)
@@ -1,3 +1,20 @@
+2005-09-08 16:37:59  Brendan Cully  <brendan@kublai.com>  (brendan)
+
+       * mutt_socket.c: Set CLOEXEC on sockets in IPv4 code path like we
+       do in IPv6.
+
+       * pattern.c: Make stringmatch pattern detection stateless.
+
+       * curs_lib.c: ifdef USE_SOCKET around mutt_progress_bar.
+
+2005-09-08 07:09:46  Bernd Ahlers  <bernd@ba-net.org>  (brendan)
+
+       * po/sk.po, po/sv.po, po/tr.po, po/uk.po, po/zh_CN.po,
+       po/zh_TW.po, po/it.po, po/ja.po, po/ko.po, po/lt.po, po/nl.po,
+       po/pl.po, po/pt_BR.po, po/ru.po, po/da.po, po/de.po, po/el.po,
+       po/eo.po, po/es.po, po/et.po, po/fr.po, po/gl.po, po/hu.po,
+       po/id.po, po/ca.po, po/cs.po: Correct some S/MIME po entries.
+
 2005-09-07 08:01:59  Brendan Cully  <brendan@kublai.com>  (brendan)
 
        * curs_lib.c: Ensure progress bar rounds to $net_inc.
 2005-09-07 08:01:59  Brendan Cully  <brendan@kublai.com>  (brendan)
 
        * curs_lib.c: Ensure progress bar rounds to $net_inc.
index 615d0e0..4a8e7b5 100644 (file)
@@ -1 +1 @@
-486
+490
index 9856b2d..ee5a9b7 100644 (file)
@@ -310,7 +310,7 @@ void mutt_curses_error (const char *fmt, ...)
   set_option (OPTMSGERR);
 }
 
   set_option (OPTMSGERR);
 }
 
-#ifdef USER_SOCKET
+#ifdef USE_SOCKET
 void mutt_progress_bar (progress_t* progress, long pos) {
   char posstr[SHORT_STRING];
 
 void mutt_progress_bar (progress_t* progress, long pos) {
   char posstr[SHORT_STRING];
 
index f0ca158..9029b3e 100644 (file)
@@ -475,6 +475,7 @@ int raw_socket_open (CONNECTION * conn)
 
     if (fd >= 0) {
       if ((rc = socket_connect (fd, (struct sockaddr *) &sin)) == 0) {
 
     if (fd >= 0) {
       if ((rc = socket_connect (fd, (struct sockaddr *) &sin)) == 0) {
+        fcntl (fd, F_SETFD, FD_CLOEXEC);
         conn->fd = fd;
         break;
       }
         conn->fd = fd;
         break;
       }
diff --git a/pager.c b/pager.c
index 752792b..941ae3f 100644 (file)
--- a/pager.c
+++ b/pager.c
@@ -2609,7 +2609,9 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra)
   fclose (fp);
   if (IsHeader (extra)) {
     Context->msgnotreadyet = -1;
   fclose (fp);
   if (IsHeader (extra)) {
     Context->msgnotreadyet = -1;
-    if (rc != -1) {
+    if (rc == -1)
+      OldHdr = NULL;
+    else {
       TopLine = topline;
       OldHdr = extra->hdr;
     }
       TopLine = topline;
       OldHdr = extra->hdr;
     }
index 53cce82..d7b274f 100644 (file)
--- a/pattern.c
+++ b/pattern.c
@@ -698,7 +698,6 @@ pattern_t *mutt_pattern_comp ( /* const */ char *s, int flags, BUFFER * err)
   pattern_t *last = NULL;
   int not = 0;
   int alladdr = 0;
   pattern_t *last = NULL;
   int not = 0;
   int alladdr = 0;
-  int stringmatch = 0;
   int or = 0;
   int implicit = 1;             /* used to detect logical AND operator */
   struct pattern_flags *entry;
   int or = 0;
   int implicit = 1;             /* used to detect logical AND operator */
   struct pattern_flags *entry;
@@ -744,10 +743,8 @@ pattern_t *mutt_pattern_comp ( /* const */ char *s, int flags, BUFFER * err)
       implicit = 0;
       not = 0;
       alladdr = 0;
       implicit = 0;
       not = 0;
       alladdr = 0;
-      stringmatch = 0;
       break;
     case '=':
       break;
     case '=':
-      stringmatch = 1;
       /* fallthrough */
     case '~':
       if (implicit && or) {
       /* fallthrough */
     case '~':
       if (implicit && or) {
@@ -763,10 +760,9 @@ pattern_t *mutt_pattern_comp ( /* const */ char *s, int flags, BUFFER * err)
       tmp = new_pattern ();
       tmp->not = not;
       tmp->alladdr = alladdr;
       tmp = new_pattern ();
       tmp->not = not;
       tmp->alladdr = alladdr;
-      tmp->stringmatch = stringmatch;
+      tmp->stringmatch = (*ps.dptr == '=') ? 1 : 0;
       not = 0;
       alladdr = 0;
       not = 0;
       alladdr = 0;
-      stringmatch = 0;
 
       if (last)
         last->next = tmp;
 
       if (last)
         last->next = tmp;