|
What statement is it blowing up on? > -------- Original Message -------- > Subject: Receiver value too small to hold result > From: "Emmanuel Zannis" <emmanuel.zannis@xxxxxxxxxxx> > Date: Wed, November 09, 2005 6:38 am > To: <midrange-l@xxxxxxxxxxxx> > > List Hi, > > I am trying to read an IFS file using the C function "read". I am getting the > error message MCH1210. (Receiver value too small to hold result). > > Sample of the code: > > * Read - Read an IFS file > D read PR 10I 0 ExtProc('read') > D filedescI 10I 0 Value > D bufferI@ * Value > D nbyte 10U 0 Value > > 0143.00 > 0144.00 * Read PC File in IFS directory > 0145.00 D Pr_ReadFile PR 10240A > > 0228.00 D OutRec S 10240A > 0229.00 D FileDescI S 10I 0 > 0230.00 D BufferI S 10240A Inz(*Blank) > 0231.00 D BufferI@ S * Inz(%Addr(BufferI)) > 0232.00 D NBytes S 10U 0 > 0233.00 D NBytesSet S 10U 0 Inz(10240) > 0234.00 D RecIn S 10240A > 0235.00 D CLRFPos S 10I 0 Inz(0) > 0236.00 D CLRF S 2A Inz(x'0d25') > > 0426.00 > 0427.00 // Read PC file in IFS directory > 0428.00 Monitor; > 0429.00 outrec = Pr_ReadFile (); > 0430.00 On-Error; > 0431.00 ExSr *Pssr; > 0432.00 EndMon; > > 859.00 P Pr_ReadFile B > > 0860.00 > > 0861.00 D Pr_ReadFile PI 10240A > > 0862.00 > > 0863.00 > > 0864.00 /free > > 0865.00 > > 0866.00 NBytes = Read(FileDescI:BufferI@:NBytesSet); > > 0867.00 > > 0868.00 If NBytes > 0 And > > 0869.00 > > 0870.00 FileDescI >= 0; > > 0871.00 > > 0872.00 ClRfPos =%Scan(CLRF:BufferI); > > 0873.00 > > 0874.00 If ClRfPos > 0; > > 0875.00 RecIn = %SubSt(BufferI:1:ClRfPos + 1); > > 0876.00 EndIf; > > 0877.00 > > 0878.00 EndIf; > > 0879.00 > > 0880.00 > > 0881.00 Return RecIn; > > 0882.00 > > 0883.00 /end-free > > 0884.00 > > 0885.00 P Pr_ReadFile E > > > > Before I attempt to read the file I set the IFS file details and open the > file in the IFS directory. I set the file record length to 10240 in the hope > that it will be sufficient to hold the stream. > > Regards, > > Emmanuel Zannis > (Tel: 01252 372000 x3262 > Fax: 01252 542261 > e-mail:emmanuel.zannis@xxxxxxxxxxx > > > The above information is confidential to the addressee and may be privileged. > Unauthorised access and use is prohibited. If you received this message in > error please tell us by reply (or telephone the sender) and delete all copies > from your system. > > Internet communications are not secure and therefore this Company does not > accept legal responsibility for the contents of this message. This e-mail > message has been swept by Integralis e:)scan for the presence of detectable > computer viruses, but we cannot guarantee that it is virus-free and you > should scan this email for viruses prior to opening or saving any attachments. > > If you are not the intended recipient, any disclosure, copying, distribution > or any action taken or omitted to be taken in reliance on it, is prohibited > and may be unlawful. > > Please note that communications sent by or to any person through our computer > systems may be viewed by other members of the Hogg Robinson group. > > Hogg Robinson plc > Registered Office: Global House, Victoria Street, Basingstoke, Hampshire RG21 > 3BT > Registered in England and Wales No 2107443 > > -- > This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list > To post a message email: MIDRANGE-L@xxxxxxxxxxxx > To subscribe, unsubscribe, or change list options, > visit: http://lists.midrange.com/mailman/listinfo/midrange-l > or email: MIDRANGE-L-request@xxxxxxxxxxxx > Before posting, please take a moment to review the archives > at http://archive.midrange.com/midrange-l.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.