Coverage Report

Created: 2025-07-11 06:22

/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
}