From b1f1cb0e7474415b1c75670ec631effb232c0d6c Mon Sep 17 00:00:00 2001 From: Gerald Carter Date: Wed, 22 Jun 2005 18:03:38 +0000 Subject: r7838: lie about the printer status when doing the queryvalue() registry call. Note that if you migrate a printer to a Windows server, the win spooler will remove any printers that have an invalid status value in the registry (This used to be commit 0a22ea9eb7fd5aa8c57d2bf1ea2a171b377cab5a) --- source3/registry/reg_printing.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'source3') diff --git a/source3/registry/reg_printing.c b/source3/registry/reg_printing.c index b0fb4ab9d9..1ac91f4b90 100644 --- a/source3/registry/reg_printing.c +++ b/source3/registry/reg_printing.c @@ -639,6 +639,7 @@ static int print_subpath_values_printers( char *key, REGVAL_CTR *val ) if ( !new_path ) { char *p; + uint32 printer_status = PRINTER_STATUS_OK; /* we are dealing with the printer itself */ @@ -652,7 +653,10 @@ static int print_subpath_values_printers( char *key, REGVAL_CTR *val ) regval_ctr_addvalue( val, "Priority", REG_DWORD, (char*)&info2->priority, sizeof(info2->attributes) ); regval_ctr_addvalue( val, "ChangeID", REG_DWORD, (char*)&info2->changeid, sizeof(info2->changeid) ); regval_ctr_addvalue( val, "Default Priority", REG_DWORD, (char*)&info2->default_priority, sizeof(info2->default_priority) ); - regval_ctr_addvalue( val, "Status", REG_DWORD, (char*)&info2->status, sizeof(info2->status) ); + + /* lie and say everything is ok since we don't want to call print_queue_length() to get the real status */ + regval_ctr_addvalue( val, "Status", REG_DWORD, (char*)&printer_status, sizeof(info2->status) ); + regval_ctr_addvalue( val, "StartTime", REG_DWORD, (char*)&info2->starttime, sizeof(info2->starttime) ); regval_ctr_addvalue( val, "UntilTime", REG_DWORD, (char*)&info2->untiltime, sizeof(info2->untiltime) ); -- cgit