dotgnu-pnet-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Dotgnu-pnet-commits] CVS: pnet/image marshal.c,1.7,1.8


From: Rhys Weatherley <address@hidden>
Subject: [Dotgnu-pnet-commits] CVS: pnet/image marshal.c,1.7,1.8
Date: Thu, 30 Jan 2003 21:00:31 -0500

Update of /cvsroot/dotgnu-pnet/pnet/image
In directory subversions:/tmp/cvs-serv19621/image

Modified Files:
        marshal.c 
Log Message:


Put some of the support code in place for custom marshaling (doesn't work yet).


Index: marshal.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/image/marshal.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -r1.7 -r1.8
*** marshal.c   28 Jan 2003 06:25:01 -0000      1.7
--- marshal.c   31 Jan 2003 02:00:29 -0000      1.8
***************
*** 66,70 ****
  
  ILUInt32 ILPInvokeGetMarshalType(ILPInvoke *pinvoke, ILMethod *method,
!                                                                unsigned long 
param)
  {
        ILType *type = ILTypeGetParam(method->member.signature, param);
--- 66,71 ----
  
  ILUInt32 ILPInvokeGetMarshalType(ILPInvoke *pinvoke, ILMethod *method,
!                                                                unsigned long 
param, char **customName,
!                                                                int 
*customNameLen)
  {
        ILType *type = ILTypeGetParam(method->member.signature, param);
***************
*** 100,103 ****
--- 101,108 ----
        }
  
+       /* Initialize the custom name return information to nothing */
+       *customName = 0;
+       *customNameLen = 0;
+ 
        /* If the native type is "interface", then always marshal directly.
           This is normally used to force strings, delegates, and arrays
***************
*** 106,109 ****
--- 111,121 ----
        {
                return IL_META_MARSHAL_DIRECT;
+       }
+ 
+       /* Check for custom marshalling */
+       if(nativeTypeCode == IL_META_NATIVETYPE_CUSTOMMARSHALER &&
+          ILTypeIsReference(type))
+       {
+               return IL_META_MARSHAL_CUSTOM;
        }
  





reply via email to

[Prev in Thread] Current Thread [Next in Thread]