From d6ff3e92271521e9e54578f651a0b488ee4d2d7a Mon Sep 17 00:00:00 2001 From: l_maliakal_d Date: Wed, 3 Oct 2012 08:31:35 +0000 Subject: [PATCH] outdir checks if path exists, bug fix receiver: now checks online flag before tryig to set it online for outdir, filename and file index git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware@279 951219d9-93cf-4727-9268-0efd64621fa3 --- .../multiSlsDetector/multiSlsDetector.cpp | 2 +- .../slsDetector/slsDetectorCommand.cpp | 19 ++++++++++++++----- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp index e575259af..6fae78a1f 100644 --- a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp +++ b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp @@ -3566,7 +3566,7 @@ int multiSlsDetector::setReceiverOnline(int off) { detectors[i]->setReceiverOnline(off); } } - return thisMultiDetector->onlineFlag; + return thisMultiDetector->receiverOnlineFlag; } diff --git a/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp b/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp index 51bc3edf0..dcf09f54f 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp @@ -1303,15 +1303,22 @@ string slsDetectorCommand::cmdOutDir(int narg, char *args[], int action){ return helpOutDir(narg, args, action); } - if(myDet->setReceiverOnline(ONLINE_FLAG)==ONLINE_FLAG) + if(myDet->setReceiverOnline()==ONLINE_FLAG) + if(myDet->setReceiverOnline(ONLINE_FLAG)==ONLINE_FLAG) receiver = true; if (action==PUT_ACTION) { if(receiver){ if(myDet->setReceiverFileDir(string(args[1]))==string(args[1])) myDet->setFilePath(string(args[1])); - }else - myDet->setFilePath(string(args[1])); + }else{ + //check if the outdir really exists in localhost + struct stat st; + if(stat(args[1],&st)) + return string("path does not exist"); + else + myDet->setFilePath(string(args[1])); + } } if(receiver) @@ -1341,7 +1348,8 @@ string slsDetectorCommand::cmdFileName(int narg, char *args[], int action){ return helpFileName(narg, args, action); } - if(myDet->setReceiverOnline(ONLINE_FLAG)==ONLINE_FLAG) + if(myDet->setReceiverOnline()==ONLINE_FLAG) + if(myDet->setReceiverOnline(ONLINE_FLAG)==ONLINE_FLAG) receiver = true; if (action==PUT_ACTION) { @@ -1411,7 +1419,8 @@ string slsDetectorCommand::cmdFileIndex(int narg, char *args[], int action){ return helpFileName(narg, args, action); } - if(myDet->setReceiverOnline(ONLINE_FLAG)==ONLINE_FLAG) + if(myDet->setReceiverOnline()==ONLINE_FLAG) + if(myDet->setReceiverOnline(ONLINE_FLAG)==ONLINE_FLAG) receiver = true; if (action==PUT_ACTION) {