=================================================================== RCS file: /home/cvs/OpenXM/src/Macaulay2/m2/oxcommon.m2,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- OpenXM/src/Macaulay2/m2/oxcommon.m2 2000/09/21 09:20:53 1.1 +++ OpenXM/src/Macaulay2/m2/oxcommon.m2 2006/12/07 00:07:06 1.2 @@ -1,4 +1,4 @@ -ID = "$OpenXM$" +ID = "$OpenXM: OpenXM/src/Macaulay2/m2/oxcommon.m2,v 1.1 2000/09/21 09:20:53 takayama Exp $" --- class INT32 INT32 = new SelfInitializingType of BasicList new INT32 from ZZ := (a,n) -> {n} @@ -142,31 +142,37 @@ makeOXINPUT = (F) -> ( readMoreData = (OX) -> ( -- OX is an OXINPUT + --stderr <<"before read: "< 0 then OX.buffer = substring(OX.buffer, OX.loc, left) | newstring else OX.buffer = newstring; + --stderr <<"after: "< ( -- OX is an OXINPUT - if #OX.buffer < OX.loc + 4 - then readMoreData OX; + while #OX.buffer < OX.loc + 4 do ( + readMoreData OX; ); result := fromNetwork(substring(OX.buffer, OX.loc, 4)); - OX.loc = OX.loc + 4; + OX.loc = OX.loc + 4; + --debug: stderr << "get32bits" << ascii OX.buffer < ( -- OX is an OXINPUT - if #OX.buffer < OX.loc + n - then readMoreData OX; + while #OX.buffer < OX.loc + n do ( + readMoreData OX; ); result := substring(OX.buffer, OX.loc, n); OX.loc = OX.loc + n; result)