mirror of
https://github.com/unrealircd/unrealircd.git
synced 2026-06-12 19:14:46 +02:00
fa2f78fe94
This wasn't done before, because optimizing stuff can always introduce nice new issues. But is kinda necessary now since the previous way was very inefficient. This now builds all the necessary buffers for multiline clients and for non-multiline clients. And then iterates through both types of clients, sending what they need. Instead of doing it the other way around. I had the dillema to either expose the linecache API and have everything in multiline.c. Or, i do not expose linecache, and we do everything in send.c. The downside of the latter is that if there is mistake then we can't simply reload (or unload) the module to solve it. So, I have chosen to expose the linecache API (sure, less clean) since that leaves us with options if we screw up, plus it means everything related to multiline sending is nicely in multiline.c, which is i guess just as good as an argument as well ;)