|
Hi Barbara... Thank you for the information. I'm sure using the OPTIONS(*STRING) would be very useful to me. I'm running a CISC machine, therefore stuck at V3R2. Is this option available at my release? I didn't see it anywhere in the documentation. Scott Klement Information Systems Manager Klement's Sausage Co, Inc. bmorris@ca.ibm.com wrote: > > On 01 Jun 1999, Scott Klement <infosys@klements.com> wrote: > >... However, > >since the inet_addr function is designed for C programs, the string > >SHOULD be null-terminated. (correct me if I'm wrong!) > > > >Therefore, my code would look like this: > > > >D inet_addr PR 10I 0 ExtProc('inet_addr') > >D DottedAddr 16A > > > >C eval TcpAddr = %trim(TcpAddr) + x'00' > >C eval sin_addr = inet_addr(tcpAddr) > >... > > This is right, but can be coded more easily if you are on V3R7 or > greater > using a little-known parameter feature: OPTIONS(*STRING). > > D inet_addr PR 10I 0 ExtProc('inet_addr') > D DottedAddr * VALUE OPTIONS(*STRING) > > C eval sin_addr = inet_addr(%trim(tcpAddr)) > > Most "char *" parameters in C functions require null-terminated data > You can > handle the null-termination yourself, or you can ask the RPG compile > to do it > for you using OPTIONS(*STRING) on a pointer parameter passed by valu > With > this type of parameter you can either pass a pointer or a character > string. If > a character string, the compiler creates a temporary with your value > followed by > a null character, and passes that instead. > > Left as an exercise for the keen student: check out the %STR bif to > see how to > handle pointers to null-terminated data within your RPG program > without scanning > for x'00' and substringing. > > Barbara Morris > * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * This is the RPG/400 Discussion Mailing List! To submit a new * * message, send your mail to "RPG400-L@midrange.com". To unsubscribe * * from this list send email to MAJORDOMO@midrange.com and specify * * 'unsubscribe RPG400-L' in the body of your message. Questions should * * be directed to the list owner / operator: david@midrange.com * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
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.