git add -f bin/default/librpc/gen_ndr/*.{c,h,ndr,pidl} bin/default/source*/librpc...
[metze/samba/wip.git] / bin / default / librpc / gen_ndr / ndr_misc.c
index e2f03044afef879ae2a58a35ce8ac9cd96df9fa5..e7cf47eac43d5e433e34cdcec3b9646beb220ee4 100644 (file)
@@ -302,35 +302,6 @@ _PUBLIC_ enum ndr_err_code ndr_push_winreg_Data(struct ndr_push *ndr, int ndr_fl
 
                        }
                }
-               if (ndr_flags & NDR_BUFFERS) {
-                       uint32_t level = ndr_push_get_switch_value(ndr, r);
-                       switch (level) {
-                               case REG_NONE:
-                               break;
-
-                               case REG_SZ:
-                               break;
-
-                               case REG_EXPAND_SZ:
-                               break;
-
-                               case REG_BINARY:
-                               break;
-
-                               case REG_DWORD:
-                               break;
-
-                               case REG_DWORD_BIG_ENDIAN:
-                               break;
-
-                               case REG_MULTI_SZ:
-                               break;
-
-                               default:
-                               break;
-
-                       }
-               }
                ndr->flags = _flags_save_UNION;
        }
        return NDR_ERR_SUCCESS;
@@ -342,9 +313,10 @@ _PUBLIC_ enum ndr_err_code ndr_pull_winreg_Data(struct ndr_pull *ndr, int ndr_fl
        {
                uint32_t _flags_save_UNION = ndr->flags;
                ndr_set_flags(&ndr->flags, LIBNDR_FLAG_LITTLE_ENDIAN);
-               level = ndr_pull_get_switch_value(ndr, r);
                NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
                if (ndr_flags & NDR_SCALARS) {
+                       /* This token is not used again */
+                       level = ndr_pull_steal_switch_value(ndr, r);
                        NDR_CHECK(ndr_pull_union_align(ndr, 4));
                        switch (level) {
                                case REG_NONE: {
@@ -410,34 +382,6 @@ _PUBLIC_ enum ndr_err_code ndr_pull_winreg_Data(struct ndr_pull *ndr, int ndr_fl
 
                        }
                }
-               if (ndr_flags & NDR_BUFFERS) {
-                       switch (level) {
-                               case REG_NONE:
-                               break;
-
-                               case REG_SZ:
-                               break;
-
-                               case REG_EXPAND_SZ:
-                               break;
-
-                               case REG_BINARY:
-                               break;
-
-                               case REG_DWORD:
-                               break;
-
-                               case REG_DWORD_BIG_ENDIAN:
-                               break;
-
-                               case REG_MULTI_SZ:
-                               break;
-
-                               default:
-                               break;
-
-                       }
-               }
                ndr->flags = _flags_save_UNION;
        }
        return NDR_ERR_SUCCESS;