abstract UUID parsing code to an individual function; patch from Anthony
authorGerald Carter <jerry@samba.org>
Fri, 3 Oct 2003 15:07:15 +0000 (15:07 +0000)
committerGerald Carter <jerry@samba.org>
Fri, 3 Oct 2003 15:07:15 +0000 (15:07 +0000)
(This used to be commit 9365c619d6feb15289d963e9e70e1f947b7f8c3f)

source3/rpc_parse/parse_rpc.c

index 1752e10114b989ba10cb7b40e765da9b4ba284eb..5b97c44d653bc7056689de93cd03537d970b3e76 100644 (file)
@@ -243,29 +243,48 @@ BOOL smb_io_rpc_hdr(const char *desc,  RPC_HDR *rpc, prs_struct *ps, int depth)
 }
 
 /*******************************************************************
- Reads or writes an RPC_IFACE structure.
+ Reads or writes an RPC_UUID structure.
 ********************************************************************/
 
-static BOOL smb_io_rpc_iface(const char *desc, RPC_IFACE *ifc, prs_struct *ps, int depth)
+static BOOL smb_io_rpc_uuid(const char *desc, RPC_UUID *uuid, prs_struct *ps, int depth)
 {
        if (ifc == NULL)
                return False;
 
-       prs_debug(ps, depth, desc, "smb_io_rpc_iface");
+       prs_debug(ps, depth, desc, "smb_io_rpc_uuid");
        depth++;
 
        if(!prs_align(ps))
                return False;
 
-       if(!prs_uint32 ("data   ", ps, depth, &ifc->uuid.time_low))
+       if(!prs_uint32 ("data   ", ps, depth, &uuid->time_low))
+               return False;
+       if(!prs_uint16 ("data   ", ps, depth, &uuid->time_mid))
+               return False;
+       if(!prs_uint16 ("data   ", ps, depth, &uuid->time_hi_and_version))
                return False;
-       if(!prs_uint16 ("data   ", ps, depth, &ifc->uuid.time_mid))
+
+       if(!prs_uint8s (False, "data   ", ps, depth, uuid->remaining, sizeof(uuid->remaining)))
                return False;
-       if(!prs_uint16 ("data   ", ps, depth, &ifc->uuid.time_hi_and_version))
+
+       return true;
+}
+
+/*******************************************************************
+ Reads or writes an RPC_IFACE structure.
+********************************************************************/
+
+static BOOL smb_io_rpc_iface(const char *desc, RPC_IFACE *ifc, prs_struct *ps, int depth)
+{
+       if (ifc == NULL)
                return False;
 
-       if(!prs_uint8s (False, "data   ", ps, depth, ifc->uuid.remaining, sizeof(ifc->uuid.remaining)))
+       prs_debug(ps, depth, desc, "smb_io_rpc_iface");
+       depth++;
+
+       if (!smb_io_rpc_uuid(  "uuid", ps, depth, &ifc->uuid))
                return False;
+
        if(!prs_uint32 (       "version", ps, depth, &ifc->version))
                return False;