-
Notifications
You must be signed in to change notification settings - Fork 31
Review of fldigixmlrpc code #467
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
after a toggle we shall start from a fresh state no extra method is needed as this is done implicitly in changepars refreshbp can be dropped, it's done later in the code
in order to see the current setting
it is used there locally for error reporting
in order to reduce complexity also check DECREFs
to reduce indentation
used for internal error reporting anyway, no need to pass it by the caller
and use xmlrpc_res_free() to free result
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I stepped through the commits one by one. All are comprehensible. Should be ready as base for further work.
The problem is that the xmlrpc_client_call_server_params() or other function using the "global" client mode return a non-initialized result pointer (a local variable containing garbage) in case of some error situations. This makes impossible to decide whether the result should be free'd or not. The xmlrpc documentation contains no hint on this. The "private" functions on the other can use a pointer passed by the caller, so in this case if the initial NULL is untouched then it hasn't been allocated yet, hence no free'ing is needed.
Documentation references: |
A review/rework of Fldigi interworking. It started as I couldn't get the idea behind
connerr
andconnerrcnt
leading to reconnection, at least this is stated in the comment (maybe @airween knows it). Then a number of issues popped up, I'm working through them slowly. Hopefully will get some of the issues from #463 fixed.