×

Good News Everybody!

The new search engine is LIVE!

Please report any problems to david (at) midrange.com.




Vern,

Warnings noted. Just confirming if sliding the window around in itself will overlay the memory past Array1. Obviously, writing past the "real" end of the array is a no-no and reading past would produce unknown results. Thanks.

-mark


At 3/8/2011 01:11 PM, you wrote:
Hi Mark

I'll take a run at this - Array2 is based on that pointer, Array1Ptr -
that is, the data structure as a whole is based on the pointer. This is
what you described.

I think this is safe enough. Array2 could be described as a window over
memory - its holes are the elements in that array or DS - nothing is
changed by setting the basing pointer, so far as I know. You are merely
sliding the window over a new part of memory.

You could even try to access element 2 of Array2 for reading - don't
write to it!! Or put another way, don't throw a hammer at window number 2!

That does constitute a risk, though, so it would require much care if
you are modifying anything.

Vern

On 3/8/2011 11:13 AM, M. Lazarus wrote:
> Given this code:
>
> D Array1 DS Dim( 10 )
> D Field1 2a
> D Field2 75a
>
> D Array2 DS Dim( %Elem( Array1 ))
> D Based( Array1Ptr ) Inz( %Addr( Array1 ))
> D Field1a Like( Field1 )
> D Field2a Like( Field2 )
>
> D Array1Ptr s *
>
> /Free
> Array1Ptr = %Addr( Array1( 10 )) ;
> ...
>
> At this point, the first element of Array2 should be positioned
> over the last element (#10) of Array1. Assuming I don't attempt to
> access element 2 in Array2, is this safe to do or will the shift of
> Array2, elements 2-10, overlay memory it shouldn't?
>
> -mark
>
--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

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

This mailing list archive is Copyright 1997-2026 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.