Is this the right way to do this?  Have the patch inline with the
message?

I had a problem with compiler error messages with the [CLSCompliant
(false)] attributes (I was using the 1.2.4 compiler), so I just
commented them out.

The 496,502 block is a fencepost error - I wasn't getting the last
element parsed out.

The 615,621 fixes the problem I found with a template of "_6C!i!i"
since the index never got past the '6' it would go into an endless
loop.

The 706,712 fixes another fencepost error.

There are a couple of other spots where it looks like there are
inadvertent blank lines added. I can clean those up and resubmit if
that makes the patch cleaner.


*** old/DataConverter.cs        2008-03-11 22:15:26.000000000 -0600
--- new/DataConverter.cs        2008-03-11 22:16:02.000000000 -0600
***************
*** 63,73 ****
  
                public abstract short  GetInt16  (byte [] data, int index);
  
!                 [CLSCompliant (false)]
                public abstract uint   GetUInt32 (byte [] data, int index);
!                 [CLSCompliant (false)]
                public abstract ushort GetUInt16 (byte [] data, int index);
!                 [CLSCompliant (false)]
                public abstract ulong  GetUInt64 (byte [] data, int index);
                
                public abstract void PutBytes (byte [] dest, int destIdx, double
value);
--- 63,73 ----
  
                public abstract short  GetInt16  (byte [] data, int index);
  
!                 //[CLSCompliant (false)]
                public abstract uint   GetUInt32 (byte [] data, int index);
!                 //[CLSCompliant (false)]
                public abstract ushort GetUInt16 (byte [] data, int index);
!                 //[CLSCompliant (false)]
                public abstract ulong  GetUInt64 (byte [] data, int index);
                
                public abstract void PutBytes (byte [] dest, int destIdx, double
value);
***************
*** 76,86 ****
                public abstract void PutBytes (byte [] dest, int destIdx, long
value);
                public abstract void PutBytes (byte [] dest, int destIdx, short
value);
  
!                 [CLSCompliant (false)]
                public abstract void PutBytes (byte [] dest, int destIdx, ushort
value);
!                 [CLSCompliant (false)]
                public abstract void PutBytes (byte [] dest, int destIdx, uint
value);
!                 [CLSCompliant (false)]
                public abstract void PutBytes (byte [] dest, int destIdx, ulong
value);
  
                public byte[] GetBytes (double value)
--- 76,86 ----
                public abstract void PutBytes (byte [] dest, int destIdx, long
value);
                public abstract void PutBytes (byte [] dest, int destIdx, short
value);
  
!                 //[CLSCompliant (false)]
                public abstract void PutBytes (byte [] dest, int destIdx, ushort
value);
!                 //[CLSCompliant (false)]
                public abstract void PutBytes (byte [] dest, int destIdx, uint
value);
!                 //[CLSCompliant (false)]
                public abstract void PutBytes (byte [] dest, int destIdx, ulong
value);
  
                public byte[] GetBytes (double value)
***************
*** 118,124 ****
                        return ret;
                }
  
!                 [CLSCompliant (false)]
                public byte[] GetBytes (ushort value)
                {
                        byte [] ret = new byte [2];
--- 118,124 ----
                        return ret;
                }
  
!                 //[CLSCompliant (false)]
                public byte[] GetBytes (ushort value)
                {
                        byte [] ret = new byte [2];
***************
*** 126,132 ****
                        return ret;
                }
                
!                 [CLSCompliant (false)]
                public byte[] GetBytes (uint value)
                {
                        byte [] ret = new byte [4];
--- 126,132 ----
                        return ret;
                }
                
!                 //[CLSCompliant (false)]
                public byte[] GetBytes (uint value)
                {
                        byte [] ret = new byte [4];
***************
*** 134,140 ****
                        return ret;
                }
                
!                 [CLSCompliant (false)]
                public byte[] GetBytes (ulong value)
                {
                        byte [] ret = new byte [8];
--- 134,140 ----
                        return ret;
                }
                
!                 //[CLSCompliant (false)]
                public byte[] GetBytes (ulong value)
                {
                        byte [] ret = new byte [8];
***************
*** 496,502 ****
                                idx = Align (idx, size);
                                align = false;
                        }
!                       if (idx + size >= buffer.Length){
                                idx = buffer.Length;
                                return false;
                        }
--- 496,502 ----
                                idx = Align (idx, size);
                                align = false;
                        }
!                       if (idx + size > buffer.Length){
                                idx = buffer.Length;
                                return false;
                        }
***************
*** 512,517 ****
--- 512,518 ----
                        int repeat = 0, n;
                        
                        for (int i = 0; i < description.Length && idx < 
buffer.Length; ){
+ 
                                int save = i;
                                
                                switch (description [i]){
***************
*** 614,619 ****
--- 615,621 ----
                                case '1': case '2': case '3': case '4': case 
'5':
                                case '6': case '7': case '8': case '9':
                                        repeat = ((short) description [i]) - 
((short) '0');
+                                               save = i + 1;
                                        break;
  
                                case '*':
***************
*** 704,710 ****
                                                        if (buffer [k] == 0 && 
buffer [k+1] == 0)
                                                                break;
                                                }
!                                               result.Add (e.GetChars (buffer, 
idx, k-idx));
                                                if (k == buffer.Length)
                                                        idx = k;
                                                else
--- 706,712 ----
                                                        if (buffer [k] == 0 && 
buffer [k+1] == 0)
                                                                break;
                                                }
!                                               result.Add (e.GetChars (buffer, 
idx, k-idx+2));
                                                if (k == buffer.Length)
                                                        idx = k;
                                                else
***************
*** 738,743 ****
--- 740,746 ----
                                                i = save;
                                } else
                                        i++;
+                                       
                        }
                        return result;
                }

-- 
Ken Weinert
http://quarter-flash.com

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
Mono-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-list

Reply via email to