s3-spoolss: fix winreg_printer_ver_to_qword
authorGünther Deschner <gd@samba.org>
Mon, 12 Sep 2016 15:55:37 +0000 (17:55 +0200)
committerJeremy Allison <jra@samba.org>
Thu, 15 Sep 2016 18:50:06 +0000 (20:50 +0200)
We were reporting the OS minor number as the driver version number in all
GetDriver/EnumDriver calls.

Guenther

Signed-off-by: Guenther Deschner <gd@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
source3/rpc_client/cli_winreg_spoolss.c

index 8014e414b0aa00e9647af8612d9eefe88c88b050..f1df336c895b5f38e6f1f30fed41f44d09e39e14 100644 (file)
@@ -529,8 +529,9 @@ static WERROR winreg_printer_write_ver(TALLOC_CTX *mem_ctx,
        NTSTATUS status;
        char *str;
 
-       /* FIXME: check format is right,
-        *      this needs to be something like: 6.1.7600.16385 */
+       /*
+        * this needs to be something like: 6.1.7600.16385
+        */
        str = talloc_asprintf(mem_ctx, "%u.%u.%u.%u",
                              (unsigned)((data >> 48) & 0xFFFF),
                              (unsigned)((data >> 32) & 0xFFFF),
@@ -574,7 +575,7 @@ static WERROR winreg_printer_ver_to_qword(const char *str, uint64_t *data)
        *data = ((uint64_t)(v1 & 0xFFFF) << 48) +
                ((uint64_t)(v2 & 0xFFFF) << 32) +
                ((uint64_t)(v3 & 0xFFFF) << 16) +
-               (uint64_t)(v2 & 0xFFFF);
+               (uint64_t)(v4 & 0xFFFF);
 
        return WERR_OK;
 }