2007-12-05 [colin] 3.1.0cvs60
authorColin Leroy <colin@colino.net>
Wed, 5 Dec 2007 19:45:53 +0000 (19:45 +0000)
committerColin Leroy <colin@colino.net>
Wed, 5 Dec 2007 19:45:53 +0000 (19:45 +0000)
* src/news.c
Fix debian bug #453157, 'Fails to post usenet
articles after NNTP connection has been
interrupted". Fix return value to prevent deletion
on failure, and issue MODE READER in case posting
fails at first.

ChangeLog
PATCHSETS
configure.ac
src/news.c

index a5e95a9e4f487b00119d355ede1bceffdff4a41e..d2abf82e7bc3b181285202d1c3c09826bfb5820c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2007-12-05 [colin]     3.1.0cvs60
+
+       * src/news.c
+               Fix debian bug #453157, 'Fails to post usenet
+               articles after NNTP connection has been 
+               interrupted". Fix return value to prevent deletion
+               on failure, and issue MODE READER in case posting
+               fails at first.
+
 2007-12-05 [colin]     3.1.0cvs59
 
        * src/messageview.c
index 770535f380ad6e4b6ef7e44bceac4d4454479654..6002406fb3991cb315dd5a5282085f6e00b6707d 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.1.4.91 -r 1.1.4.92 src/etpan/imap-thread.c;  ) > 3.1.0cvs57.patchset
 ( cvs diff -u -r 1.1.2.26 -r 1.1.2.27 src/prefs_other.c;  cvs diff -u -r 1.1.4.11 -r 1.1.4.12 src/gtk/gtksctree.h;  ) > 3.1.0cvs58.patchset
 ( cvs diff -u -r 1.94.2.166 -r 1.94.2.167 src/messageview.c;  cvs diff -u -r 1.1.2.6 -r 1.1.2.7 src/uri_opener.c;  ) > 3.1.0cvs59.patchset
+( cvs diff -u -r 1.101.2.47 -r 1.101.2.48 src/news.c;  ) > 3.1.0cvs60.patchset
index 18e2d9ddcaf6abb26c366ffd1184c569ba1b79b0..46665ce857b4df021db3cd358d615688ae0a3aec 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=1
 MICRO_VERSION=0
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=59
+EXTRA_VERSION=60
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=
 
index bc8d91c47fba3c5d96d1debfaf54d64588d5800b..505111d69bd74510c2e25f4375fab68426f0c2ba 100644 (file)
@@ -682,14 +682,20 @@ gint news_post(Folder *folder, const gchar *file)
        }
        
        ok = nntp_threaded_post(folder, contents, strlen(contents));
-       
+
+       if (ok != NEWSNNTP_NO_ERROR && ok != NEWSNNTP_ERROR_STREAM) {
+               ok = nntp_threaded_mode_reader(folder);
+               if (ok == NEWSNNTP_NO_ERROR)
+                       ok = nntp_threaded_post(folder, contents, strlen(contents));
+       }
        g_free(contents);
+
        if (ok == NEWSNNTP_ERROR_STREAM) {
                session_destroy(SESSION(session));
                REMOTE_FOLDER(folder)->session = NULL;
        }
 
-       return ok;
+       return (ok  = NEWSNNTP_NO_ERROR ? 0 : -1);
 }
 
 static gint news_get_article(Folder *folder, gint num, gchar *filename)