Skip to content

Commit 6320f57

Browse files
committed
add version argument and harmonize apps
1 parent c6980a9 commit 6320f57

File tree

9 files changed

+50
-11
lines changed

9 files changed

+50
-11
lines changed

src/apps/bin_projinfo.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
set(PROJINFO_SRC projinfo.cpp)
1+
set(PROJINFO_SRC projinfo.cpp emess.cpp)
22

33
source_group("Source Files\\Bin" FILES ${PROJINFO_SRC})
44

src/apps/bin_projsync.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
set(PROJSYNC_SRC projsync.cpp)
1+
set(PROJSYNC_SRC projsync.cpp emess.cpp)
22

33
source_group("Source Files\\Bin" FILES ${PROJSYNC_SRC})
44

src/apps/cct.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ static const char usage[] = {
133133
" --inverse Alias for -I\n"
134134
" --skip-lines Alias for -s\n"
135135
" --help Alias for -h\n"
136-
" --version Print version number\n"
136+
" --version Print version\n"
137137
"--------------------------------------------------------------------------"
138138
"------\n"
139139
"Operator Specs:\n"
@@ -255,7 +255,8 @@ int main(int argc, char **argv) {
255255
proj_log_func(PJ_DEFAULT_CTX, (void *)fout, logger);
256256

257257
if (opt_given(o, "version")) {
258-
print(PJ_LOG_NONE, "%s: %s", o->progname, pj_get_release());
258+
fprintf(stdout, "%s: %s\n", o->progname, pj_get_version());
259+
free(o);
259260
return 0;
260261
}
261262

src/apps/cs2cs.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -428,7 +428,10 @@ int main(int argc, char **argv) {
428428
/* process run line arguments */
429429
while (--argc > 0) { /* collect run line arguments */
430430
++argv;
431-
if (strcmp(*argv, "--area") == 0) {
431+
if (strcmp(*argv, "--version") == 0) {
432+
(void)fprintf(stdout, "%s: %s\n", emess_dat.Prog_name, pj_get_version());
433+
exit(0);
434+
} else if (strcmp(*argv, "--area") == 0) {
432435
++argv;
433436
--argc;
434437
if (argc == 0) {

src/apps/geod.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,15 @@ int main(int argc, char **argv) {
235235
case 'p': /* output azimuths as positive */
236236
pos_azi = 1;
237237
continue;
238+
case '-': /* long option */
239+
if (strcmp(*argv, "--version") == 0) {
240+
(void)fprintf(stdout, "%s: %s\n", emess_dat.Prog_name, pj_get_version());
241+
exit(0);
242+
}
243+
else {
244+
emess(1, "invalid option: %s", *argv);
245+
break;
246+
}
238247
default:
239248
emess(1, "invalid option: -%c", *arg);
240249
break;

src/apps/gie.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@ static const char usage[] = {
249249
" --verbose Alias for -v\n"
250250
" --help Alias for -h\n"
251251
" --list Alias for -l\n"
252-
" --version Print version number\n"
252+
" --version Print version\n"
253253
"--------------------------------------------------------------------------"
254254
"------\n"
255255
"Examples:\n"
@@ -267,7 +267,8 @@ static const char usage[] = {
267267
int main(int argc, char **argv) {
268268
int i;
269269
const char *longflags[] = {"v=verbose", "q=quiet", "h=help",
270-
"l=list", "version", nullptr};
270+
"l=list", "version",
271+
nullptr};
271272
const char *longkeys[] = {"o=output", nullptr};
272273
OPTARGS *o;
273274

@@ -290,7 +291,7 @@ int main(int argc, char **argv) {
290291
}
291292

292293
if (opt_given(o, "version")) {
293-
fprintf(stdout, "%s: %s\n", o->progname, pj_get_release());
294+
fprintf(stdout, "%s: %s\n", o->progname, pj_get_version());
294295
free(o);
295296
return 0;
296297
}

src/apps/proj.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -498,7 +498,7 @@ int main(int argc, char **argv) {
498498
continue;
499499
case '-': /* long option */
500500
if (strcmp(*argv, "--version") == 0) {
501-
(void)printf("%s\n", pj_get_version());
501+
(void)fprintf(stdout, "%s: %s\n", emess_dat.Prog_name, pj_get_version());
502502
exit(0);
503503
}
504504
else {

src/apps/projinfo.cpp

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838

3939
#include "proj.h"
4040
#include "proj_internal.h"
41+
#include "emess.h"
4142

4243
#include <proj/common.hpp>
4344
#include <proj/coordinateoperation.hpp>
@@ -1016,6 +1017,11 @@ int main(int argc, char **argv) {
10161017
std::cerr << pj_get_release() << std::endl;
10171018
usage();
10181019
}
1020+
1021+
if ((emess_dat.Prog_name = strrchr(*argv, '/')) != nullptr)
1022+
++emess_dat.Prog_name;
1023+
else
1024+
emess_dat.Prog_name = *argv;
10191025

10201026
std::string user_string;
10211027
bool user_string_specified = false;
@@ -1058,7 +1064,12 @@ int main(int argc, char **argv) {
10581064

10591065
for (int i = 1; i < argc; i++) {
10601066
std::string arg(argv[i]);
1061-
if (arg == "-o" && i + 1 < argc) {
1067+
if (arg == "--version")
1068+
{
1069+
std::cout << emess_dat.Prog_name << ": " << pj_get_version() << std::endl;
1070+
std::exit(0);
1071+
}
1072+
else if (arg == "-o" && i + 1 < argc) {
10621073
outputSwitchSpecified = true;
10631074
i++;
10641075
const auto formats(split(argv[i], ','));

src/apps/projsync.cpp

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
#include "filemanager.hpp"
3939
#include "proj.h"
4040
#include "proj_internal.h"
41+
#include "emess.h"
4142

4243
#include "proj/internal/include_nlohmann_json.hpp"
4344
#include "proj/internal/internal.hpp"
@@ -75,6 +76,9 @@ class ParsingException : public std::exception {
7576
std::cerr << " [--quiet | --verbose] [--dry-run] [--list-files]"
7677
<< std::endl;
7778
std::cerr << " [--no-version-filtering]" << std::endl;
79+
std::cerr << " [--version]" << std::endl;
80+
std::cerr << " [--release]" << std::endl;
81+
std::cerr << " [--short-version]" << std::endl;
7882
std::exit(1);
7983
}
8084

@@ -115,6 +119,11 @@ int main(int argc, char *argv[]) {
115119

116120
auto ctx = pj_get_default_ctx();
117121

122+
if ((emess_dat.Prog_name = strrchr(*argv, '/')) != nullptr)
123+
++emess_dat.Prog_name;
124+
else
125+
emess_dat.Prog_name = *argv;
126+
118127
std::string targetDir;
119128
std::string endpoint(proj_context_get_url_endpoint(ctx));
120129
const std::string geojsonFile("files.geojson");
@@ -138,7 +147,12 @@ int main(int argc, char *argv[]) {
138147

139148
for (int i = 1; i < argc; i++) {
140149
std::string arg(argv[i]);
141-
if (arg == "--endpoint" && i + 1 < argc) {
150+
if (arg == "--version")
151+
{
152+
std::cout << emess_dat.Prog_name << ": " << pj_get_version() << std::endl;
153+
std::exit(0);
154+
}
155+
else if (arg == "--endpoint" && i + 1 < argc) {
142156
i++;
143157
endpoint = argv[i];
144158
} else if (arg == "--user-writable-directory") {

0 commit comments

Comments
 (0)