Update README to say GPLv2 or later and remove references to bzr.
[jerry/slag.git] / win32 / spoolss / GetPrintProcessorDirectory.c
1 /******************************************************************\r
2  * SPOOLSS regression testing code for Samba print servers\r
3  * \r
4  *****************************************************************/\r
5 \r
6 #include <windows.h>\r
7 #include <stdio.h>\r
8 \r
9 #define NUM_ARCH        5\r
10 const LPTSTR arch [NUM_ARCH] = {        "Windows 4.0",\r
11                                                         "Windows NT x86",\r
12                                                         "Windows NT R4000",\r
13                                                         "Windows NT PowerPC",\r
14                                                         "Windows NT Alpha_AXP"  };\r
15 \r
16 int main (int argc, char* argv[])\r
17 {\r
18         DWORD   needed, i;\r
19         LPTSTR  buffer1 = NULL;\r
20         \r
21         if (argc < 2)\r
22         {\r
23                 fprintf (stderr, "useage: %s <servername>\n", argv[0]);\r
24                 exit (-1);\r
25         }\r
26 \r
27         for (i=0; i<NUM_ARCH; i++)\r
28         {\r
29                 printf ("[%s]\n", arch[i]);\r
30 \r
31                 needed = 0;\r
32                 GetPrintProcessorDirectory(argv[1], arch[i], 1, (LPBYTE)buffer1, 0, &needed);\r
33                 if (GetLastError() != ERROR_INSUFFICIENT_BUFFER)\r
34                 {\r
35                         fprintf (stderr, "Error GetPrintProcessorDirectory for [%s] using NULL buffer.\n\n", argv[1]);\r
36                         continue;\r
37                 }\r
38 \r
39                 if ((buffer1 = (LPBYTE)malloc(needed)) == NULL)\r
40                 {\r
41                         fprintf (stderr, "Unable to malloc memory for buffer!\n");\r
42                         exit (-1);\r
43                 }\r
44                 if (!GetPrintProcessorDirectory(argv[1], arch[i], 1, (LPBYTE)buffer1, needed, &needed))\r
45                 {\r
46                         fprintf (stderr, "Error getting print processor path for [%s].\nSize of buffer = %d\n\n", \r
47                                         argv[1], needed);\r
48                 }\r
49                 printf ("\tPrint Processor Path\t= %s\n", buffer1);\r
50                 printf ("\n");\r
51 \r
52                 free (buffer1);\r
53         }\r
54 \r
55 \r
56         return 0;\r
57 \r
58 }\r
59 \r