Skip to content

Commit be67ac8

Browse files
committed
Check OpenPrinter
1 parent bbf91bd commit be67ac8

File tree

1 file changed

+7
-12
lines changed

1 file changed

+7
-12
lines changed

contrib/platform/src/com/sun/jna/platform/win32/WinspoolUtil.java

+7-12
Original file line numberDiff line numberDiff line change
@@ -68,18 +68,15 @@ private static PRINTER_INFO_2[] getPrinterInfo2(int flags) {
6868
IntByReference pcbNeeded = new IntByReference();
6969
IntByReference pcReturned = new IntByReference();
7070
Winspool.INSTANCE.EnumPrinters(flags, null, 2, null, 0, pcbNeeded, pcReturned);
71-
if (pcbNeeded.getValue() <= 0) {
71+
if (pcbNeeded.getValue() <= 0)
7272
return new PRINTER_INFO_2[0];
73-
}
7473

7574
PRINTER_INFO_2 pPrinterEnum = new PRINTER_INFO_2(pcbNeeded.getValue());
76-
if (!Winspool.INSTANCE.EnumPrinters(flags, null, 2, pPrinterEnum.getPointer(), pcbNeeded.getValue(),
77-
pcbNeeded, pcReturned)) {
75+
if (!Winspool.INSTANCE.EnumPrinters(flags, null, 2, pPrinterEnum.getPointer(), pcbNeeded.getValue(), pcbNeeded,
76+
pcReturned))
7877
throw new Win32Exception(Kernel32.INSTANCE.GetLastError());
79-
}
8078

8179
pPrinterEnum.read();
82-
8380
return (PRINTER_INFO_2[]) pPrinterEnum.toArray(pcReturned.getValue());
8481
}
8582

@@ -88,18 +85,16 @@ public static PRINTER_INFO_2 getPrinterInfo2(String printerName) {
8885
IntByReference pcReturned = new IntByReference();
8986
HANDLEByReference pHandle = new HANDLEByReference();
9087

91-
Winspool.INSTANCE.OpenPrinter(printerName, pHandle, null);
88+
if (!Winspool.INSTANCE.OpenPrinter(printerName, pHandle, null))
89+
throw new Win32Exception(Kernel32.INSTANCE.GetLastError());
9290

9391
Winspool.INSTANCE.GetPrinter(pHandle.getValue(), 2, null, 0, pcbNeeded);
94-
if (pcbNeeded.getValue() <= 0) {
92+
if (pcbNeeded.getValue() <= 0)
9593
return new PRINTER_INFO_2();
96-
}
9794

9895
PRINTER_INFO_2 pinfo2 = new PRINTER_INFO_2(pcbNeeded.getValue());
99-
100-
if (!Winspool.INSTANCE.GetPrinter(pHandle.getValue(), 2, pinfo2.getPointer(), pcbNeeded.getValue(), pcReturned)) {
96+
if (!Winspool.INSTANCE.GetPrinter(pHandle.getValue(), 2, pinfo2.getPointer(), pcbNeeded.getValue(), pcReturned))
10197
throw new Win32Exception(Kernel32.INSTANCE.GetLastError());
102-
}
10398

10499
pinfo2.read();
105100
return pinfo2;

0 commit comments

Comments
 (0)