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

source3/rpc_parse/parse_rpc.c

index 558378548a5841edc8ea39f95dcf814fedc84d41..c1e663f8778cc2f0697e46586bcc49f349bf1dc7 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;