s3-spoolss: Bug #6512. Fix support for enumerating user forms.
authorGünther Deschner <gd@samba.org>
Tue, 30 Jun 2009 11:12:01 +0000 (13:12 +0200)
committerGünther Deschner <gd@samba.org>
Tue, 30 Jun 2009 11:34:51 +0000 (13:34 +0200)
Found while testing Xerox WorkCentre 133 PCL driver, now also tested with
torture test.

Guenther

source3/rpc_server/srv_spoolss_nt.c

index 899fed21674bfde0616bb5609dbf83358d4c1653..1ea92b4d28915a93426662544f4f75ba2a145239 100644 (file)
@@ -7087,7 +7087,7 @@ static WERROR spoolss_enumforms_level1(TALLOC_CTX *mem_ctx,
 
        /* construct the list of form structures */
        for (i=0; i<num_builtin_forms; i++) {
-               DEBUGADD(6,("Filling form number [%d]\n",i));
+               DEBUGADD(6,("Filling builtin form number [%d]\n",i));
                result = fill_form_info_1(info, &info[i].info1,
                                          &builtin_forms[i]);
                if (!W_ERROR_IS_OK(result)) {
@@ -7095,10 +7095,10 @@ static WERROR spoolss_enumforms_level1(TALLOC_CTX *mem_ctx,
                }
        }
 
-       for (; i<num_user_forms; i++) {
-               DEBUGADD(6,("Filling form number [%d]\n",i));
-               result = fill_form_info_1(info, &info[i].info1,
-                                         &user_forms[i-num_builtin_forms]);
+       for (i=0; i<num_user_forms; i++) {
+               DEBUGADD(6,("Filling user form number [%d]\n",i));
+               result = fill_form_info_1(info, &info[i+num_builtin_forms].info1,
+                                         &user_forms[i]);
                if (!W_ERROR_IS_OK(result)) {
                        goto out;
                }