X-Git-Url: http://git.eversberg.eu/gitweb.cgi?p=lcr.git;a=blobdiff_plain;f=cause.c;h=c021f2199518d85bfaa00822d9340803a05db3ae;hp=42fdb29bb4610adf3c9b29f6b30bd5ca1539047c;hb=a425aedc1ee2c0bba4ba20904943afb21bd6e2e5;hpb=ef3fc1931a2fa82f482d21fb1296735206463d3a diff --git a/cause.c b/cause.c index 42fdb29..c021f21 100644 --- a/cause.c +++ b/cause.c @@ -9,10 +9,13 @@ ** ** \*****************************************************************************/ -#include "stdio.h" -#include "sys/types.h" -#include "string.h" -#include "main.h" +#include +#include +#include +#include +#include "macro.h" +#include "cause.h" +#include "extension.h" struct isdn_cause isdn_cause[128] = { /********************************* - **/ /*38*/ @@ -405,9 +408,14 @@ void collect_cause(int *multicause, int *multilocation, int newcause, int newloc *multicause = newcause; *multilocation = newlocation; } else - if (newcause==CAUSE_NOUSER && *multicause==CAUSE_NOUSER) /* cause 18, but no cause yet, use the location */ + if (newcause==CAUSE_NOUSER && *multicause==CAUSE_NOUSER) /* cause 18, use the location */ { *multilocation = newlocation; + } else + if (*multicause==0) /* no cause yet, use newcause (should be 18) */ + { + *multicause = newcause; + *multilocation = newlocation; } }