Mercurial > noffle
comparison src/client.c @ 103:f782184db8bc noffle
[svn] 1.0pre6 merge plus variable rename
author | bears |
---|---|
date | Tue, 13 Jun 2000 07:31:43 +0100 |
parents | 38b0a1532a37 |
children | dd2fbc88601d |
comparison
equal
deleted
inserted
replaced
102:38b0a1532a37 | 103:f782184db8bc |
---|---|
1 /* | 1 /* |
2 client.c | 2 client.c |
3 | 3 |
4 $Id: client.c 135 2000-06-05 08:57:05Z bears $ | 4 $Id: client.c 142 2000-06-13 06:31:43Z bears $ |
5 */ | 5 */ |
6 | 6 |
7 #if HAVE_CONFIG_H | 7 #if HAVE_CONFIG_H |
8 #include <config.h> | 8 #include <config.h> |
9 #endif | 9 #endif |
36 | 36 |
37 /* | 37 /* |
38 Some newsgroups names are reserved for server-specific or server | 38 Some newsgroups names are reserved for server-specific or server |
39 pseudo groups. We don't want to fetch them. For example, INN | 39 pseudo groups. We don't want to fetch them. For example, INN |
40 keeps all its control messages in a 'control' hierarchy, and | 40 keeps all its control messages in a 'control' hierarchy, and |
41 used the "to." heirarchy for dark and mysterious purposes I think | 41 used the "to." hierarchy for dark and mysterious purposes I think |
42 are to do with newsfeeds. The recommended restrictions are documented | 42 are to do with newsfeeds. The recommended restrictions are documented |
43 in C.Lindsay, "News Article Format", <draft-ietf-usefor-article-03.txt>. | 43 in C.Lindsay, "News Article Format", <draft-ietf-usefor-article-03.txt>. |
44 */ | 44 */ |
45 | 45 |
46 struct ForbiddenGroupName | 46 struct ForbiddenGroupName |
49 Bool match; | 49 Bool match; |
50 } forbiddenGroupNames[] = | 50 } forbiddenGroupNames[] = |
51 { | 51 { |
52 { "*.*", FALSE }, /* Single component */ | 52 { "*.*", FALSE }, /* Single component */ |
53 { "control.*", TRUE }, /* control.* groups */ | 53 { "control.*", TRUE }, /* control.* groups */ |
54 { "to.*", TRUE }, /* control.* groups */ | 54 { "to.*", TRUE }, /* to.* groups */ |
55 { "*.all", TRUE }, /* 'all' as a component */ | 55 { "*.all", TRUE }, /* 'all' as a component */ |
56 { "*.all.*", TRUE }, | 56 { "*.all.*", TRUE }, |
57 { "all.*", TRUE }, | 57 { "all.*", TRUE }, |
58 { "*.ctl", TRUE }, /* 'ctl' as a component */ | 58 { "*.ctl", TRUE }, /* 'ctl' as a component */ |
59 { "*.ctl.*", TRUE }, | 59 { "*.ctl.*", TRUE }, |
980 Str supersedeIds; | 980 Str supersedeIds; |
981 | 981 |
982 if ( Prt_searchHeader( txt, "Supersedes", supersedeIds ) ) | 982 if ( Prt_searchHeader( txt, "Supersedes", supersedeIds ) ) |
983 { | 983 { |
984 ItemList *ids; | 984 ItemList *ids; |
985 const char *msgId; | 985 const char *supersededMsgId; |
986 | 986 |
987 ids = new_Itl( supersedeIds, " \n\t" ); | 987 ids = new_Itl( supersedeIds, " \n\t" ); |
988 for ( msgId = Itl_first( ids ); | 988 for ( supersededMsgId = Itl_first( ids ); |
989 msgId != NULL; | 989 supersededMsgId != NULL; |
990 msgId = Itl_next( ids ) ) | 990 supersededMsgId = Itl_next( ids ) ) |
991 Ctrl_cancel( msgId ); | 991 Ctrl_cancel( supersededMsgId ); |
992 del_Itl( ids ); | 992 del_Itl( ids ); |
993 } | 993 } |
994 } | 994 } |
995 } | 995 } |
996 else | 996 else |