Anonymous | Login | Signup for a new account | 2024-11-21 13:45 CET |
My View | View Issues | Change Log | Roadmap | Search |
View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0000922 | FL5 | 4. Element, Byte, Record or other API | public | 2018-07-24 15:21 | 2018-08-21 11:34 | ||||
Reporter | Falk Reichbott | ||||||||
Assigned To | Ulrich Schwab | ||||||||
Priority | normal | Severity | minor | Reproducibility | always | ||||
Status | resolved | Resolution | fixed | ||||||
Platform | General | OS | General | OS Version | General | ||||
Product Version | 5.1.17 | ||||||||
Target Version | 5.1.18 | Fixed in Version | 5.1.18 | ||||||
Summary | 0000922: Pointer to pointer return values are not usable in MF-EDC Cobol programs | ||||||||
Description | The pointer of the locate functions are not usable with SET ADDRESS OF in Cobol | ||||||||
Tags | No tags attached. | ||||||||
Attached Files | |||||||||
Notes | |
(0001171) Falk Reichbott (administrator) 2018-08-09 23:36 |
Publish a new build where pointer mapping functions are used. Now we wait for the corresponding fix in MF-EDZ. |
(0001177) Falk Reichbott (administrator) 2018-08-21 11:31 |
cobget_pointer() and cobget_pointer() do not handle mainframe <-> native pointer conversion, and there is no possibility of them being changed. These calls are designed to be used from C. They read or write a native pointer from a pointer item in a COBOL structure. They are required because COBOL fields are not aligned whereas C fields always are. Thus the only thing these functions do is handle the potential misalignment of the COBOL field. They do not manipulate the pointer value contained in this field in any way. AMODE is generally only required when migrating code from the IBM mainframe. In addition, the code must contain pointer variables that are redefined by a comp-x item, or by a structure that assumes hilo byte order, and those redefinitions are used. Even then, I would only use AMODE if it were impossible to change the relevant code. If you just want to do "pointer arithmetic" then you do not need to set AMODE. You can use the following constructs. 01 myptr pointer. set myptr up by literal-1 set myptr down by variable-1 Please let me know if this construct using the set statement can be used so you do not have to have AMODE set. |
(0001178) Falk Reichbott (administrator) 2018-08-21 11:34 |
The pointer mapping for alignment is done, but there is no solution in MF-EDZ planed to support external libraries with AMODE=31 pointers. The only way to solve this issue, is to rework all the modules which require AMODE=31 in a target which needs our external libraries. |
Issue History | |||
Date Modified | Username | Field | Change |
2018-07-24 15:21 | Falk Reichbott | New Issue | |
2018-07-24 15:21 | Falk Reichbott | Status | new => assigned |
2018-07-24 15:21 | Falk Reichbott | Assigned To | => Ulrich Schwab |
2018-08-09 17:00 | Ulrich Schwab | Summary | Pointer to pointer return values are not usabele in MF-EDC Cobol programs => Pointer to pointer return values are not usable in MF-EDC Cobol programs |
2018-08-09 23:36 | Falk Reichbott | Note Added: 0001171 | |
2018-08-21 11:31 | Falk Reichbott | Note Added: 0001177 | |
2018-08-21 11:34 | Falk Reichbott | Note Added: 0001178 | |
2018-08-21 11:34 | Falk Reichbott | Status | assigned => resolved |
2018-08-21 11:34 | Falk Reichbott | Fixed in Version | => 5.1.18 |
2018-08-21 11:34 | Falk Reichbott | Resolution | open => fixed |
Copyright © 2000 - 2024 MantisBT Team |