1*6a54128fSAndroid Build Coastguard Worker /* 2*6a54128fSAndroid Build Coastguard Worker * version.c --- Return the version of the blkid library 3*6a54128fSAndroid Build Coastguard Worker * 4*6a54128fSAndroid Build Coastguard Worker * Copyright (C) 2004 Theodore Ts'o. 5*6a54128fSAndroid Build Coastguard Worker * 6*6a54128fSAndroid Build Coastguard Worker * %Begin-Header% 7*6a54128fSAndroid Build Coastguard Worker * This file may be redistributed under the terms of the 8*6a54128fSAndroid Build Coastguard Worker * GNU Lesser General Public License. 9*6a54128fSAndroid Build Coastguard Worker * %End-Header% 10*6a54128fSAndroid Build Coastguard Worker */ 11*6a54128fSAndroid Build Coastguard Worker 12*6a54128fSAndroid Build Coastguard Worker #include "config.h" 13*6a54128fSAndroid Build Coastguard Worker #if HAVE_UNISTD_H 14*6a54128fSAndroid Build Coastguard Worker #include <unistd.h> 15*6a54128fSAndroid Build Coastguard Worker #endif 16*6a54128fSAndroid Build Coastguard Worker #include <string.h> 17*6a54128fSAndroid Build Coastguard Worker #include <stdio.h> 18*6a54128fSAndroid Build Coastguard Worker #include <ctype.h> 19*6a54128fSAndroid Build Coastguard Worker 20*6a54128fSAndroid Build Coastguard Worker #include <blkid/blkid.h> 21*6a54128fSAndroid Build Coastguard Worker #include "../../version.h" 22*6a54128fSAndroid Build Coastguard Worker 23*6a54128fSAndroid Build Coastguard Worker static const char *lib_version = E2FSPROGS_VERSION; 24*6a54128fSAndroid Build Coastguard Worker static const char *lib_date = E2FSPROGS_DATE; 25*6a54128fSAndroid Build Coastguard Worker blkid_parse_version_string(const char * ver_string)26*6a54128fSAndroid Build Coastguard Workerint blkid_parse_version_string(const char *ver_string) 27*6a54128fSAndroid Build Coastguard Worker { 28*6a54128fSAndroid Build Coastguard Worker const char *cp; 29*6a54128fSAndroid Build Coastguard Worker int version = 0; 30*6a54128fSAndroid Build Coastguard Worker 31*6a54128fSAndroid Build Coastguard Worker for (cp = ver_string; *cp; cp++) { 32*6a54128fSAndroid Build Coastguard Worker if (*cp == '.') 33*6a54128fSAndroid Build Coastguard Worker continue; 34*6a54128fSAndroid Build Coastguard Worker if (!isdigit(*cp)) 35*6a54128fSAndroid Build Coastguard Worker break; 36*6a54128fSAndroid Build Coastguard Worker version = (version * 10) + (*cp - '0'); 37*6a54128fSAndroid Build Coastguard Worker } 38*6a54128fSAndroid Build Coastguard Worker return version; 39*6a54128fSAndroid Build Coastguard Worker } 40*6a54128fSAndroid Build Coastguard Worker blkid_get_library_version(const char ** ver_string,const char ** date_string)41*6a54128fSAndroid Build Coastguard Workerint blkid_get_library_version(const char **ver_string, 42*6a54128fSAndroid Build Coastguard Worker const char **date_string) 43*6a54128fSAndroid Build Coastguard Worker { 44*6a54128fSAndroid Build Coastguard Worker if (ver_string) 45*6a54128fSAndroid Build Coastguard Worker *ver_string = lib_version; 46*6a54128fSAndroid Build Coastguard Worker if (date_string) 47*6a54128fSAndroid Build Coastguard Worker *date_string = lib_date; 48*6a54128fSAndroid Build Coastguard Worker 49*6a54128fSAndroid Build Coastguard Worker return blkid_parse_version_string(lib_version); 50*6a54128fSAndroid Build Coastguard Worker } 51