1/* 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#if HAVE_UNISTD_H 13#include <unistd.h> 14#endif 15#include <string.h> 16#include <stdio.h> 17#include <ctype.h> 18 19#include "ext2_fs.h" 20#include "ext2fs.h" 21 22#include "../../version.h" 23 24static const char *lib_version = E2FSPROGS_VERSION; 25static const char *lib_date = E2FSPROGS_DATE; 26 27int ext2fs_parse_version_string(const char *ver_string) 28{ 29 const char *cp; 30 int version = 0, dot_count = 0; 31 32 for (cp = ver_string; *cp; cp++) { 33 if (*cp == '.') { 34 if (dot_count++) 35 break; 36 else 37 continue; 38 } 39 if (!isdigit(*cp)) 40 break; 41 version = (version * 10) + (*cp - '0'); 42 } 43 return version; 44} 45 46 47int ext2fs_get_library_version(const char **ver_string, 48 const char **date_string) 49{ 50 if (ver_string) 51 *ver_string = lib_version; 52 if (date_string) 53 *date_string = lib_date; 54 55 return ext2fs_parse_version_string(lib_version); 56} 57