/src/libidn/lib/version.c
Line | Count | Source |
1 | | /* version.c --- Version handling. |
2 | | Copyright (C) 2002-2025 Simon Josefsson |
3 | | |
4 | | This file is part of GNU Libidn. |
5 | | |
6 | | GNU Libidn is free software: you can redistribute it and/or |
7 | | modify it under the terms of either: |
8 | | |
9 | | * the GNU Lesser General Public License as published by the Free |
10 | | Software Foundation; either version 3 of the License, or (at |
11 | | your option) any later version. |
12 | | |
13 | | or |
14 | | |
15 | | * the GNU General Public License as published by the Free |
16 | | Software Foundation; either version 2 of the License, or (at |
17 | | your option) any later version. |
18 | | |
19 | | or both in parallel, as here. |
20 | | |
21 | | GNU Libidn is distributed in the hope that it will be useful, |
22 | | but WITHOUT ANY WARRANTY; without even the implied warranty of |
23 | | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
24 | | General Public License for more details. |
25 | | |
26 | | You should have received copies of the GNU General Public License and |
27 | | the GNU Lesser General Public License along with this program. If |
28 | | not, see <https://www.gnu.org/licenses/>. */ |
29 | | |
30 | | #ifdef HAVE_CONFIG_H |
31 | | # include "config.h" |
32 | | #endif |
33 | | |
34 | | #include "stringprep.h" |
35 | | |
36 | | #include <string.h> /* for strverscmp */ |
37 | | |
38 | | /** |
39 | | * stringprep_check_version: |
40 | | * @req_version: Required version number, or NULL. |
41 | | * |
42 | | * Check that the version of the library is at minimum the requested one |
43 | | * and return the version string; return NULL if the condition is not |
44 | | * satisfied. If a NULL is passed to this function, no check is done, |
45 | | * but the version string is simply returned. |
46 | | * |
47 | | * See %STRINGPREP_VERSION for a suitable @req_version string. |
48 | | * |
49 | | * Return value: Version string of run-time library, or NULL if the |
50 | | * run-time library does not meet the required version number. |
51 | | */ |
52 | | const char * |
53 | | stringprep_check_version (const char *req_version) |
54 | 2.46k | { |
55 | 2.46k | if (!req_version || strverscmp (req_version, STRINGPREP_VERSION) <= 0) |
56 | 452 | return STRINGPREP_VERSION; |
57 | | |
58 | 2.01k | return NULL; |
59 | 2.46k | } |