Make GetPrinterDriverDirectoryA pass all tests.

diff --git a/dlls/winspool/info.c b/dlls/winspool/info.c
index 646cabc..1c33bee 100644
--- a/dlls/winspool/info.c
+++ b/dlls/winspool/info.c
@@ -2505,11 +2505,12 @@
     ret = GetPrinterDriverDirectoryW( nameW.Buffer, environmentW.Buffer, Level,
 				      (LPBYTE)driverDirectoryW, len, &pcbNeededW );
     if (ret) {
-        ret = WideCharToMultiByte( CP_ACP, 0, driverDirectoryW, -1, 
+        DWORD needed;
+        needed = 1 + WideCharToMultiByte( CP_ACP, 0, driverDirectoryW, -1, 
                                    pDriverDirectory, cbBuf, NULL, NULL);
         if(pcbNeeded)
-            *pcbNeeded = WideCharToMultiByte( CP_ACP, 0, driverDirectoryW, -1,
-                                              NULL, 0, NULL, NULL);
+            *pcbNeeded = needed;
+        ret = (needed <= cbBuf) ? TRUE : FALSE;
     } else 
         if(pcbNeeded) *pcbNeeded = pcbNeededW * sizeof(CHAR)/sizeof(WCHAR);