Hello! I hope someone can help...
I posted a message a few days ago which received one reply, but the solution
suggested was not the source of the problem...
Here's the prob... Whenever someone UNSUBSCRIBES from the list, instead of
majordomo removing just that one address from the list file, it removes
EVERY address leaving a null file.
I have traced it to one small block of code in the main majordomo script,
but am uncertain where to go from here:
========= from the unsubscribe code, after "if ($approved".... ============
while (<LIST>) {
if (! &addr_match($subscriber, $_,
(&cf_ck_bool($clean_list,"mungedomain") ? 2 : undef))) {
print NEW $_;
} else {
================== etc.... =====================================
My interpretation of the code causing the problem:
while (<LIST>) = do this as long as there is data to be read from filehandle
LIST.
if $subscriber and $_ are NOT equal or NOT equal at least to name and domain
then print this ($_) to the new listfile (NEW).
The problem is, I can't find anywhere in the code where ($_) is initialized
to a value/string to compare with ($subscriber), so ($_) appears to be a
null string. Obviously the "if" clause will return true {since $subscriber
and $_ are different values}, so it writes the value of ($_) {which is a
null string} to the new file (NEW), when it's completed, the list file
consists of null string (0 bytes) since that's what was written to it....
If anyone has any clues on how to resolve this problem, please let me
know... It is like trying to find a needle in a haystack... then once
you've found it, and you don't know what to do with it... this makes for a
very FRUSTRATING life!!!
Thanks in advance...
Leland
leland@lvande.us.net
---------------------------
http://lvande.us.net/
http://www.innotts.co.uk/~lelandv/
---------------------------
|
|