shannon@sun.uucp (Bill Shannon) (08/09/85)
I think I've found another gross bug in the uucp packet driver. In pk1.c/pkopen() at the beginning it does: if (++pkactive >= NPLINES) return (NULL); This is the only place pkactive is used. If you try to call more than NPLINES systems during one execution of uucico, pkopen will fail, causing the "FAILED (startup)" error message. This code seems to be left over from when the packet driver was put in the kernel and it wanted to limit the number of lines that were running the packet driver. There's even a data structure, pklines, that holds pointers to the NPLINES possible open lines. However, no one uses that data structure except a routine that takes a packet pointer and returns an index into that data structure, but no one calls that routine! Yuck, what a mess! Does anyone know of any reason that all this glop shouldn't just be pulled out? The only thing I'm worried about is that when the packet driver is closed, it may not free all the dynamically allocated storage it used. The above gross code at least puts a limit on the amount of wasted storage. Bill Shannon