diff --git a/ChangeLog.txt b/ChangeLog.txt index 5f732cc2..8049484f 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -61,6 +61,7 @@ Clients: - mosquitto_pub now sends 0 length files without an error when using `-f`. - mosquitto_sub now supports extra format specifiers for field width and precision for some parameters. +- Add `--version` for all clients. 1.6.9 - 20200227 diff --git a/client/client_shared.c b/client/client_shared.c index f62f0bab..308ebe76 100644 --- a/client/client_shared.c +++ b/client/client_shared.c @@ -1102,6 +1102,8 @@ int client_config_line_proc(struct mosq_config *cfg, int pub_or_sub, int argc, c goto unknown_option; } cfg->verbose = 1; + }else if(!strcmp(argv[i], "--version")){ + return 3; }else if(!strcmp(argv[i], "-W")){ if(pub_or_sub == CLIENT_PUB){ goto unknown_option; diff --git a/client/pub_client.c b/client/pub_client.c index 3af05ac3..27b52de6 100644 --- a/client/pub_client.c +++ b/client/pub_client.c @@ -366,6 +366,14 @@ void pub_shared_cleanup(void) } +void print_version(void) +{ + int major, minor, revision; + + mosquitto_lib_version(&major, &minor, &revision); + printf("mosquitto_pub version %s running on libmosquitto %d.%d.%d.\n", VERSION, major, minor, revision); +} + void print_usage(void) { int major, minor, revision; @@ -496,6 +504,8 @@ int main(int argc, char *argv[]) if(rc == 2){ /* --help */ print_usage(); + }else if(rc == 3){ + print_version(); }else{ fprintf(stderr, "\nUse 'mosquitto_pub --help' to see usage.\n"); } diff --git a/client/rr_client.c b/client/rr_client.c index 1aa93b8a..f602da3c 100644 --- a/client/rr_client.c +++ b/client/rr_client.c @@ -153,6 +153,14 @@ void my_publish_callback(struct mosquitto *mosq, void *obj, int mid, int reason_ } +void print_version(void) +{ + int major, minor, revision; + + mosquitto_lib_version(&major, &minor, &revision); + printf("mosquitto_rr version %s running on libmosquitto %d.%d.%d.\n", VERSION, major, minor, revision); +} + void print_usage(void) { int major, minor, revision; @@ -280,6 +288,9 @@ int main(int argc, char *argv[]) if(rc == 2){ /* --help */ print_usage(); + }else if(rc == 3){ + /* --version */ + print_version(); }else{ fprintf(stderr, "\nUse 'mosquitto_rr --help' to see usage.\n"); } diff --git a/client/sub_client.c b/client/sub_client.c index 5d2826e5..b5d43944 100644 --- a/client/sub_client.c +++ b/client/sub_client.c @@ -175,6 +175,14 @@ void my_log_callback(struct mosquitto *mosq, void *obj, int level, const char *s printf("%s\n", str); } +void print_version(void) +{ + int major, minor, revision; + + mosquitto_lib_version(&major, &minor, &revision); + printf("mosquitto_sub version %s running on libmosquitto %d.%d.%d.\n", VERSION, major, minor, revision); +} + void print_usage(void) { int major, minor, revision; @@ -319,6 +327,9 @@ int main(int argc, char *argv[]) if(rc == 2){ /* --help */ print_usage(); + }else if(rc == 3){ + /* --version */ + print_version(); }else{ fprintf(stderr, "\nUse 'mosquitto_sub --help' to see usage.\n"); }