malloc functions, which automatically cast to the same type they're
allocating the size of. Should prevent any future errors involving
mallocing the size of the wrong structure type, and will also make
life easier if we ever need to turn the PuTTY core code from real C
into C++-friendly C. I haven't touched the Mac frontend in this
checkin because I couldn't compile or test it.
[originally from svn r3014]
finally isolated the _important_ difference between Romano Trampus's
working printing.c and my failing one: he ignores the error return
from the first exploratory how-big-does-my-buffer-need-to-be call to
EnumPrinters(), because not having enough buffer space counts as an
error condition. Hence I am officially a klutz, but this should now
work. (Also reverted ENUM_LEVEL to 1, again, because that seems to
be the choice of people whose code works.)
[originally from svn r1915]
specifying both PRINTER_ENUM_LOCAL and PRINTER_ENUM_CONNECTIONS
catches more printers in some circumstances than two EnumPrinters()
calls each specifying just one of them. We'll try it for a bit; if
it goes wrong I might have to put back the two original calls as
well and sort out some means of removing duplicate printers from the
list.
[originally from svn r1829]