Commit 8650677b4fb0ecb7cd96ce68a67b990b1aa133fb

Authored by Jürgen Knödlseder
1 parent 35fceede

Expand environment variable before checking the existence of the directory.

Showing 1 changed file with 8 additions and 6 deletions
src/obs/GCaldb.cpp
@@ -318,20 +318,22 @@ std::string GCaldb::rootdir(void) const @@ -318,20 +318,22 @@ std::string GCaldb::rootdir(void) const
318 ***************************************************************************/ 318 ***************************************************************************/
319 void GCaldb::rootdir(const std::string& pathname) 319 void GCaldb::rootdir(const std::string& pathname)
320 { 320 {
  321 + // Expand pathname
  322 + std::string rootdir = gammalib::expand_env(pathname);
  323 +
321 // Verify that specified root directory exists 324 // Verify that specified root directory exists
322 - //if (access(pathname.c_str(), F_OK) != 0) {  
323 - if (!gammalib::dir_exists(pathname)) {  
324 - throw GException::directory_not_found(G_SET_ROOTDIR, pathname); 325 + if (!gammalib::dir_exists(rootdir)) {
  326 + throw GException::directory_not_found(G_SET_ROOTDIR, rootdir);
325 } 327 }
326 328
327 // Verify that specified root directory allows read access 329 // Verify that specified root directory allows read access
328 - if (access(pathname.c_str(), R_OK) != 0) {  
329 - throw GException::directory_not_accessible(G_SET_ROOTDIR, pathname, 330 + if (access(rootdir.c_str(), R_OK) != 0) {
  331 + throw GException::directory_not_accessible(G_SET_ROOTDIR, rootdir,
330 "Requested read permission not granted."); 332 "Requested read permission not granted.");
331 } 333 }
332 334
333 // Set calibration database root directory 335 // Set calibration database root directory
334 - m_opt_rootdir = gammalib::expand_env(pathname); 336 + m_opt_rootdir = rootdir;
335 337
336 // Return 338 // Return
337 return; 339 return;