*** cs/src/Ice/BasicStream.cs.orig 2012-10-26 11:44:42.000000000 -0700 --- cs/src/Ice/BasicStream.cs 2012-10-26 11:50:03.000000000 -0700 *************** *** 1050,1055 **** --- 1050,1064 ---- _buf.b.putShort(v); } + public virtual void writeShort(short v, int end) + { + if(v < 0 || v >= end) + { + throw new Ice.MarshalException("enumerator out of range"); + } + writeShort(v); + } + public virtual void writeShortSeq(short[] v) { if(v == null) *************** *** 1134,1139 **** --- 1143,1158 ---- } } + public virtual short readShort(int end) + { + short v = readShort(); + if(v < 0 || v >= end) + { + throw new Ice.MarshalException("enumerator out of range"); + } + return v; + } + public virtual short[] readShortSeq() { try *************** *** 1199,1204 **** --- 1218,1232 ---- _buf.b.putInt(v); } + public virtual void writeInt(int v, int end) + { + if(v < 0 || v >= end) + { + throw new Ice.MarshalException("enumerator out of range"); + } + writeInt(v); + } + public virtual void writeIntSeq(int[] v) { if(v == null) *************** *** 1283,1288 **** --- 1311,1326 ---- } } + public virtual int readInt(int end) + { + int v = readInt(); + if(v < 0 || v >= end) + { + throw new Ice.MarshalException("enumerator out of range"); + } + return v; + } + public virtual int[] readIntSeq() { try