All,

I have a C-Program that is compiled to a DLL and stored in a PDSE, so it is stored as a "program object" (if I got all this stuff right).

In my program I have some static areas (name it "eye cathers"), for example like this:

static char *Foo = "123456\0MY_EYE_CATHER";


This way, the String "123456[null]MY_EYE_CATCHER" is contained within my program object. Now I create a XMIT-File from my program object and then I change some bytes in this generated XMIT.

For example, I look for "MY_EYE_CATCHER" and I replace the "123456" in front of this eye-catcher to something different. Same length of course.


Now when I restore the program object from this edited XMIT, I get an error fetching this DLL:

CSV031I LIBRARY ACCESS FAILED FOR MODULE XYZ, RETURN CODE 20, REASON CODE 26130003, DDNAME STEPLIB


I swear by my [whatever you like] that no other bytes than my "123456" are changed. why the hell can't this DLL noe be fetched anymore? Are there some "checksums" within the program object that are now not correct?


The funny thing is, that this happens just on a few modules (I have around 20 that are going to be "patched" by this method), mostly everything goes well....


Any ideas? Or a better way to "patch" a module?


Bye & thanks,
Michael


P.S.: If you wonder why I need to do this: We compile a product, generate a XMIT and if we ship it to a client we want to "patch" a client-id and date into all shipped modules - and using this method we can do this under windows/unix and don't need to recompile+relink under z/OS....

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to