diff options
| author | Nat Goodspeed <nat@lindenlab.com> | 2024-06-28 07:54:46 -0400 | 
|---|---|---|
| committer | Nat Goodspeed <nat@lindenlab.com> | 2024-09-18 16:52:45 -0400 | 
| commit | 837a6e04d85e4f3f301e62aea3329ea61e926566 (patch) | |
| tree | eb8488deb526601be0cf9276b7a237e29c736bd5 | |
| parent | e829828dcd9b989a9efb32f7c69cd8652e9857ec (diff) | |
Give our fsyspath an operator std::string() conversion method.
This is redundant (but harmless) on a Posix system, but it fills a missing
puzzle piece on Windows. The point of fsyspath is to be able to interchange
freely between fsyspath and std::string. Existing fsyspath could be
constructed and assigned from std::string, and we could explicitly call its
string() method to get a std::string, but an implicit fsyspath-to-string
conversion that worked on Posix would trip us up on Windows. Fix that.
(cherry picked from commit fbeff6d8052d4b614a0a2c8ebaf35b45379ab578)
| -rw-r--r-- | indra/llcommon/fsyspath.h | 5 | 
1 files changed, 5 insertions, 0 deletions
| diff --git a/indra/llcommon/fsyspath.h b/indra/llcommon/fsyspath.h index aa4e0132bc..3c749d84de 100644 --- a/indra/llcommon/fsyspath.h +++ b/indra/llcommon/fsyspath.h @@ -69,6 +69,11 @@ public:      // shadow base-class string() method with UTF-8 aware method      std::string string() const { return super::u8string(); } +    // On Posix systems, where value_type is already char, this operator +    // std::string() method shadows the base class operator string_type() +    // method. But on Windows, where value_type is wchar_t, the base class +    // doesn't have operator std::string(). Provide it. +    operator std::string() const { return string(); }  };  #endif /* ! defined(LL_FSYSPATH_H) */ | 
