From 823450515591369d1899e85ab86a8780ed3d995b Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Sat, 14 Feb 2015 14:43:13 +0100 Subject: nxcomp: Add Version.c file. Fix for commit d4d3fe0e6e77a58e68defc5895a589a681d7d092. --- nxcomp/Version.c | 106 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 nxcomp/Version.c diff --git a/nxcomp/Version.c b/nxcomp/Version.c new file mode 100644 index 000000000..2b431532b --- /dev/null +++ b/nxcomp/Version.c @@ -0,0 +1,106 @@ +/**************************************************************************/ +/* */ +/* Copyright (C) 2014 Qindel http://qindel.com and QVD http://theqvd.com */ +/* */ +/* This program is free software; you can redistribute it and/or modify */ +/* it under the terms of the GNU General Public License as published by */ +/* the Free Software Foundation; either version 3 of the License, or (at */ +/* your option) any later version. */ +/* */ +/* This program is distributed in the hope that it will be useful, but */ +/* WITHOUT ANY WARRANTY; without even the implied warranty of */ +/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. */ +/* See the GNU General Public License for more details. */ +/* */ +/* You should have received a copy of the GNU General Public License */ +/* along with this program; if not, see . */ +/* */ +/* Additional permission under GNU GPL version 3 section 7 */ +/* */ +/* If you modify this Program, or any covered work, by linking or */ +/* combining it with [name of library] (or a modified version of that */ +/* library), containing parts covered by the terms of [name of library's */ +/* license], the licensors of this Program grant you additional */ +/* permission to convey the resulting work. {Corresponding Source for a */ +/* non-source form of such a combination shall include the source code */ +/* for the parts of [name of library] used as well as that of the covered */ +/* work.} */ +/* */ +/* */ +/**************************************************************************/ + +#include +#include +#include +#include "NX.h" + + +static int _NXVersionMajor = -1; +static int _NXVersionMinor = -1; +static int _NXVersionPatch = -1; +static int _NXVersionMaintenancePatch = -1; + + +const char* NXVersion() { + const char *version = VERSION; + return version; +} + +void _parseNXVersion() { + char version[32]; + int i; + strcpy(version, VERSION); + + char *value; + /* Reset values to 0 if undefined */ + _NXVersionMajor = _NXVersionMinor = _NXVersionPatch = _NXVersionMaintenancePatch = 0; + + +#define NXVERSIONSEPARATOR "." + value = strtok(version, NXVERSIONSEPARATOR); + + for (i = 0; value != NULL && i < 4; i++) + { + switch (i) + { + case 0: + _NXVersionMajor = atoi(value); + break; + + case 1: + _NXVersionMinor = atoi(value); + break; + + case 2: + _NXVersionPatch = atoi(value); + break; + + case 3: + _NXVersionMaintenancePatch = atoi(value); + break; + } + + value = strtok(NULL, NXVERSIONSEPARATOR); + } +} + +int NXMajorVersion() { + if (_NXVersionMajor == -1) + _parseNXVersion(); + return _NXVersionMajor; +} +int NXMinorVersion() { + if (_NXVersionMinor == -1) + _parseNXVersion(); + return _NXVersionMinor; +} +int NXPatchVersion() { + if (_NXVersionPatch == -1) + _parseNXVersion(); + return _NXVersionPatch; +} +int NXMaintenancePatchVersion() { + if (_NXVersionMaintenancePatch == -1) + _parseNXVersion(); + return _NXVersionMaintenancePatch; +} -- cgit v1.2.3