$Log$
+ Revision 572.23 2000/08/09 17:14:34 ajc
+ msgbase.c: fixed a bug in
+ remove_any_whitespace_to_the_left_or_right_of_at_symbol() that was
+ causing the <R>eply function to fail on names with whitespace in
+ certain parts of the string. This closes Bug #56.
+
Revision 572.22 2000/08/05 04:24:00 ajc
* Added [idle] to client wholist display for sessions idle >15 minutes
* Added a generic "void *userdata" field to CtdlForEachMessage()
Fri Jul 10 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
* Initial CVS import
-
{
int i;
- for (i = 0; i < strlen(name); ++i)
+stov: for (i = 0; i < strlen(name); ++i) {
if (name[i] == '@') {
if (i > 0)
if (isspace(name[i - 1])) {
strcpy(&name[i - 1], &name[i]);
- i = 0;
+ goto stov; /* start over */
}
while (isspace(name[i + 1])) {
strcpy(&name[i + 1], &name[i + 2]);
}
}
+ }
}
int a, b;
char aaa[300], bbb[300];
- TRACE;
remove_any_whitespace_to_the_left_or_right_of_at_symbol(name);
- TRACE;
fp = fopen("network/mail.aliases", "r");
if (fp == NULL)
fp = fopen("/dev/null", "r");
if (fp == NULL)
return (MES_ERROR);
- TRACE;
strcpy(aaa, "");
strcpy(bbb, "");
while (fgets(aaa, sizeof aaa, fp) != NULL) {
if (!strcasecmp(name, aaa))
strcpy(name, bbb);
}
- TRACE;
fclose(fp);
lprintf(7, "Mail is being forwarded to %s\n", name);
}
/* determine local or remote type, see citadel.h */
- TRACE;
for (a = 0; a < strlen(name); ++a)
if (name[a] == '!')
return (MES_INTERNET);
- TRACE;
for (a = 0; a < strlen(name); ++a)
if (name[a] == '@')
for (b = a; b < strlen(name); ++b)
if (name[b] == '.')
return (MES_INTERNET);
b = 0;
- TRACE;
for (a = 0; a < strlen(name); ++a)
if (name[a] == '@')
++b;
GETSN: do {
a = getstring(fp, aaa);
} while ((a >= 0) && (strcasecmp(aaa, bbb)));
- TRACE;
a = getstring(fp, aaa);
if (!strncmp(aaa, "use ", 4)) {
strcpy(bbb, &aaa[4]);
goto GETSN;
}
fclose(fp);
- TRACE;
if (!strncmp(aaa, "uum", 3)) {
strcpy(bbb, name);
for (a = 0; a < strlen(bbb); ++a) {
}
return (MES_ERROR);
}
- TRACE;
lprintf(9, "returning MES_LOCAL\n");
return (MES_LOCAL);
}