diff --git a/slsDetectorSoftware/mythenDetectorServer/server_defs.h b/slsDetectorSoftware/mythenDetectorServer/server_defs.h index 815f4d7bb..c211a99d4 100755 --- a/slsDetectorSoftware/mythenDetectorServer/server_defs.h +++ b/slsDetectorSoftware/mythenDetectorServer/server_defs.h @@ -39,4 +39,5 @@ #define THIS_SOFTWARE_VERSION 0x20120419 +#define THIS_REVISION "$Rev$" #endif diff --git a/slsDetectorSoftware/mythenDetectorServer/server_funcs.c b/slsDetectorSoftware/mythenDetectorServer/server_funcs.c index a423f0e04..fcba20b4e 100755 --- a/slsDetectorSoftware/mythenDetectorServer/server_funcs.c +++ b/slsDetectorSoftware/mythenDetectorServer/server_funcs.c @@ -528,10 +528,11 @@ enum externalCommunicationMode{ int get_id(int file_des) { // sends back 64 bits! - int64_t retval; + int64_t retval, rev; int ret=OK; int imod=-1; int n=0; + int rev1; enum idMode arg; sprintf(mess,"Can't return id\n"); @@ -579,7 +580,13 @@ int get_id(int file_des) { retval=getMcsVersion(); break; case DETECTOR_SOFTWARE_VERSION: - retval=THIS_SOFTWARE_VERSION; + + + sscanf(THIS_REVISION,"$Rev : %x",&rev1); + rev=((int64_t)rev1); + + retval=(THIS_SOFTWARE_VERSION<<32) | rev; + break; default: printf("Required unknown id %d \n", arg); diff --git a/slsDetectorSoftware/slsDetector/slsDetector.cpp b/slsDetectorSoftware/slsDetector/slsDetector.cpp index b58bb64dc..987d7927e 100644 --- a/slsDetectorSoftware/slsDetector/slsDetector.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetector.cpp @@ -1577,7 +1577,7 @@ int64_t slsDetector::getId( idMode mode, int imod){ int fnum=F_GET_ID; int ret=FAIL; int64_t rev=0; - + int rev1; char mess[100]; @@ -1590,8 +1590,10 @@ int64_t slsDetector::getId( idMode mode, int imod){ #endif if (mode==THIS_SOFTWARE_VERSION) { ret=OK; - sscanf(THIS_REVISION,"$Rev : %x",&rev); - retval=thisSoftwareVersion & rev << 32; + sscanf(THIS_REVISION,"$Rev : %x",&rev1); + rev=((int64_t)rev1); + + retval=(thisSoftwareVersion<<32) | rev; } else { if (thisDetector->onlineFlag==ONLINE_FLAG) { if (controlSocket) {