blob: f8c8acfc3a6061f985c255c898eaedf10ec06122 [file] [log] [blame]
lh9ed821d2023-04-07 01:36:19 -07001/*
2 * version.c --- Return the version of the ext2 library
3 *
4 * Copyright (C) 1997 Theodore Ts'o.
5 *
6 * %Begin-Header%
7 * This file may be redistributed under the terms of the GNU Library
8 * General Public License, version 2.
9 * %End-Header%
10 */
11
12#include "config.h"
13#if HAVE_UNISTD_H
14#include <unistd.h>
15#endif
16#include <string.h>
17#include <stdio.h>
18#include <ctype.h>
19
20#include "ext2_fs.h"
21#include "ext2fs.h"
22
23#include "../../version.h"
24
25static const char *lib_version = E2FSPROGS_VERSION;
26static const char *lib_date = E2FSPROGS_DATE;
27
28int ext2fs_parse_version_string(const char *ver_string)
29{
30 const char *cp;
31 int version = 0, dot_count = 0;
32
33 for (cp = ver_string; *cp; cp++) {
34 if (*cp == '.') {
35 if (dot_count++)
36 break;
37 else
38 continue;
39 }
40 if (!isdigit(*cp))
41 break;
42 version = (version * 10) + (*cp - '0');
43 }
44 return version;
45}
46
47
48int ext2fs_get_library_version(const char **ver_string,
49 const char **date_string)
50{
51 if (ver_string)
52 *ver_string = lib_version;
53 if (date_string)
54 *date_string = lib_date;
55
56 return ext2fs_parse_version_string(lib_version);
57}