diff --git a/include/GFilename.hpp b/include/GFilename.hpp index 585586b..a25edbc 100644 --- a/include/GFilename.hpp +++ b/include/GFilename.hpp @@ -61,8 +61,8 @@ public: int length(void) const; const std::string& filename(void) const; std::string extname(const std::string& defaultname = "") const; - int extno(const int& defaultextno = 1) const; - int extver(const int& defaultextver = 1) const; + int extno(const int& defaultno = -1) const; + int extver(const int& defaultver = 0) const; bool has_extname(void) const; bool has_extno(void) const; bool has_extver(void) const; @@ -77,7 +77,7 @@ protected: // Protected members std::string m_filename; //!< Filename (with stripped extension info) - std::string m_extname; //!< Extension name + std::string m_extname; //!< Extension name ("": not set) int m_extno; //!< Extension number (-1: not set) int m_extver; //!< Extension version (0: not set) }; diff --git a/pyext/GFilename.i b/pyext/GFilename.i index f23966d..312310a 100644 --- a/pyext/GFilename.i +++ b/pyext/GFilename.i @@ -53,8 +53,8 @@ public: int length(void) const; const std::string& filename(void) const; std::string extname(const std::string& defaultname = "") const; - int extno(const int& defaultextno = 1) const; - int extver(const int& defaultextver = 1) const; + int extno(const int& defaultno = -1) const; + int extver(const int& defaultver = 0) const; bool has_extname(void) const; bool has_extno(void) const; bool has_extver(void) const; diff --git a/src/support/GFilename.cpp b/src/support/GFilename.cpp index fa42d77..97ed953 100644 --- a/src/support/GFilename.cpp +++ b/src/support/GFilename.cpp @@ -227,21 +227,21 @@ std::string GFilename::extname(const std::string& defaultname) const /***********************************************************************//** * @brief Return extension number * - * @param[in] defaultextno Default extension number (default: 1). + * @param[in] defaultno Default extension number (default: -11). * @return Integer containing extension number. * * Returns the extension number. If no extension number is given the number - * provided by the @p defaultextno argument will be used. By default, the - * @p defaultextno parameter is set to 1. + * provided by the @p defaultno argument will be used. By default, the + * @p defaultno parameter is set to -1. ***************************************************************************/ -int GFilename::extno(const int& defaultextno) const +int GFilename::extno(const int& defaultno) const { // Set the extension number int extno = m_extno; // If no extension number is set, the use the default extension number if (!has_extno()) { - extno = defaultextno; + extno = defaultno; } // Return extension number @@ -252,29 +252,28 @@ int GFilename::extno(const int& defaultextno) const /***********************************************************************//** * @brief Return extension version number * - * @param[in] defaultextver Default extension version number (default: 1). + * @param[in] defaultver Default extension version number (default: 0). * @return Integer containing extension version number. * - * Returns the extension version number. If no extension version number is given the number - * provided by the @p defaultextver argument will be used. By default, the - * @p defaultextver parameter is set to 1. + * Returns the extension version number. If no extension version number is + * given the number provided by the @p defaultver argument will be used. By + * default, the @p defaultextver parameter is set to 0. ***************************************************************************/ -int GFilename::extver(const int& defaultextver) const +int GFilename::extver(const int& defaultver) const { - // Set the extension version number + // Set the extension version int extver = m_extver; - // If no extension number is set, the use the default extension version number + // If no extension version is set, the use the default extension version if (!has_extver()) { - extver = defaultextver; + extver = defaultver; } - // Return extension number + // Return extension version return (extver); } - /***********************************************************************//** * @brief Print file name information * diff --git a/test/test_GSupport.cpp b/test/test_GSupport.cpp index a8de738..d58fc6b 100644 --- a/test/test_GSupport.cpp +++ b/test/test_GSupport.cpp @@ -768,6 +768,18 @@ void TestGSupport::test_filename(void) "Expected \"LUCKY\" extension name, " "found \""+filename.extname()+"\""); + // Test default extension number + filename = "myfile.fits"; + test_value(filename.extno(1), 1); + filename = "myfile.fits[3]"; + test_value(filename.extno(1), 3); + + // Test default extension version + filename = "myfile.fits"; + test_value(filename.extver(1), 1); + filename = "myfile.fits[3,3]"; + test_value(filename.extver(1), 3); + // Return return; }