put the API version as #defines in the header file (as discussed in #30)
This commit is contained in:
parent
164cc48aaf
commit
c851c67888
4
NEWS.md
4
NEWS.md
@ -28,6 +28,10 @@
|
|||||||
|
|
||||||
- Most `#defined` constants are now `enums`.
|
- Most `#defined` constants are now `enums`.
|
||||||
|
|
||||||
|
- New preprocessor constants `UTF8PROC_VERSION_MAJOR`,
|
||||||
|
`UTF8PROC_VERSION_MINOR`, and `UTF8PROC_VERSION_PATCH` for compile-time
|
||||||
|
detection of the API version.
|
||||||
|
|
||||||
- Doxygen-formatted documentation.
|
- Doxygen-formatted documentation.
|
||||||
|
|
||||||
## Version 1.1.6 ##
|
## Version 1.1.6 ##
|
||||||
|
|||||||
@ -8,6 +8,10 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
for (i = 1; i < argc; ++i) {
|
for (i = 1; i < argc; ++i) {
|
||||||
int c;
|
int c;
|
||||||
|
if (!strcmp(argv[i], "-V")) {
|
||||||
|
printf("utf8proc version %s\n", utf8proc_version());
|
||||||
|
continue;
|
||||||
|
}
|
||||||
check(sscanf(argv[i],"%x",&c) == 1, "invalid hex input %s", argv[i]);
|
check(sscanf(argv[i],"%x",&c) == 1, "invalid hex input %s", argv[i]);
|
||||||
const utf8proc_property_t *p = utf8proc_get_property(c);
|
const utf8proc_property_t *p = utf8proc_get_property(c);
|
||||||
printf("U+%s:\n"
|
printf("U+%s:\n"
|
||||||
|
|||||||
@ -84,8 +84,10 @@ DLLEXPORT const int8_t utf8proc_utf8class[256] = {
|
|||||||
/* Should follow semantic-versioning rules (semver.org) based on API
|
/* Should follow semantic-versioning rules (semver.org) based on API
|
||||||
compatibility. (Note that the shared-library version number will
|
compatibility. (Note that the shared-library version number will
|
||||||
be different, being based on ABI compatibility.): */
|
be different, being based on ABI compatibility.): */
|
||||||
|
#define STRINGIZEx(x) #x
|
||||||
|
#define STRINGIZE(x) STRINGIZEx(x)
|
||||||
DLLEXPORT const char *utf8proc_version(void) {
|
DLLEXPORT const char *utf8proc_version(void) {
|
||||||
return "1.2-dev";
|
return STRINGIZE(UTF8PROC_VERSION_MAJOR) "." STRINGIZE(UTF8PROC_VERSION_MINOR) "." STRINGIZE(UTF8PROC_VERSION_PATCH) "-dev";
|
||||||
}
|
}
|
||||||
|
|
||||||
DLLEXPORT const char *utf8proc_errmsg(ssize_t errcode) {
|
DLLEXPORT const char *utf8proc_errmsg(ssize_t errcode) {
|
||||||
|
|||||||
25
utf8proc.h
25
utf8proc.h
@ -56,6 +56,27 @@
|
|||||||
#ifndef UTF8PROC_H
|
#ifndef UTF8PROC_H
|
||||||
#define UTF8PROC_H
|
#define UTF8PROC_H
|
||||||
|
|
||||||
|
/** @name API version
|
||||||
|
*
|
||||||
|
* The utf8proc API version MAJOR.MINOR.PATCH, following
|
||||||
|
* semantic-versioning rules (http://semver.org) based on API
|
||||||
|
* compatibility.
|
||||||
|
*
|
||||||
|
* This is also returned at runtime by @ref utf8proc_version; however, the
|
||||||
|
* runtime version may append a string like "-dev" to the version number
|
||||||
|
* for prerelease versions.
|
||||||
|
*
|
||||||
|
* @note The shared-library version number in the Makefile will be different,
|
||||||
|
* being based on ABI compatibility rather than API compatibility.
|
||||||
|
*/
|
||||||
|
/** @{ */
|
||||||
|
/** The MAJOR version number (increased when backwards API compatibility is broken). */
|
||||||
|
#define UTF8PROC_VERSION_MAJOR 1
|
||||||
|
/** The MINOR version number (increased when new functionality is added in a backwards-compatible manner). */
|
||||||
|
#define UTF8PROC_VERSION_MINOR 2
|
||||||
|
/** The PATCH version (increased for fixes that do not change the API). */
|
||||||
|
#define UTF8PROC_VERSION_PATCH 0
|
||||||
|
/** @} */
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
@ -337,7 +358,9 @@ typedef enum {
|
|||||||
DLLEXPORT extern const int8_t utf8proc_utf8class[256];
|
DLLEXPORT extern const int8_t utf8proc_utf8class[256];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the version as a string.
|
* Returns the utf8proc API version as a string MAJOR.MINOR.PATCH
|
||||||
|
* (http://semver.org format), possibly with a "-dev" suffix for
|
||||||
|
* development versions.
|
||||||
*/
|
*/
|
||||||
DLLEXPORT const char *utf8proc_version(void);
|
DLLEXPORT const char *utf8proc_version(void);
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user