× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Hi Scott,

I haven't had the chance to test this, but wouldn't

pointer = %addr(%subst(MyVaryingField:1))

give you the starting address of the data, without having to worry about the prefix?

I like the idea of an extra parm for an existing BIF. However, how about %size(xx:*DATA) and %size(xx:*PREFIX)? By now it should be sinking in (at least it is with me<g>) that %len is current length and %size is allocated size.

*Peter Dow* /
Dow Software Services, Inc.
909 793-9050
pdow@xxxxxxxxxxxxxxx <mailto:pdow@xxxxxxxxxxxxxxx> /

Scott Klement wrote:
Crispin Bates wrote:
why not make the %len(myVaryFld:*MAX)

%len(myVaryFld:*DATA)

Because when I see %Len(xx:*DATA) it says to me "I want the length of the data", which we can already get with the ordinary %len() BIF. What I really want isn't the length of the data, it's the maximum length that will fit in the variable. Thus, %len(xx:*MAX).

This is different from %addr(). When I do %addr(xx)+2 today, it's my way of getting the address of the data portion of the VARYING variable. So %addr(xx:*DATA) makes sense to me in that case.


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.