On 07/09/2011 5:27 PM, Andre Poenitz wrote:
On Wed, Sep 07, 2011 at 11:06:04AM -0400, Richard Heck wrote:
-    std::string const&  extension() const { return extension_; }
+    std::string const&  extension() const { return extension_list_[0]; }

and extension_list_[0] would be an invalid address otherwise.

return extension_list_.empty() ? "" : extension_list_[0]?

That would return a dangling reference in this particular case.

So either

     std::string extension() const
     {
         return extension_list_.empty() ? "" : extension_list_[0];
     }

or the moral equivalent of

     std::string const&  extension() const
     {
         static std::string dummy;
         return extension_list_.empty() ? dummy : extension_list_[0];
     }

Andre'


Thanks, I went with the moral.
Just learning at the moment.

--
Julien

Reply via email to