diff options
| author | Nick Wellnhofer <wellnhofer@aevum.de> | 2015-01-23 17:04:14 +0100 | 
|---|---|---|
| committer | Nick Wellnhofer <wellnhofer@aevum.de> | 2015-01-23 17:23:35 +0100 | 
| commit | 3248801a925449644071671dcd85e370303071b4 (patch) | |
| tree | daf4bd900de49effe12e035f924e517d9716cd96 /man/man3 | |
| parent | 96a4e04522584aab4ea1fe444f971bec935abc8a (diff) | |
Improve version information
Add version number and string as macros and symbols. Version numbers can
be easily compared, for example in the C preprocessor:
    #include <cmark.h>
    #if CMARK_VERSION < 0x020200
    #error Requires libcmark 2.2.0 or higher
    #endif
Storing the version in a global variable allows to check the library
version at runtime. For example:
    if (CMARK_VERSION != cmark_version) {
        warn("Compiled against libcmark %s, but using %s",
             CMARK_VERSION_STRING, cmark_version_string);
    }
The version should be updated whenever the public API is changed.
Diffstat (limited to 'man/man3')
| -rw-r--r-- | man/man3/cmark.3 | 74 | 
1 files changed, 61 insertions, 13 deletions
| diff --git a/man/man3/cmark.3 b/man/man3/cmark.3 index f889521..f03a3ae 100644 --- a/man/man3/cmark.3 +++ b/man/man3/cmark.3 @@ -1,4 +1,4 @@ -.TH cmark 3 "January 20, 2015" "LOCAL" "Library Functions Manual" +.TH cmark 3 "January 23, 2015" "LOCAL" "Library Functions Manual"  .SH  NAME  .PP @@ -10,18 +10,6 @@ DESCRIPTION  Simple Interface  .PP -.nf -\fC -.RS 0n -#define CMARK_VERSION "0.1" -.RE -\f[] -.fi - -.PP -Current version of library. - -.PP  \fIchar *\f[] \fBcmark_markdown_to_html\f[](\fIconst char *text\f[], \fIint len\f[])  .PP @@ -532,6 +520,66 @@ Render \f[C]softbreak\f[] elements as hard line breaks.  .PP  Normalize tree by consolidating adjacent text nodes. +.SS +Version information + +.PP +.nf +\fC +.RS 0n +#define CMARK_VERSION 0x000100 +.RE +\f[] +.fi + +.PP +Macro containing the library version as integer for compile time +checks. +.IP \[bu] 2 +Bits 16\-23 contain the major version. +.IP \[bu] 2 +Bits 8\-15 contain the minor version. +.IP \[bu] 2 +Bits 0\-7 contain the patchlevel. +.PP +In hexadecimal format, the number 0x010203 represents version 1.2.3. + +.PP +.nf +\fC +.RS 0n +#define CMARK_VERSION_STRING "0.1.0" +.RE +\f[] +.fi + +.PP +Macro containing the library version string for compile time checks. + +.PP +.nf +\fC +.RS 0n +extern const int cmark_version; +.RE +\f[] +.fi + +.PP +The library version as integer for runtime checks. + +.PP +.nf +\fC +.RS 0n +extern const char cmark_version_string[]; +.RE +\f[] +.fi + +.PP +The library version string for runtime checks. +  .SH  AUTHORS  .PP | 
