You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
Given a function definition of void _PVFV()
and a typedef of typedef _PVFV _PVFV *
(used often in MS source files) trying to use the typedef'd version in the Edit Function dialogue doesn't work, it uses a pointer to the function instead.
To Reproduce
Steps to reproduce the behavior:
Setup a function and the typedef above
Setup some data as the typedef'd verison (in your data area)
Find a function (such as _initterm) and edit it to try to define it as void _initterm (_PVFV * pfbegin, _PVFV * pfend)
Look at call and see casts (thy should not be there)
In step 3 you are asked which _PVFV type you mean, but Ghidra always reverts to the function definition!
Expected behavior
For the editor to use the correct type.
Screenshots
N/A
Attachments
N/A
Environment (please complete the following information):
OS: Windows 11
Java Version: 17.0.3.1
Ghidra Version: 11.1-DEV
Ghidra Origin: locally
Additional context
If you rename the typedef and use that, everything works. You can even then rename it back and, providing you don't edit it again, all's well!
The text was updated successfully, but these errors were encountered:
If your situation is simialr to my test, you start with three types:
Function Definition (internal.h/functions/_PVFV)
A pointer to the Function Definition (internal.h/functions/_PVFV *), and
A typedef to the pointer to FunctionDefinition (internal.h/_PVFV)
Note that No.2 type above can be seen in tree if you enable Pointer toggle button (PointerFinger). It is also important to note that the use of the datatype chooser does not facilitate subsequent modification within the table edit box (e.g., adding a * to force a pointer). This will cause it to search again. Since their is only one "_PVFV *" defined it will use that one (No.2 type above). You will need to first establish a pointer to your _PVFV typedef in the datatype tree before you can select it from the datatype chooser.
Describe the bug
Given a function definition of
void _PVFV()
and a typedef of
typedef _PVFV _PVFV *
(used often in MS source files) trying to use the typedef'd version in the
Edit Function
dialogue doesn't work, it uses a pointer to the function instead.To Reproduce
Steps to reproduce the behavior:
_initterm
) and edit it to try to define it asvoid _initterm (_PVFV * pfbegin, _PVFV * pfend)
In step 3 you are asked which
_PVFV
type you mean, but Ghidra always reverts to the function definition!Expected behavior
For the editor to use the correct type.
Screenshots
N/A
Attachments
N/A
Environment (please complete the following information):
Additional context
If you rename the typedef and use that, everything works. You can even then rename it back and, providing you don't edit it again, all's well!
The text was updated successfully, but these errors were encountered: