s4-smbtorture: fix RPC-SPOOLSS-WIN after PrinterData IDL changes.
authorGünther Deschner <gd@samba.org>
Fri, 5 Mar 2010 19:32:16 +0000 (20:32 +0100)
committerKarolin Seeger <kseeger@samba.org>
Mon, 29 Mar 2010 07:41:03 +0000 (09:41 +0200)
Guenther
(cherry picked from commit 58c9070746a3e0725f5d3a3ce6deda8fad0c5974)
(cherry picked from commit 71a9d145d365d09588ecea1ad8a53535c3638b4f)

source4/torture/rpc/spoolss_win.c

index 58344805b1a0e05c39feebd70b62e000ce805b8d..8179e86f6074a5ccbd45293bcd2bccb909f2dde6 100644 (file)
@@ -160,7 +160,7 @@ static bool test_GetPrinterData(struct torture_context *tctx,
        struct spoolss_GetPrinterData gpd;
        uint32_t needed;
        enum winreg_Type type;
-       union spoolss_PrinterData data;
+       uint8_t *data = talloc_zero_array(tctx, uint8_t, 4);
 
        torture_comment(tctx, "Testing GetPrinterData(%s).\n", value_name);
        gpd.in.handle = handle;
@@ -168,7 +168,7 @@ static bool test_GetPrinterData(struct torture_context *tctx,
        gpd.in.offered = 4;
        gpd.out.needed = &needed;
        gpd.out.type = &type;
-       gpd.out.data = &data;
+       gpd.out.data = data;
 
        status = dcerpc_spoolss_GetPrinterData(p, tctx, &gpd);
        torture_assert_ntstatus_ok(tctx, status, "GetPrinterData failed.");
@@ -176,7 +176,8 @@ static bool test_GetPrinterData(struct torture_context *tctx,
                        "GetPrinterData did not return expected error value.");
 
        if (W_ERROR_IS_OK(expected_werr)) {
-               torture_assert_int_equal(tctx, data.value,
+               uint32_t value = IVAL(data, 0);
+               torture_assert_int_equal(tctx, value,
                        expected_value,
                        talloc_asprintf(tctx, "GetPrinterData for %s did not return expected value.", value_name));
        }