So gdd is code that we would have thrown away years ago if we didn't need it to support the CA Gateway and any other CA server tools that use the PCAS. Those libraries were moved to an external module https://github.com/epics-modules/pcas before we released EPICS 7.0.1 so the community still owns and needs to keep the code working, but as to whether it's worth fixing these I would put on the low end of the priority order.
About the bi/bo string thing, there's a hole in our APIs because the get_enum_str() method gets passed a pointer to a buffer without also telling it how big that buffer is. That's probably why the code is using the source's size, because the author had no way to know – this dates all the way back to the first commit of this record code in October 1990. This method probably doesn't get used very much, I actually had a hard time working out how to get the code to call it, but yet it is a potential problem which the Core group will need to decide what to do about. I will file a separate bug about that, so please leave that code as it is, and thanks for raising the question.
So gdd is code that we would have thrown away years ago if we didn't need it to support the CA Gateway and any other CA server tools that use the PCAS. Those libraries were moved to an external module https:/ /github. com/epics- modules/ pcas before we released EPICS 7.0.1 so the community still owns and needs to keep the code working, but as to whether it's worth fixing these I would put on the low end of the priority order.
About the bi/bo string thing, there's a hole in our APIs because the get_enum_str() method gets passed a pointer to a buffer without also telling it how big that buffer is. That's probably why the code is using the source's size, because the author had no way to know – this dates all the way back to the first commit of this record code in October 1990. This method probably doesn't get used very much, I actually had a hard time working out how to get the code to call it, but yet it is a potential problem which the Core group will need to decide what to do about. I will file a separate bug about that, so please leave that code as it is, and thanks for raising the question.