Skip to content
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

More precise constness for topics in mosquitto_subscribe_multiple #3199

Open
wants to merge 1 commit into
base: fixes
Choose a base branch
from

Conversation

niklasf
Copy link

@niklasf niklasf commented Jan 11, 2025

mosquitto_subscribe_multiple and mosquitto_unsubscribe_multiple do not need to change the characters in the list of topics. Make the signature more precise to reflect that.

Now works without cast array of const char*, particularly useful for C++ or Rust bindings.


Thank you for contributing your time to the Mosquitto project!

Before you go any further, please note that we cannot accept contributions if
you haven't signed the Eclipse Contributor Agreement.
If you aren't able to do that, or just don't want to, please describe your bug
fix/feature change in an issue. For simple bug fixes it is can be just as easy
for us to be told about the problem and then go fix it directly.

Then please check the following list of things we ask for in your pull request:

  • Have you signed the Eclipse Contributor Agreement, using the same email address as you used in your commits?
  • Do each of your commits have a "Signed-off-by" line, with the correct email address? Use "git commit -s" to generate this line for you.
  • If you are contributing a new feature, is your work based off the develop branch?
  • If you are contributing a bugfix, is your work based off the fixes branch?
  • Have you added an explanation of what your changes do and why you'd like us to include them?
  • Have you successfully run make test with your changes locally?

mosquitto_subscribe_multiple and mosquitto_unsubscribe_multiple do not
need to change the characters in the list of topics. Make the signature
more precise to reflect that.

Now works without cast array of const char*, particularly useful for C++
or Rust bindings.

Signed-off-by: Niklas Fiekas <niklas.fiekas@backscattering.de>
@@ -122,7 +122,7 @@ static void my_connect_callback(struct mosquitto *mosq, void *obj, int result, i

connack_result = result;
if(!result){
mosquitto_subscribe_multiple(mosq, NULL, cfg.topic_count, cfg.topics, cfg.qos, cfg.sub_opts, cfg.subscribe_props);
mosquitto_subscribe_multiple(mosq, NULL, cfg.topic_count, (const char* const*)cfg.topics, cfg.qos, cfg.sub_opts, cfg.subscribe_props);
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unfortunately C (unlike C++) also warns about converions from char** to const char* const*, even though the latter has lower requirements.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant