diff src/server.c @ 82:1eb0cdd17c76 noffle

[svn] info-always-unread config/doc/implementation
author bears
date Sun, 14 May 2000 17:15:08 +0100
parents c7df2cc65cc1
children dfcb28566d36
line wrap: on
line diff
--- a/src/server.c	Sun May 14 17:13:21 2000 +0100
+++ b/src/server.c	Sun May 14 17:15:08 2000 +0100
@@ -1,7 +1,7 @@
 /*
   server.c
 
-  $Id: server.c 80 2000-05-13 15:36:35Z bears $
+  $Id: server.c 88 2000-05-14 16:15:08Z bears $
 */
 
 #if HAVE_CONFIG_H
@@ -124,21 +124,37 @@
     FetchMode mode;
 
     Grp_setLastAccess( server.grp, time( NULL ) );
-    if ( ! Grp_local ( server.grp ) && Cfg_autoSubscribe() && ! Online_true() )
+    if ( ! Grp_local ( server.grp ) && ! Online_true() )
     {
         Fetchlist_read();
         if ( ! Fetchlist_contains( server.grp ) )
-        {
-            if ( strcmp( Cfg_autoSubscribeMode(), "full" ) == 0 )
-                mode = FULL;
-            else if ( strcmp( Cfg_autoSubscribeMode(), "thread" ) == 0 )
-                mode = THREAD;
-            else
-                mode = OVER;
-            Fetchlist_add( server.grp, mode );
-            Fetchlist_write();
-            Pseudo_autoSubscribed();
-        }
+	{
+	    if ( Cfg_autoSubscribe() )
+	    {
+		if ( strcmp( Cfg_autoSubscribeMode(), "full" ) == 0 )
+		    mode = FULL;
+		else if ( strcmp( Cfg_autoSubscribeMode(), "thread" ) == 0 )
+		    mode = THREAD;
+		else
+		    mode = OVER;
+		Fetchlist_add( server.grp, mode );
+		Fetchlist_write();
+		Pseudo_autoSubscribed();
+	    }
+	    else if ( Cfg_infoAlways() )
+	    {
+		int first, last;
+
+		/* Ensure new gen info for next time */
+		first = Cont_first();
+		last = Cont_last();
+
+		if ( first == last )
+		    first = last + 1;
+		
+		Grp_setFirstLast( Cont_grp(), first, last );
+	    }
+	}
     }
 }