… | |
… | |
51 | #include <uudeview.h> |
51 | #include <uudeview.h> |
52 | #include <uuint.h> |
52 | #include <uuint.h> |
53 | #include <fptools.h> |
53 | #include <fptools.h> |
54 | #include <uustring.h> |
54 | #include <uustring.h> |
55 | |
55 | |
56 | char * uucheck_id = "$Id: uucheck.c,v 1.2 2001/06/11 20:42:36 root Exp $"; |
56 | char * uucheck_id = "$Id: uucheck.c,v 1.3 2002/02/10 22:47:18 root Exp $"; |
57 | |
57 | |
58 | /* |
58 | /* |
59 | * Arbitrary number. This is the maximum number of part numbers we |
59 | * Arbitrary number. This is the maximum number of part numbers we |
60 | * store for our have-parts and missing-parts lists |
60 | * store for our have-parts and missing-parts lists |
61 | */ |
61 | */ |
… | |
… | |
216 | * (That's most likely a filename) |
216 | * (That's most likely a filename) |
217 | **/ |
217 | **/ |
218 | |
218 | |
219 | if (length == 0) { |
219 | if (length == 0) { |
220 | ptr = subject; |
220 | ptr = subject; |
|
|
221 | /* #warning another experimental change */ |
221 | while (*ptr && *ptr != 0x0a && *ptr != 0x0d && ptr != part) { |
222 | /*while (*ptr && *ptr != 0x0a && *ptr != 0x0d && ptr != part) {*/ |
|
|
223 | while (*ptr && *ptr != 0x0a && *ptr != 0x0d) { |
222 | iter = ptr; |
224 | iter = ptr; |
223 | count = length = alflag = 0; |
225 | count = length = alflag = 0; |
224 | |
226 | |
225 | if (FP_strnicmp (ptr, "ftp", 3) == 0) { |
227 | if (FP_strnicmp (ptr, "ftp", 3) == 0) { |
226 | /* hey, that's an ftp address */ |
228 | /* hey, that's an ftp address */ |
… | |
… | |
243 | ptr = iter; |
245 | ptr = iter; |
244 | |
246 | |
245 | length = 0; |
247 | length = 0; |
246 | continue; |
248 | continue; |
247 | } |
249 | } |
|
|
250 | |
|
|
251 | /* #warning multi-part change experimental, make pluggable */ |
248 | if (*iter++ != '.' || count > 32 || alflag == 0) { |
252 | /* if (*iter++ != '.' || count > 32 || alflag == 0) { */ |
|
|
253 | if (*iter++ != '.' || count > 32) { |
249 | ptr = iter; |
254 | ptr = iter; |
250 | length = 0; |
255 | length = 0; |
251 | continue; |
256 | continue; |
252 | } |
257 | } |
|
|
258 | |
|
|
259 | /* two consecutive dots don't look correct */ |
|
|
260 | if (*iter == '.') { |
|
|
261 | ptr = iter + 1; |
|
|
262 | length = 0; |
|
|
263 | continue; |
|
|
264 | } |
|
|
265 | |
253 | if (FP_strnicmp (iter, "edu", 3) == 0 || |
266 | if (FP_strnicmp (iter, "edu", 3) == 0 || |
254 | FP_strnicmp (iter, "gov", 3) == 0) { |
267 | FP_strnicmp (iter, "gov", 3) == 0) { |
255 | /* hey, that's an ftp address */ |
268 | /* hey, that's an ftp address */ |
256 | while (isalpha (*iter) || isdigit (*iter) || *iter == '.') |
269 | while (isalpha (*iter) || isdigit (*iter) || *iter == '.') |
257 | iter++; |
270 | iter++; |