diff options
author | Robin Hack <hack.robin@gmail.com> | 2015-01-30 13:18:20 +0100 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2015-02-17 15:41:10 +0100 |
commit | bcbdc74b2618bdddb920feecf3e8bd7d11f12441 (patch) | |
tree | a291034edfa0041b6290b53fe50b5a614c572647 /source3/rpcclient | |
parent | 76c7918e01205fb38534170e56fc68553c3abf79 (diff) | |
download | samba-bcbdc74b2618bdddb920feecf3e8bd7d11f12441.tar.gz samba-bcbdc74b2618bdddb920feecf3e8bd7d11f12441.tar.xz samba-bcbdc74b2618bdddb920feecf3e8bd7d11f12441.zip |
rpcclient: Fix and enhance rpcclient output
BUG: https://bugzilla.samba.org/show_bug.cgi?id=11085
When rpcclient is called like:
$ rpcclient -c "getdata . Osversion"
at end of output is added one nonsense line
OsVersion: Osversion:
This patch removes this line and adds more human friendly ouput:
OsMajor: num
OsMinor: num
OsBuild: num
for OsVersion query.
For OsVersionEx two more lines are added:
OsMajor: num
OsMinor: num
OsBuild: num
ServicePackMajor: num
ServicePackMinor: num
Signed-off-by: Robin Hack <hack.robin@gmail.com>
Reviewed-by: Andreas Schneider <asn@samba.org>
Signed-off-by: David Disseldorp <ddiss@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
Diffstat (limited to 'source3/rpcclient')
-rw-r--r-- | source3/rpcclient/cmd_spoolss.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/source3/rpcclient/cmd_spoolss.c b/source3/rpcclient/cmd_spoolss.c index c2b1e3d5e4..e2b9fc4668 100644 --- a/source3/rpcclient/cmd_spoolss.c +++ b/source3/rpcclient/cmd_spoolss.c @@ -863,13 +863,17 @@ static void display_printer_data(const char *v, } TALLOC_FREE(hex); putchar('\n'); + putchar('\n'); if (strequal(v, "OsVersion")) { struct spoolss_OSVersion os; ndr_err = ndr_pull_struct_blob(&blob, talloc_tos(), &os, (ndr_pull_flags_fn_t)ndr_pull_spoolss_OSVersion); if (NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - printf("%s: OsVersion:\n", v); + // add output here; + printf("OsMajor: %u\n", os.major); + printf("OsMinor: %u\n", os.minor); + printf("OsBuild: %u\n", os.build); NDR_PRINT_DEBUG(spoolss_OSVersion, &os); } } @@ -878,7 +882,11 @@ static void display_printer_data(const char *v, ndr_err = ndr_pull_struct_blob(&blob, talloc_tos(), &os, (ndr_pull_flags_fn_t)ndr_pull_spoolss_OSVersionEx); if (NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - printf("%s: OsVersionEx:\n", v); + printf("OsMajor: %u\n", os.major); + printf("OsMinor: %u\n", os.minor); + printf("OsBuild: %u\n", os.build); + printf("ServicePackMajor: %u\n", os.service_pack_major); + printf("ServicePackMinor: %u\n", os.service_pack_minor); NDR_PRINT_DEBUG(spoolss_OSVersionEx, &os); } } |