summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-François Micouleau <jfm@samba.org>2000-03-07 09:06:03 +0000
committerJean-François Micouleau <jfm@samba.org>2000-03-07 09:06:03 +0000
commit2b4f09e7bbcbf1bf835f299e9f6bf89b32a7f03f (patch)
tree241f1b408e72fc15046ae518ee1551c75ef78816
parent025cdb345f6de287a41d4449b2662dbc5e762bf2 (diff)
downloadsamba-2b4f09e7bbcbf1bf835f299e9f6bf89b32a7f03f.tar.gz
fixed enumprinterdata.
J.F.
-rw-r--r--source/include/nterr.h9
-rw-r--r--source/printing/nt_printing.c21
-rw-r--r--source/rpc_server/srv_spoolss_nt.c4
3 files changed, 20 insertions, 14 deletions
diff --git a/source/include/nterr.h b/source/include/nterr.h
index 87935091195..df2cde61f70 100644
--- a/source/include/nterr.h
+++ b/source/include/nterr.h
@@ -3,10 +3,17 @@
#define STATUS_BUFFER_OVERFLOW (5)
#define STATUS_MORE_ENTRIES (0x105)
+
+/* Win32 Error codes. */
+
+#define ERROR_ACCESS_DENIED (5)
#define ERROR_INVALID_HANDLE (6)
#define ERROR_INVALID_PARAMETER (87)
#define ERROR_INSUFFICIENT_BUFFER (122)
-#define STATUS_1804 (1804)
+#define ERROR_INVALID_NAME (123)
+#define ERROR_NO_MORE_ITEMS (259)
+#define ERROR_INVALID_PRINTER_NAME (1801)
+#define ERROR_INVALID_DATATYPE (1804)
/* these are the NT error codes less than 1000. They are here for when
we start supporting NT error codes in Samba. They were extracted
diff --git a/source/printing/nt_printing.c b/source/printing/nt_printing.c
index a880184f3df..061b41e1231 100644
--- a/source/printing/nt_printing.c
+++ b/source/printing/nt_printing.c
@@ -1272,17 +1272,16 @@ BOOL get_specific_param_by_index(NT_PRINTER_INFO_LEVEL printer, uint32 level, ui
i++;
}
- if (param != NULL)
- {
- /* exited because it exist */
- *type=param->type;
- StrnCpy(value, param->value, sizeof(value)-1);
- *data=(uint8 *)malloc(param->data_len*sizeof(uint8));
- memcpy(*data, param->data, param->data_len);
- *len=param->data_len;
- return (True);
- }
- return (False);
+ if (param == NULL)
+ return False;
+
+ /* exited because it exist */
+ *type=param->type;
+ StrnCpy(value, param->value, sizeof(fstring)-1);
+ *data=(uint8 *)malloc(param->data_len*sizeof(uint8));
+ memcpy(*data, param->data, param->data_len);
+ *len=param->data_len;
+ return True;
}
/****************************************************************************
diff --git a/source/rpc_server/srv_spoolss_nt.c b/source/rpc_server/srv_spoolss_nt.c
index 9d465ca1452..f15fc751819 100644
--- a/source/rpc_server/srv_spoolss_nt.c
+++ b/source/rpc_server/srv_spoolss_nt.c
@@ -2483,7 +2483,7 @@ uint32 _spoolss_startdocprinter( const POLICY_HND *handle, uint32 level,
if (strcmp(datatype, "RAW") != 0)
{
(*jobid)=0;
- return STATUS_1804;
+ return ERROR_INVALID_DATATYPE;
}
}
@@ -3674,7 +3674,7 @@ uint32 _spoolss_enumprinterdata(const POLICY_HND *handle, uint32 index,
if (!get_specific_param_by_index(printer, 2, index, value, &data, &type, &data_len)) {
free_a_printer(printer, 2);
- return 0x0103; /* ERROR_NO_MORE_ITEMS */
+ return ERROR_NO_MORE_ITEMS;
}
/*