From Nito@Qindel.ES Mon Sep 15 00:35:31 2014 Received: (at submit) by bugs.x2go.org; 14 Sep 2014 22:35:33 +0000 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on ymir.das-netzwerkteam.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=BAYES_20,HTML_MESSAGE autolearn=no version=3.3.2 X-Greylist: delayed 395 seconds by postgrey-1.34 at ymir.das-netzwerkteam.de; Mon, 15 Sep 2014 00:35:31 CEST Received: from thor.qindel.com (smtp.qindel.com [89.140.90.34]) by ymir.das-netzwerkteam.de (Postfix) with ESMTP id A73775DB54 for ; Mon, 15 Sep 2014 00:35:31 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by thor.qindel.com (Postfix) with ESMTP id C6F8160218 for ; Mon, 15 Sep 2014 00:28:55 +0200 (CEST) Received: from thor.qindel.com ([127.0.0.1]) by localhost (thor.qindel.com [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id wWPuIG4Kj_Na for ; Mon, 15 Sep 2014 00:28:52 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by thor.qindel.com (Postfix) with ESMTP id 0B2E460219 for ; Mon, 15 Sep 2014 00:28:52 +0200 (CEST) X-Virus-Scanned: amavisd-new at thor.qindel.com Received: from thor.qindel.com ([127.0.0.1]) by localhost (thor.qindel.com [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id p24OlZByErFa for ; Mon, 15 Sep 2014 00:28:51 +0200 (CEST) Received: from [10.1.0.254] (qvd-254.int.qindel.com [172.26.11.254]) by thor.qindel.com (Postfix) with ESMTPSA id CA67E60218 for ; Mon, 15 Sep 2014 00:28:51 +0200 (CEST) Message-ID: <541616A3.2020300@Qindel.ES> Date: Mon, 15 Sep 2014 00:28:51 +0200 From: Nito Martinez User-Agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:17.0) Gecko/20130801 Thunderbird/17.0.8 MIME-Version: 1.0 To: submit@bugs.x2go.org Subject: Add versioning information to nxcomp Content-Type: multipart/mixed; boundary="------------050501060609080904040502" This is a multi-part message in MIME format. --------------050501060609080904040502 Content-Type: multipart/alternative; boundary="------------090905090709050502090807" --------------090905090709050502090807 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Package: nx-libs Version: 3.5.0-27 It would be desirable to add some versions to be able to get the version of the NXComp library. These should be defined in NX.h, to be used from other clients, and Attached is a patch that defines the following functions: extern const char* NXVersion(); extern int NXMajorVersion(); extern int NXMinorVersion(); extern int NXPatchVersion(); In the patch assigned the VERSION has been set to 3.5.28, just to highlight that it would be good to change the VERSION of nxcomp whenever a patch is applied to the code. Regards, Nito --------------090905090709050502090807 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Package: nx-libs
Version: 3.5.0-27

It would be desirable to add some versions to be able to get the version of the
NXComp library.
These should be defined in NX.h, to be used from other clients, and

Attached is a patch that defines the following functions:

extern const char* NXVersion();
extern int NXMajorVersion();
extern int NXMinorVersion();
extern int NXPatchVersion();

In the patch assigned the VERSION has been set to 3.5.28, just to highlight that
it would be good to change the VERSION of nxcomp whenever a patch is applied
to the code.

Regards,

Nito
--------------090905090709050502090807-- --------------050501060609080904040502 Content-Type: text/x-diff; name="nxcomp-version.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="nxcomp-version.patch" diff --git a/nxcomp/CHANGELOG b/nxcomp/CHANGELOG index b7ef0d9..756c9ba 100644 --- a/nxcomp/CHANGELOG +++ b/nxcomp/CHANGELOG @@ -1,5 +1,9 @@ ChangeLog: +nxcomp-3.5.28 + +- Add versioning. Update of NX.h and Version.c + nxcomp-3.5.0-2 - Fixed TR11H02398. Solved a race condition when creating channels. diff --git a/nxcomp/Control.cpp b/nxcomp/Control.cpp index ce99567..b7c1219 100644 --- a/nxcomp/Control.cpp +++ b/nxcomp/Control.cpp @@ -15,6 +15,7 @@ /* */ /**************************************************************************/ +#include "NX.h" #include "NXpack.h" #include "Control.h" @@ -599,39 +600,9 @@ Control::Control() CompatVersionMinor = -1; CompatVersionPatch = -1; - char version[32]; - - strcpy(version, VERSION); - - char *value; - - value = strtok(version, "."); - - for (int i = 0; value != NULL && i < 3; i++) - { - switch (i) - { - case 0: - - LocalVersionMajor = atoi(value); - - break; - - case 1: - - LocalVersionMinor = atoi(value); - - break; - - case 2: - - LocalVersionPatch = atoi(value); - - break; - } - - value = strtok(NULL, "."); - } + LocalVersionMajor = NXMajorVersion(); + LocalVersionMinor = NXMinorVersion(); + LocalVersionPatch = NXPatchVersion(); #ifdef TEST *logofs << "Control: Major version is " << LocalVersionMajor diff --git a/nxcomp/Makefile.in b/nxcomp/Makefile.in index 434118b..6aa18f3 100644 --- a/nxcomp/Makefile.in +++ b/nxcomp/Makefile.in @@ -100,7 +100,8 @@ MSRC = CSRC = MD5.c \ Pack.c \ - Vars.c + Vars.c \ + Version.c CXXSRC = Loop.cpp \ Children.cpp \ diff --git a/nxcomp/NX.h b/nxcomp/NX.h index d98af79..fba4718 100644 --- a/nxcomp/NX.h +++ b/nxcomp/NX.h @@ -442,6 +442,12 @@ extern int NXTransParseEnvironment(const char *env, int force); extern void NXTransCleanup(void) __attribute__((noreturn)); +extern const char* NXVersion(); +extern int NXMajorVersion(); +extern int NXMinorVersion(); +extern int NXPatchVersion(); + + #ifdef __cplusplus } #endif diff --git a/nxcomp/VERSION b/nxcomp/VERSION index 1545d96..3f3ae45 100644 --- a/nxcomp/VERSION +++ b/nxcomp/VERSION @@ -1 +1 @@ -3.5.0 +3.5.28 diff --git a/nxcomp/Version.c b/nxcomp/Version.c new file mode 100644 index 0000000..9df6cbd --- /dev/null +++ b/nxcomp/Version.c @@ -0,0 +1,98 @@ +/**************************************************************************/ +/* */ +/* Copyright (C) 2014 Qindel http://qindel.com - 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; + + +const char* NXVersion() { + const char *version = VERSION; + return version; +} + +void _parseNXVersion() { + char version[32]; + int i; + strcpy(version, VERSION); + + char *value; + + value = strtok(version, "."); + + for (i = 0; value != NULL && i < 3; i++) + { + switch (i) + { + case 0: + + _NXVersionMajor = atoi(value); + + break; + + case 1: + + _NXVersionMinor = atoi(value); + + break; + + case 2: + + _NXVersionPatch = atoi(value); + + break; + } + + value = strtok(NULL, "."); + } +} + +int NXMajorVersion() { + if (_NXVersionMajor == -1) + _parseNXVersion(); + return _NXVersionMajor; +} +int NXMinorVersion() { + if (_NXVersionMinor == -1) + _parseNXVersion(); + return _NXVersionMinor; +} +int NXPatchVersion() { + if (_NXVersionPatch == -1) + _parseNXVersion(); + return _NXVersionPatch; +} --------------050501060609080904040502--