Commit a80d9d176d069a5b70427fa0154b7c333550a047
1 parent
9cc43c6e
add C interface for getting software version
git-svn-id: svn+q:///qpdf/trunk@903 71b93d88-0707-0410-a8cf-f5a4172ac649
Showing
6 changed files
with
28 additions
and
2 deletions
ChangeLog
| ... | ... | @@ -2,7 +2,11 @@ |
| 2 | 2 | |
| 3 | 3 | * 2.1.rc1: release |
| 4 | 4 | |
| 5 | -2009-10-19 Jay Berkenbilt <jberkenb@argonst.com> | |
| 5 | +2009-10-24 Jay Berkenbilt <ejb@ql.org> | |
| 6 | + | |
| 7 | + * Provide interfaces for getting qpdf's own version number | |
| 8 | + | |
| 9 | +2009-10-19 Jay Berkenbilt <ejb@ql.org> | |
| 6 | 10 | |
| 7 | 11 | * include/qpdf/QPDF.hh (QPDF): getWarnings now returns a list of |
| 8 | 12 | QPDFExc rather than a list of strings. This way, warnings may be | ... | ... |
include/qpdf/qpdf-c.h
| ... | ... | @@ -92,6 +92,10 @@ extern "C" { |
| 92 | 92 | # define QPDF_TRUE 1 |
| 93 | 93 | # define QPDF_FALSE 0 |
| 94 | 94 | |
| 95 | + /* Returns the version of the qpdf software */ | |
| 96 | + QPDF_DLL | |
| 97 | + char const* qpdf_get_qpdf_version(); | |
| 98 | + | |
| 95 | 99 | /* Returns dynamically allocated qpdf_data pointer; must be freed |
| 96 | 100 | * by calling qpdf_cleanup. |
| 97 | 101 | */ | ... | ... |
libqpdf/qpdf-c.cc
| ... | ... | @@ -91,6 +91,12 @@ static QPDF_ERROR_CODE trap_errors(qpdf_data qpdf, void (*fn)(qpdf_data)) |
| 91 | 91 | return status; |
| 92 | 92 | } |
| 93 | 93 | |
| 94 | +char const* qpdf_get_qpdf_version() | |
| 95 | +{ | |
| 96 | + QTC::TC("qpdf", "qpdf-c called qpdf_get_qpdf_version"); | |
| 97 | + return QPDF::QPDFVersion().c_str(); | |
| 98 | +} | |
| 99 | + | |
| 94 | 100 | qpdf_data qpdf_init() |
| 95 | 101 | { |
| 96 | 102 | QTC::TC("qpdf", "qpdf-c called qpdf_init"); | ... | ... |
qpdf/qpdf-ctest.c
| ... | ... | @@ -292,6 +292,12 @@ int main(int argc, char* argv[]) |
| 292 | 292 | { |
| 293 | 293 | whoami = argv[0]; |
| 294 | 294 | } |
| 295 | + if ((argc == 2) && (strcmp(argv[1], "--version") == 0)) | |
| 296 | + { | |
| 297 | + printf("qpdf-ctest version %s\n", qpdf_get_qpdf_version()); | |
| 298 | + return 0; | |
| 299 | + } | |
| 300 | + | |
| 295 | 301 | if (argc < 5) |
| 296 | 302 | { |
| 297 | 303 | fprintf(stderr, "usage: %s n infile password outfile\n", whoami); | ... | ... |
qpdf/qpdf.testcov
qpdf/qtest/qpdf.test
| ... | ... | @@ -81,12 +81,17 @@ flush_tiff_cache(); |
| 81 | 81 | show_ntests(); |
| 82 | 82 | # ---------- |
| 83 | 83 | $td->notify("--- Miscellaneous Tests ---"); |
| 84 | -$n_tests += 15; | |
| 84 | +$n_tests += 16; | |
| 85 | 85 | |
| 86 | 86 | $td->runtest("qpdf version", |
| 87 | 87 | {$td->COMMAND => "qpdf --version"}, |
| 88 | 88 | {$td->REGEXP => "qpdf version \\S+\n.*", $td->EXIT_STATUS => 0}, |
| 89 | 89 | $td->NORMALIZE_NEWLINES); |
| 90 | +$td->runtest("C API: qpdf version", | |
| 91 | + {$td->COMMAND => "qpdf-ctest --version"}, | |
| 92 | + {$td->REGEXP => "qpdf-ctest version \\S+\n", | |
| 93 | + $td->EXIT_STATUS => 0}, | |
| 94 | + $td->NORMALIZE_NEWLINES); | |
| 90 | 95 | |
| 91 | 96 | foreach (my $i = 1; $i <= 3; ++$i) |
| 92 | 97 | { | ... | ... |