From e4a0dda457039b1a04c74024d9fbcf02e071b13d Mon Sep 17 00:00:00 2001 From: "Brad Payne (Vir Linden)" Date: Thu, 28 Jun 2012 14:24:04 -0400 Subject: SH-3228 WIP - always respond to processAppearance for self, convert baked textures to checkerboards --- indra/llcommon/imageids.cpp | 3 +++ indra/llcommon/imageids.h | 1 + 2 files changed, 4 insertions(+) mode change 100644 => 100755 indra/llcommon/imageids.cpp mode change 100644 => 100755 indra/llcommon/imageids.h (limited to 'indra/llcommon') diff --git a/indra/llcommon/imageids.cpp b/indra/llcommon/imageids.cpp old mode 100644 new mode 100755 index fe11465221..7d647e5c36 --- a/indra/llcommon/imageids.cpp +++ b/indra/llcommon/imageids.cpp @@ -68,3 +68,6 @@ const LLUUID TERRAIN_MOUNTAIN_DETAIL ("303cd381-8560-7579-23f1-f0a880799740"); / const LLUUID TERRAIN_ROCK_DETAIL ("53a2f406-4895-1d13-d541-d2e3b86bc19c"); // VIEWER const LLUUID DEFAULT_WATER_NORMAL ("822ded49-9a6c-f61c-cb89-6df54f42cdf4"); // VIEWER + +const LLUUID IMG_CHECKERBOARD_RGBA ("2585a0f3-4163-6dd1-0f34-ad48cb909e25"); // dataserver + diff --git a/indra/llcommon/imageids.h b/indra/llcommon/imageids.h old mode 100644 new mode 100755 index e0c2683fdc..18c8ecb074 --- a/indra/llcommon/imageids.h +++ b/indra/llcommon/imageids.h @@ -66,4 +66,5 @@ LL_COMMON_API extern const LLUUID TERRAIN_ROCK_DETAIL; LL_COMMON_API extern const LLUUID DEFAULT_WATER_NORMAL; +LL_COMMON_API extern const LLUUID IMG_CHECKERBOARD_RGBA; #endif -- cgit v1.2.3 From 8808325ced4d380d937c9be1cc81e20a5ebb5f62 Mon Sep 17 00:00:00 2001 From: Don Kjer Date: Fri, 14 Sep 2012 11:27:04 +0000 Subject: Removed appearance utility from viewer source. Added appearance utility autobuild package. --- indra/llcommon/llversionserver.h | 2 +- indra/llcommon/llversionviewer.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/llcommon') diff --git a/indra/llcommon/llversionserver.h b/indra/llcommon/llversionserver.h index b19ba3bf74..ef68a0eaf5 100644 --- a/indra/llcommon/llversionserver.h +++ b/indra/llcommon/llversionserver.h @@ -30,7 +30,7 @@ const S32 LL_VERSION_MAJOR = 2; const S32 LL_VERSION_MINOR = 1; const S32 LL_VERSION_PATCH = 0; -const S32 LL_VERSION_BUILD = 13828; +const S32 LL_VERSION_BUILD = 264760; const char * const LL_CHANNEL = "Second Life Server"; diff --git a/indra/llcommon/llversionviewer.h b/indra/llcommon/llversionviewer.h index bcc661a920..295fed3c4b 100644 --- a/indra/llcommon/llversionviewer.h +++ b/indra/llcommon/llversionviewer.h @@ -30,7 +30,7 @@ const S32 LL_VERSION_MAJOR = 3; const S32 LL_VERSION_MINOR = 4; const S32 LL_VERSION_PATCH = 1; -const S32 LL_VERSION_BUILD = 0; +const S32 LL_VERSION_BUILD = 264760; const char * const LL_CHANNEL = "Second Life Developer"; -- cgit v1.2.3 From 7153d1db11c00245a379fa9601f092020152ea73 Mon Sep 17 00:00:00 2001 From: Don Kjer Date: Thu, 20 Sep 2012 04:29:17 +0000 Subject: Partial rewrite of llifstream and llofstream (Windows implementation pending). Moved more functionality from llviewerwearable to llwearable --- indra/llcommon/lldictionary.h | 2 + indra/llcommon/llfile.cpp | 705 +++++++++++++++++++++++++++++++++++++----- indra/llcommon/llfile.h | 423 ++++++++++++++++++------- 3 files changed, 945 insertions(+), 185 deletions(-) (limited to 'indra/llcommon') diff --git a/indra/llcommon/lldictionary.h b/indra/llcommon/lldictionary.h index bc3bc3e74a..c752859a36 100644 --- a/indra/llcommon/lldictionary.h +++ b/indra/llcommon/lldictionary.h @@ -30,6 +30,8 @@ #include #include +#include "llerror.h" + struct LL_COMMON_API LLDictionaryEntry { LLDictionaryEntry(const std::string &name); diff --git a/indra/llcommon/llfile.cpp b/indra/llcommon/llfile.cpp index c51d042a3d..38b0dfdaf1 100644 --- a/indra/llcommon/llfile.cpp +++ b/indra/llcommon/llfile.cpp @@ -56,6 +56,8 @@ std::string strerr(int errn) return buffer; } +typedef std::basic_ios > _Myios; + #else // On Posix we want to call strerror_r(), but alarmingly, there are two // different variants. The one that returns int always populates the passed @@ -324,9 +326,10 @@ const char *LLFile::tmpdir() /***************** Modified file stream created to overcome the incorrect behaviour of posix fopen in windows *******************/ -#if USE_LLFILESTREAMS +#if LL_WINDOWS -LLFILE * LLFile::_Fiopen(const std::string& filename, std::ios::openmode mode,int) // protection currently unused +LLFILE * LLFile::_Fiopen(const std::string& filename, + std::ios::openmode mode,int) // protection currently unused { // open a file static const char *mods[] = { // fopen mode strings corresponding to valid[i] @@ -385,117 +388,677 @@ LLFILE * LLFile::_Fiopen(const std::string& filename, std::ios::openmode mode,in return (0); } -/************** input file stream ********************************/ +#endif /* LL_WINDOWS */ -void llifstream::close() -{ // close the C stream - if (_Filebuffer && _Filebuffer->close() == 0) +/************** llstdio file buffer ********************************/ + + +//llstdio_filebuf* llstdio_filebuf::open(const char *_Filename, +// ios_base::openmode _Mode) +//{ +//#if LL_WINDOWS +// _Filet *_File; +// if (is_open() || (_File = LLFILE::_Fiopen(_Filename, _Mode)) == 0) +// return (0); // open failed +// +// _Init(_File, _Openfl); +// _Initcvt(&_USE(_Mysb::getloc(), _Cvt)); +// return (this); // open succeeded +//#else +// std::filebuf* _file = std::filebuf::open(_Filename, _Mode); +// if (NULL == _file) return NULL; +// return this; +//#endif +//} + +llstdio_filebuf::int_type llstdio_filebuf::overflow(llstdio_filebuf::int_type __c) +{ + int_type __ret = traits_type::eof(); + const bool __testeof = traits_type::eq_int_type(__c, __ret); + const bool __testout = _M_mode & ios_base::out; + if (__testout && !_M_reading) { - _Myios::setstate(ios_base::failbit); /*Flawfinder: ignore*/ + if (this->pbase() < this->pptr()) + { + // If appropriate, append the overflow char. + if (!__testeof) + { + *this->pptr() = traits_type::to_char_type(__c); + this->pbump(1); + } + + // Convert pending sequence to external representation, + // and output. + if (_convert_to_external(this->pbase(), + this->pptr() - this->pbase())) + { + _M_set_buffer(0); + __ret = traits_type::not_eof(__c); + } + } + else if (_M_buf_size > 1) + { + // Overflow in 'uncommitted' mode: set _M_writing, set + // the buffer to the initial 'write' mode, and put __c + // into the buffer. + _M_set_buffer(0); + _M_writing = true; + if (!__testeof) + { + *this->pptr() = traits_type::to_char_type(__c); + this->pbump(1); + } + __ret = traits_type::not_eof(__c); + } + else + { + // Unbuffered. + char_type __conv = traits_type::to_char_type(__c); + if (__testeof || _convert_to_external(&__conv, 1)) + { + _M_writing = true; + __ret = traits_type::not_eof(__c); + } + } } + return __ret; } -void llifstream::open(const std::string& _Filename, /* Flawfinder: ignore */ - ios_base::openmode _Mode, - int _Prot) -{ // open a C stream with specified mode +bool llstdio_filebuf::_convert_to_external(char_type* __ibuf, + std::streamsize __ilen) +{ + // Sizes of external and pending output. + streamsize __elen; + streamsize __plen; + if (__check_facet(_M_codecvt).always_noconv()) + { + //__elen = _M_file.xsputn(reinterpret_cast(__ibuf), __ilen); + __elen = fwrite(reinterpret_cast(__ibuf), 1, + __ilen, _M_file.file()); + __plen = __ilen; + } + else + { + // Worst-case number of external bytes needed. + // XXX Not done encoding() == -1. + streamsize __blen = __ilen * _M_codecvt->max_length(); + char* __buf = static_cast(__builtin_alloca(__blen)); + + char* __bend; + const char_type* __iend; + codecvt_base::result __r; + __r = _M_codecvt->out(_M_state_cur, __ibuf, __ibuf + __ilen, + __iend, __buf, __buf + __blen, __bend); - LLFILE* filep = LLFile::_Fiopen(_Filename,_Mode | ios_base::in, _Prot); - if(filep == NULL) + if (__r == codecvt_base::ok || __r == codecvt_base::partial) + __blen = __bend - __buf; + else if (__r == codecvt_base::noconv) + { + // Same as the always_noconv case above. + __buf = reinterpret_cast(__ibuf); + __blen = __ilen; + } + else + __throw_ios_failure(__N("llstdio_filebuf::_convert_to_external " + "conversion error")); + + //__elen = _M_file.xsputn(__buf, __blen); + __elen = fwrite(__buf, 1, __blen, _M_file.file()); + __plen = __blen; + + // Try once more for partial conversions. + if (__r == codecvt_base::partial && __elen == __plen) + { + const char_type* __iresume = __iend; + streamsize __rlen = this->pptr() - __iend; + __r = _M_codecvt->out(_M_state_cur, __iresume, + __iresume + __rlen, __iend, __buf, + __buf + __blen, __bend); + if (__r != codecvt_base::error) + { + __rlen = __bend - __buf; + //__elen = _M_file.xsputn(__buf, __rlen); + __elen = fwrite(__buf, 1, __rlen, _M_file.file()); + __plen = __rlen; + } + else + { + __throw_ios_failure(__N("llstdio_filebuf::_convert_to_external " + "conversion error")); + } + } + } + return __elen == __plen; +} + +llstdio_filebuf::int_type llstdio_filebuf::underflow() +{ + int_type __ret = traits_type::eof(); + const bool __testin = _M_mode & ios_base::in; + if (__testin) { - _Myios::setstate(ios_base::failbit); /*Flawfinder: ignore*/ - return; + if (_M_writing) + { + if (overflow() == traits_type::eof()) + return __ret; + //_M_set_buffer(-1); + //_M_writing = false; + } + // Check for pback madness, and if so switch back to the + // normal buffers and jet outta here before expensive + // fileops happen... + _M_destroy_pback(); + + if (this->gptr() < this->egptr()) + return traits_type::to_int_type(*this->gptr()); + + // Get and convert input sequence. + const size_t __buflen = _M_buf_size > 1 ? _M_buf_size - 1 : 1; + + // Will be set to true if ::fread() returns 0 indicating EOF. + bool __got_eof = false; + // Number of internal characters produced. + streamsize __ilen = 0; + codecvt_base::result __r = codecvt_base::ok; + if (__check_facet(_M_codecvt).always_noconv()) + { + //__ilen = _M_file.xsgetn(reinterpret_cast(this->eback()), + // __buflen); + __ilen = fread(reinterpret_cast(this->eback()), 1, + __buflen, _M_file.file()); + if (__ilen == 0) + __got_eof = true; + } + else + { + // Worst-case number of external bytes. + // XXX Not done encoding() == -1. + const int __enc = _M_codecvt->encoding(); + streamsize __blen; // Minimum buffer size. + streamsize __rlen; // Number of chars to read. + if (__enc > 0) + __blen = __rlen = __buflen * __enc; + else + { + __blen = __buflen + _M_codecvt->max_length() - 1; + __rlen = __buflen; + } + const streamsize __remainder = _M_ext_end - _M_ext_next; + __rlen = __rlen > __remainder ? __rlen - __remainder : 0; + + // An imbue in 'read' mode implies first converting the external + // chars already present. + if (_M_reading && this->egptr() == this->eback() && __remainder) + __rlen = 0; + + // Allocate buffer if necessary and move unconverted + // bytes to front. + if (_M_ext_buf_size < __blen) + { + char* __buf = new char[__blen]; + if (__remainder) + __builtin_memcpy(__buf, _M_ext_next, __remainder); + + delete [] _M_ext_buf; + _M_ext_buf = __buf; + _M_ext_buf_size = __blen; + } + else if (__remainder) + __builtin_memmove(_M_ext_buf, _M_ext_next, __remainder); + + _M_ext_next = _M_ext_buf; + _M_ext_end = _M_ext_buf + __remainder; + _M_state_last = _M_state_cur; + + do + { + if (__rlen > 0) + { + // Sanity check! + // This may fail if the return value of + // codecvt::max_length() is bogus. + if (_M_ext_end - _M_ext_buf + __rlen > _M_ext_buf_size) + { + __throw_ios_failure(__N("llstdio_filebuf::underflow " + "codecvt::max_length() " + "is not valid")); + } + //streamsize __elen = _M_file.xsgetn(_M_ext_end, __rlen); + streamsize __elen = fread(_M_ext_end, 1, + __rlen, _M_file.file()); + if (__elen == 0) + __got_eof = true; + else if (__elen == -1) + break; + //_M_ext_end += __elen; + } + + char_type* __iend = this->eback(); + if (_M_ext_next < _M_ext_end) + { + __r = _M_codecvt->in(_M_state_cur, _M_ext_next, + _M_ext_end, _M_ext_next, + this->eback(), + this->eback() + __buflen, __iend); + } + if (__r == codecvt_base::noconv) + { + size_t __avail = _M_ext_end - _M_ext_buf; + __ilen = std::min(__avail, __buflen); + traits_type::copy(this->eback(), + reinterpret_cast + (_M_ext_buf), __ilen); + _M_ext_next = _M_ext_buf + __ilen; + } + else + __ilen = __iend - this->eback(); + + // _M_codecvt->in may return error while __ilen > 0: this is + // ok, and actually occurs in case of mixed encodings (e.g., + // XML files). + if (__r == codecvt_base::error) + break; + + __rlen = 1; + } while (__ilen == 0 && !__got_eof); + } + + if (__ilen > 0) + { + _M_set_buffer(__ilen); + _M_reading = true; + __ret = traits_type::to_int_type(*this->gptr()); + } + else if (__got_eof) + { + // If the actual end of file is reached, set 'uncommitted' + // mode, thus allowing an immediate write without an + // intervening seek. + _M_set_buffer(-1); + _M_reading = false; + // However, reaching it while looping on partial means that + // the file has got an incomplete character. + if (__r == codecvt_base::partial) + __throw_ios_failure(__N("llstdio_filebuf::underflow " + "incomplete character in file")); + } + else if (__r == codecvt_base::error) + __throw_ios_failure(__N("llstdio_filebuf::underflow " + "invalid byte sequence in file")); + else + __throw_ios_failure(__N("llstdio_filebuf::underflow " + "error reading the file")); } - llassert(_Filebuffer == NULL); - _Filebuffer = new _Myfb(filep); - _ShouldClose = true; - _Myios::init(_Filebuffer); + return __ret; } -bool llifstream::is_open() const -{ // test if C stream has been opened - if(_Filebuffer) - return (_Filebuffer->is_open()); - return false; +std::streamsize llstdio_filebuf::xsgetn(char_type* __s, std::streamsize __n) +{ + // Clear out pback buffer before going on to the real deal... + streamsize __ret = 0; + if (_M_pback_init) + { + if (__n > 0 && this->gptr() == this->eback()) + { + *__s++ = *this->gptr(); + this->gbump(1); + __ret = 1; + --__n; + } + _M_destroy_pback(); + } + + // Optimization in the always_noconv() case, to be generalized in the + // future: when __n > __buflen we read directly instead of using the + // buffer repeatedly. + const bool __testin = _M_mode & ios_base::in; + const streamsize __buflen = _M_buf_size > 1 ? _M_buf_size - 1 : 1; + + if (__n > __buflen && __check_facet(_M_codecvt).always_noconv() + && __testin && !_M_writing) + { + // First, copy the chars already present in the buffer. + const streamsize __avail = this->egptr() - this->gptr(); + if (__avail != 0) + { + if (__avail == 1) + *__s = *this->gptr(); + else + traits_type::copy(__s, this->gptr(), __avail); + __s += __avail; + this->gbump(__avail); + __ret += __avail; + __n -= __avail; + } + + // Need to loop in case of short reads (relatively common + // with pipes). + streamsize __len; + for (;;) + { + //__len = _M_file.xsgetn(reinterpret_cast(__s), __n); + __len = fread(reinterpret_cast(__s), 1, + __n, _M_file.file()); + if (__len == -1) + __throw_ios_failure(__N("llstdio_filebuf::xsgetn " + "error reading the file")); + if (__len == 0) + break; + + __n -= __len; + __ret += __len; + if (__n == 0) + break; + + __s += __len; + } + + if (__n == 0) + { + _M_set_buffer(0); + _M_reading = true; + } + else if (__len == 0) + { + // If end of file is reached, set 'uncommitted' + // mode, thus allowing an immediate write without + // an intervening seek. + _M_set_buffer(-1); + _M_reading = false; + } + } + else + __ret += __streambuf_type::xsgetn(__s, __n); + + return __ret; } -llifstream::~llifstream() + +std::streamsize llstdio_filebuf::xsputn(char_type* __s, std::streamsize __n) { - if (_ShouldClose) + // Optimization in the always_noconv() case, to be generalized in the + // future: when __n is sufficiently large we write directly instead of + // using the buffer. + streamsize __ret = 0; + const bool __testout = _M_mode & ios_base::out; + if (__check_facet(_M_codecvt).always_noconv() + && __testout && !_M_reading) { - close(); + // Measurement would reveal the best choice. + const streamsize __chunk = 1ul << 10; + streamsize __bufavail = this->epptr() - this->pptr(); + + // Don't mistake 'uncommitted' mode buffered with unbuffered. + if (!_M_writing && _M_buf_size > 1) + __bufavail = _M_buf_size - 1; + + const streamsize __limit = std::min(__chunk, __bufavail); + if (__n >= __limit) + { + const streamsize __buffill = this->pptr() - this->pbase(); + const char* __buf = reinterpret_cast(this->pbase()); + //__ret = _M_file.xsputn_2(__buf, __buffill, + // reinterpret_cast(__s), __n); + if (__buffill) + { + __ret = fwrite(__buf, 1, __buffill, _M_file.file()); + } + if (__ret == __buffill) + { + __ret += fwrite(reinterpret_cast(__s), 1, + __n, _M_file.file()); + } + if (__ret == __buffill + __n) + { + _M_set_buffer(0); + _M_writing = true; + } + if (__ret > __buffill) + __ret -= __buffill; + else + __ret = 0; + } + else + __ret = __streambuf_type::xsputn(__s, __n); } - delete _Filebuffer; + else + __ret = __streambuf_type::xsputn(__s, __n); + return __ret; } -llifstream::llifstream(const std::string& _Filename, - ios_base::openmode _Mode, - int _Prot) - : std::basic_istream< char , std::char_traits< char > >(NULL,true),_Filebuffer(NULL),_ShouldClose(false) +int llstdio_filebuf::sync() +{ + return (_M_file.sync() == 0 ? 0 : -1); +} -{ // construct with named file and specified mode - open(_Filename, _Mode | ios_base::in, _Prot); /* Flawfinder: ignore */ +/************** input file stream ********************************/ + + +llifstream::llifstream() : _M_filebuf(), +#if LL_WINDOWS + std::istream(&_M_filebuf) {} +#else + std::istream() +{ + this->init(&_M_filebuf); +} +#endif + +// explicit +llifstream::llifstream(const std::string& _Filename, + ios_base::openmode _Mode) : _M_filebuf(), +#if LL_WINDOWS + std::istream(&_M_filebuf) +{ + if (_M_filebuf.open(_Filename.c_str(), _Mode | ios_base::in) == 0) + { + _Myios::setstate(ios_base::failbit); + } +} +#else + std::istream() +{ + this->init(&_M_filebuf); + this->open(_Filename.c_str(), _Mode | ios_base::in); } +#endif +// explicit +llifstream::llifstream(const char* _Filename, + ios_base::openmode _Mode) : _M_filebuf(), +#if LL_WINDOWS + std::istream(&_M_filebuf) +{ + if (_M_filebuf.open(_Filename, _Mode | ios_base::in) == 0) + { + _Myios::setstate(ios_base::failbit); + } +} +#else + std::istream() +{ + this->init(&_M_filebuf); + this->open(_Filename, _Mode | ios_base::in); +} +#endif -/************** output file stream ********************************/ -bool llofstream::is_open() const +// explicit +llifstream::llifstream(_Filet *_File, + ios_base::openmode _Mode, size_t _Size) : + _M_filebuf(_File, _Mode, _Size), +#if LL_WINDOWS + std::istream(&_M_filebuf) {} +#else + std::istream() +{ + this->init(&_M_filebuf); +} +#endif + +#if LL_WINDOWS +// explicit +llifstream::llifstream(int __fd, + ios_base::openmode _Mode, size_t _Size) : + _M_filebuf(__fd, _Mode, _Size), + std::istream() +{ + this->init(&_M_filebuf); +} +#endif + +bool llifstream::is_open() const { // test if C stream has been opened - if(_Filebuffer) - return (_Filebuffer->is_open()); - return false; + return _M_filebuf.is_open(); } -void llofstream::open(const std::string& _Filename, /* Flawfinder: ignore */ - ios_base::openmode _Mode, - int _Prot) +void llifstream::open(const char* _Filename, ios_base::openmode _Mode) { // open a C stream with specified mode - - LLFILE* filep = LLFile::_Fiopen(_Filename,_Mode | ios_base::out, _Prot); - if(filep == NULL) + if (_M_filebuf.open(_Filename, _Mode | ios_base::in) == 0) +#if LL_WINDOWS { - _Myios::setstate(ios_base::failbit); /*Flawfinder: ignore*/ - return; + _Myios::setstate(ios_base::failbit); } - llassert(_Filebuffer==NULL); - _Filebuffer = new _Myfb(filep); - _ShouldClose = true; - _Myios::init(_Filebuffer); + else + { + _Myios::clear(); + } +#else + { + this->setstate(ios_base::failbit); + } + else + { + this->clear(); + } +#endif } -void llofstream::close() +void llifstream::close() { // close the C stream - if(is_open()) + if (_M_filebuf.close() == 0) { - if (_Filebuffer->close() == 0) - { - _Myios::setstate(ios_base::failbit); /*Flawfinder: ignore*/ - } - delete _Filebuffer; - _Filebuffer = NULL; - _ShouldClose = false; +#if LL_WINDOWS + _Myios::setstate(ios_base::failbit); +#else + this->setstate(ios_base::failbit); +#endif } } + +/************** output file stream ********************************/ + + +llofstream::llofstream() : _M_filebuf(), +#if LL_WINDOWS + std::ostream(&_M_filebuf) {} +#else + std::ostream() +{ + this->init(&_M_filebuf); +} +#endif + +// explicit llofstream::llofstream(const std::string& _Filename, - std::ios_base::openmode _Mode, - int _Prot) - : std::basic_ostream >(NULL,true),_Filebuffer(NULL),_ShouldClose(false) -{ // construct with named file and specified mode - open(_Filename, _Mode , _Prot); /* Flawfinder: ignore */ + ios_base::openmode _Mode) : _M_filebuf(), +#if LL_WINDOWS + std::ostream(&_M_filebuf) +{ + if (_M_filebuf.open(_Filename.c_str(), _Mode | ios_base::out) == 0) + { + _Myios::setstate(ios_base::failbit); + } +} +#else + std::ostream() +{ + this->init(&_M_filebuf); + this->open(_Filename.c_str(), _Mode | ios_base::out); +} +#endif + +// explicit +llofstream::llofstream(const char* _Filename, + ios_base::openmode _Mode) : _M_filebuf(), +#if LL_WINDOWS + std::ostream(&_M_filebuf) +{ + if (_M_filebuf.open(_Filename, _Mode | ios_base::out) == 0) + { + _Myios::setstate(ios_base::failbit); + } +} +#else + std::ostream() +{ + this->init(&_M_filebuf); + this->open(_Filename, _Mode | ios_base::out); +} +#endif + +// explicit +llofstream::llofstream(_Filet *_File, + ios_base::openmode _Mode, size_t _Size) : + _M_filebuf(_File, _Mode, _Size), +#if LL_WINDOWS + std::ostream(&_M_filebuf) {} +#else + std::ostream() +{ + this->init(&_M_filebuf); } +#endif -llofstream::~llofstream() +#if LL_WINDOWS +// explicit +llofstream::llofstream(int __fd, + ios_base::openmode _Mode, size_t _Size) : + _M_filebuf(__fd, _Mode, _Size), + std::ostream() { - // destroy the object - if (_ShouldClose) + this->init(&_M_filebuf); +} +#endif + +bool llofstream::is_open() const +{ // test if C stream has been opened + return _M_filebuf.is_open(); +} + +void llofstream::open(const char* _Filename, ios_base::openmode _Mode) +{ // open a C stream with specified mode + if (_M_filebuf.open(_Filename, _Mode | ios_base::out) == 0) +#if LL_WINDOWS + { + _Myios::setstate(ios_base::failbit); + } + else { - close(); + _Myios::clear(); } - delete _Filebuffer; +#else + { + this->setstate(ios_base::failbit); + } + else + { + this->clear(); + } +#endif } -#endif // #if USE_LLFILESTREAMS +void llofstream::close() +{ // close the C stream + if (_M_filebuf.close() == 0) + { +#if LL_WINDOWS + _Myios::setstate(ios_base::failbit); +#else + this->setstate(ios_base::failbit); +#endif + } +} /************** helper functions ********************************/ diff --git a/indra/llcommon/llfile.h b/indra/llcommon/llfile.h index dd7d36513a..7049ab1396 100644 --- a/indra/llcommon/llfile.h +++ b/indra/llcommon/llfile.h @@ -35,16 +35,10 @@ * Attempts to mostly mirror the POSIX style IO functions. */ -typedef FILE LLFILE; +typedef FILE LLFILE; #include - -#ifdef LL_WINDOWS -#define USE_LLFILESTREAMS 1 -#else -#define USE_LLFILESTREAMS 0 -#endif - +#include #include #if LL_WINDOWS @@ -52,6 +46,7 @@ typedef FILE LLFILE; typedef struct _stat llstat; #else typedef struct stat llstat; +#include #endif #ifndef S_ISREG @@ -83,142 +78,342 @@ public: static int stat(const std::string& filename,llstat* file_status); static bool isdir(const std::string& filename); static bool isfile(const std::string& filename); - static LLFILE * _Fiopen(const std::string& filename, std::ios::openmode mode,int); // protection currently unused + static LLFILE * _Fiopen(const std::string& filename, + std::ios::openmode mode); static const char * tmpdir(); }; +/** + * @brief Provides a layer of compatibility for C/POSIX. + * + * This is taken from both the GNU __gnu_cxx::stdio_filebuf extension and + * VC's basic_filebuf implementation. + * This file buffer provides extensions for working with standard C FILE*'s + * and POSIX file descriptors for platforms that support this. +*/ +namespace +{ +#if LL_WINDOWS +typedef std::filebuf _Myfb; +#else +typedef __gnu_cxx::stdio_filebuf< char > _Myfb; +typedef std::__c_file _Filet; +#endif /* LL_WINDOWS */ +} -#if USE_LLFILESTREAMS - -class LL_COMMON_API llifstream : public std::basic_istream < char , std::char_traits < char > > +class LL_COMMON_API llstdio_filebuf : public _Myfb { - // input stream associated with a C stream public: - typedef std::basic_ifstream > _Myt; - typedef std::basic_filebuf > _Myfb; - typedef std::basic_ios > _Myios; - - llifstream() - : std::basic_istream >(NULL,true),_Filebuffer(NULL),_ShouldClose(false) - { // construct unopened - } + /** + * deferred initialization / destruction + */ + llstdio_filebuf() : _Myfb() {} + virtual ~llstdio_filebuf() {} + + /** + * @param f An open @c FILE*. + * @param mode Same meaning as in a standard filebuf. + * @param size Optimal or preferred size of internal buffer, in chars. + * Defaults to system's @c BUFSIZ. + * + * This constructor associates a file stream buffer with an open + * C @c FILE*. The @c FILE* will not be automatically closed when the + * stdio_filebuf is closed/destroyed. + */ + llstdio_filebuf(_Filet* __f, std::ios_base::openmode __mode, + //size_t __size = static_cast(BUFSIZ)) : + size_t __size = static_cast(1)) : +#if LL_WINDOWS + _Myfb(__f) {} +#else + _Myfb(__f, __mode, __size) {} +#endif - explicit llifstream(const std::string& _Filename, - ios_base::openmode _Mode = ios_base::in, - int _Prot = (int)ios_base::_Openprot); - - explicit llifstream(_Filet *_File) - : std::basic_istream >(NULL,true), - _Filebuffer(new _Myfb(_File)), - _ShouldClose(false) - { // construct with specified C stream - } - virtual ~llifstream(); - - _Myfb *rdbuf() const - { // return pointer to file buffer - return _Filebuffer; - } - bool is_open() const; - void open(const std::string& _Filename, /* Flawfinder: ignore */ - ios_base::openmode _Mode = ios_base::in, - int _Prot = (int)ios_base::_Openprot); - void close(); + /** + * @brief Opens an external file. + * @param s The name of the file. + * @param mode The open mode flags. + * @return @c this on success, NULL on failure + * + * If a file is already open, this function immediately fails. + * Otherwise it tries to open the file named @a s using the flags + * given in @a mode. + */ + //llstdio_filebuf* open(const char *_Filename, + // std::ios_base::openmode _Mode); + + /** + * @param fd An open file descriptor. + * @param mode Same meaning as in a standard filebuf. + * @param size Optimal or preferred size of internal buffer, in chars. + * + * This constructor associates a file stream buffer with an open + * POSIX file descriptor. The file descriptor will be automatically + * closed when the stdio_filebuf is closed/destroyed. + */ +#if !LL_WINDOWS + llstdio_filebuf(int __fd, std::ios_base::openmode __mode, + //size_t __size = static_cast(BUFSIZ)) : + size_t __size = static_cast(1)) : + _Myfb(__fd, __mode, __size) {} +#endif -private: - _Myfb* _Filebuffer; // the file buffer - bool _ShouldClose; +// *TODO: Seek the underlying c stream for better cross-platform compatibility? +#if !LL_WINDOWS +protected: + /** underflow() and uflow() functions are called to get the next + * character from the real input source when the buffer is empty. + * Buffered input uses underflow() + */ + /*virtual*/ int_type underflow(); + + /* Convert internal byte sequence to external, char-based + * sequence via codecvt. + */ + bool _convert_to_external(char_type*, std::streamsize); + + /** The overflow() function is called to transfer characters to the + * real output destination when the buffer is full. A call to + * overflow(c) outputs the contents of the buffer plus the + * character c. + * Consume some sequence of the characters in the pending sequence. + */ + /*virtual*/ int_type overflow(int_type __c = traits_type::eof()); + + /** sync() flushes the underlying @c FILE* stream. + */ + /*virtual*/ int sync(); + + std::streamsize xsgetn(char_type*, std::streamsize); + std::streamsize xsputn(char_type*, std::streamsize); +#endif }; -class LL_COMMON_API llofstream : public std::basic_ostream< char , std::char_traits < char > > +/** + * @brief Controlling input for files. + * + * This class supports reading from named files, using the inherited + * functions from std::basic_istream. To control the associated + * sequence, an instance of std::basic_filebuf (or a platform-specific derivative) + * which allows construction using a pre-exisintg file stream buffer. + * We refer to this std::basic_filebuf (or derivative) as @c sb. +*/ +class LL_COMMON_API llifstream : public std::istream { + // input stream associated with a C stream public: - typedef std::basic_ostream< char , std::char_traits < char > > _Myt; - typedef std::basic_filebuf< char , std::char_traits < char > > _Myfb; - typedef std::basic_ios > _Myios; - - llofstream() - : std::basic_ostream >(NULL,true),_Filebuffer(NULL),_ShouldClose(false) - { // construct unopened - } - - explicit llofstream(const std::string& _Filename, - std::ios_base::openmode _Mode = ios_base::out, - int _Prot = (int)std::ios_base::_Openprot); - - - explicit llofstream(_Filet *_File) - : std::basic_ostream >(NULL,true), - _Filebuffer(new _Myfb(_File)),//_File) - _ShouldClose(false) - { // construct with specified C stream - } - - virtual ~llofstream(); - - _Myfb *rdbuf() const - { // return pointer to file buffer - return _Filebuffer; - } + // Constructors: + /** + * @brief Default constructor. + * + * Initializes @c sb using its default constructor, and passes + * @c &sb to the base class initializer. Does not open any files + * (you haven't given it a filename to open). + */ + llifstream(); + + /** + * @brief Create an input file stream. + * @param Filename String specifying the filename. + * @param Mode Open file in specified mode (see std::ios_base). + * + * @c ios_base::in is automatically included in @a mode. + */ + explicit llifstream(const std::string& _Filename, + ios_base::openmode _Mode = ios_base::in); + explicit llifstream(const char* _Filename, + ios_base::openmode _Mode = ios_base::in); + + /** + * @brief Create a stream using an open c file stream. + * @param File An open @c FILE*. + @param Mode Same meaning as in a standard filebuf. + @param Size Optimal or preferred size of internal buffer, in chars. + Defaults to system's @c BUFSIZ. + */ + explicit llifstream(_Filet *_File, + ios_base::openmode _Mode = ios_base::in, + //size_t _Size = static_cast(BUFSIZ)); + size_t _Size = static_cast(1)); + + /** + * @brief Create a stream using an open file descriptor. + * @param fd An open file descriptor. + @param Mode Same meaning as in a standard filebuf. + @param Size Optimal or preferred size of internal buffer, in chars. + Defaults to system's @c BUFSIZ. + */ +#if !LL_WINDOWS + explicit llifstream(int __fd, + ios_base::openmode _Mode = ios_base::in, + //size_t _Size = static_cast(BUFSIZ)); + size_t _Size = static_cast(1)); +#endif + /** + * @brief The destructor does nothing. + * + * The file is closed by the filebuf object, not the formatting + * stream. + */ + virtual ~llifstream() {} + + // Members: + /** + * @brief Accessing the underlying buffer. + * @return The current basic_filebuf buffer. + * + * This hides both signatures of std::basic_ios::rdbuf(). + */ + llstdio_filebuf* rdbuf() const + { return const_cast(&_M_filebuf); } + + /** + * @brief Wrapper to test for an open file. + * @return @c rdbuf()->is_open() + */ bool is_open() const; - void open(const std::string& _Filename,ios_base::openmode _Mode = ios_base::out,int _Prot = (int)ios_base::_Openprot); /* Flawfinder: ignore */ - + /** + * @brief Opens an external file. + * @param Filename The name of the file. + * @param Node The open mode flags. + * + * Calls @c llstdio_filebuf::open(s,mode|in). If that function + * fails, @c failbit is set in the stream's error state. + */ + void open(const std::string& _Filename, + ios_base::openmode _Mode = ios_base::in) + { open(_Filename.c_str(), _Mode); } + void open(const char* _Filename, + ios_base::openmode _Mode = ios_base::in); + + /** + * @brief Close the file. + * + * Calls @c llstdio_filebuf::close(). If that function + * fails, @c failbit is set in the stream's error state. + */ void close(); private: - _Myfb *_Filebuffer; // the file buffer - bool _ShouldClose; -}; - - - -#else -//Use standard file streams on non windows platforms -//#define llifstream std::ifstream -//#define llofstream std::ofstream - -class LL_COMMON_API llifstream : public std::ifstream -{ -public: - llifstream() : std::ifstream() - { - } - - explicit llifstream(const std::string& _Filename, std::_Ios_Openmode _Mode = in) - : std::ifstream(_Filename.c_str(), _Mode) - { - } - void open(const std::string& _Filename, std::_Ios_Openmode _Mode = in) /* Flawfinder: ignore */ - { - std::ifstream::open(_Filename.c_str(), _Mode); - } + llstdio_filebuf _M_filebuf; }; -class LL_COMMON_API llofstream : public std::ofstream +/** + * @brief Controlling output for files. + * + * This class supports writing to named files, using the inherited + * functions from std::basic_ostream. To control the associated + * sequence, an instance of std::basic_filebuf (or a platform-specific derivative) + * which allows construction using a pre-exisintg file stream buffer. + * We refer to this std::basic_filebuf (or derivative) as @c sb. +*/ +class LL_COMMON_API llofstream : public std::ostream { public: - llofstream() : std::ofstream() - { - } + // Constructors: + /** + * @brief Default constructor. + * + * Initializes @c sb using its default constructor, and passes + * @c &sb to the base class initializer. Does not open any files + * (you haven't given it a filename to open). + */ + llofstream(); + + /** + * @brief Create an output file stream. + * @param Filename String specifying the filename. + * @param Mode Open file in specified mode (see std::ios_base). + * + * @c ios_base::out|ios_base::trunc is automatically included in + * @a mode. + */ + explicit llofstream(const std::string& _Filename, + ios_base::openmode _Mode = ios_base::out|ios_base::trunc); + explicit llofstream(const char* _Filename, + ios_base::openmode _Mode = ios_base::out|ios_base::trunc); + + /** + * @brief Create a stream using an open c file stream. + * @param File An open @c FILE*. + @param Mode Same meaning as in a standard filebuf. + @param Size Optimal or preferred size of internal buffer, in chars. + Defaults to system's @c BUFSIZ. + */ + explicit llofstream(_Filet *_File, + ios_base::openmode _Mode = ios_base::out, + //size_t _Size = static_cast(BUFSIZ)); + size_t _Size = static_cast(1)); + + /** + * @brief Create a stream using an open file descriptor. + * @param fd An open file descriptor. + @param Mode Same meaning as in a standard filebuf. + @param Size Optimal or preferred size of internal buffer, in chars. + Defaults to system's @c BUFSIZ. + */ +#if !LL_WINDOWS + explicit llofstream(int __fd, + ios_base::openmode _Mode = ios_base::out, + //size_t _Size = static_cast(BUFSIZ)); + size_t _Size = static_cast(1)); +#endif - explicit llofstream(const std::string& _Filename, std::_Ios_Openmode _Mode = out) - : std::ofstream(_Filename.c_str(), _Mode) - { - } + /** + * @brief The destructor does nothing. + * + * The file is closed by the filebuf object, not the formatting + * stream. + */ + virtual ~llofstream() {} + + // Members: + /** + * @brief Accessing the underlying buffer. + * @return The current basic_filebuf buffer. + * + * This hides both signatures of std::basic_ios::rdbuf(). + */ + llstdio_filebuf* rdbuf() const + { return const_cast(&_M_filebuf); } + + /** + * @brief Wrapper to test for an open file. + * @return @c rdbuf()->is_open() + */ + bool is_open() const; - void open(const std::string& _Filename, std::_Ios_Openmode _Mode = out) /* Flawfinder: ignore */ - { - std::ofstream::open(_Filename.c_str(), _Mode); - } + /** + * @brief Opens an external file. + * @param Filename The name of the file. + * @param Node The open mode flags. + * + * Calls @c llstdio_filebuf::open(s,mode|out). If that function + * fails, @c failbit is set in the stream's error state. + */ + void open(const std::string& _Filename, + ios_base::openmode _Mode = ios_base::out|ios_base::trunc) + { open(_Filename.c_str(), _Mode); } + void open(const char* _Filename, + ios_base::openmode _Mode = ios_base::out|ios_base::trunc); + + /** + * @brief Close the file. + * + * Calls @c llstdio_filebuf::close(). If that function + * fails, @c failbit is set in the stream's error state. + */ + void close(); +private: + llstdio_filebuf _M_filebuf; }; -#endif /** * @breif filesize helpers. -- cgit v1.2.3 From 7d62343f4444e05d30092e6219bfea564a8e8e17 Mon Sep 17 00:00:00 2001 From: Don Kjer Date: Thu, 20 Sep 2012 04:56:09 +0000 Subject: Skipping experimental filebuffering code on windows for now --- indra/llcommon/llfile.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'indra/llcommon') diff --git a/indra/llcommon/llfile.cpp b/indra/llcommon/llfile.cpp index 38b0dfdaf1..deab7a87fc 100644 --- a/indra/llcommon/llfile.cpp +++ b/indra/llcommon/llfile.cpp @@ -411,6 +411,9 @@ LLFILE * LLFile::_Fiopen(const std::string& filename, //#endif //} + +// *TODO: Seek the underlying c stream for better cross-platform compatibility? +#if !LL_WINDOWS llstdio_filebuf::int_type llstdio_filebuf::overflow(llstdio_filebuf::int_type __c) { int_type __ret = traits_type::eof(); @@ -829,6 +832,7 @@ int llstdio_filebuf::sync() { return (_M_file.sync() == 0 ? 0 : -1); } +#endif /************** input file stream ********************************/ -- cgit v1.2.3 From 0fc7c2aac14eaf1f2dbe9e64c02e1b68ae3e70ec Mon Sep 17 00:00:00 2001 From: Don Kjer Date: Thu, 20 Sep 2012 06:32:43 +0000 Subject: Fix for windows compile issue --- indra/llcommon/llfile.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/llcommon') diff --git a/indra/llcommon/llfile.h b/indra/llcommon/llfile.h index 7049ab1396..9d70db96ea 100644 --- a/indra/llcommon/llfile.h +++ b/indra/llcommon/llfile.h @@ -38,7 +38,6 @@ typedef FILE LLFILE; #include -#include #include #if LL_WINDOWS @@ -47,6 +46,7 @@ typedef struct _stat llstat; #else typedef struct stat llstat; #include +#include #endif #ifndef S_ISREG -- cgit v1.2.3 From e9e459c89cdfc57f32ffc7c421e01f43348f3b6c Mon Sep 17 00:00:00 2001 From: Don Kjer Date: Thu, 20 Sep 2012 17:13:16 +0000 Subject: Restoring llrenderheadless changes so we can fix them --- indra/llcommon/llfile.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/llcommon') diff --git a/indra/llcommon/llfile.h b/indra/llcommon/llfile.h index 9d70db96ea..7049ab1396 100644 --- a/indra/llcommon/llfile.h +++ b/indra/llcommon/llfile.h @@ -38,6 +38,7 @@ typedef FILE LLFILE; #include +#include #include #if LL_WINDOWS @@ -46,7 +47,6 @@ typedef struct _stat llstat; #else typedef struct stat llstat; #include -#include #endif #ifndef S_ISREG -- cgit v1.2.3 From ecf72da021d16168688a833e776e8a76e80ee4d6 Mon Sep 17 00:00:00 2001 From: "developer@Developer-PC" Date: Fri, 21 Sep 2012 22:21:42 -0700 Subject: More windows build fixes --- indra/llcommon/llfile.cpp | 6 +++--- indra/llcommon/llfile.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'indra/llcommon') diff --git a/indra/llcommon/llfile.cpp b/indra/llcommon/llfile.cpp index deab7a87fc..bc615ed39e 100644 --- a/indra/llcommon/llfile.cpp +++ b/indra/llcommon/llfile.cpp @@ -329,7 +329,7 @@ const char *LLFile::tmpdir() #if LL_WINDOWS LLFILE * LLFile::_Fiopen(const std::string& filename, - std::ios::openmode mode,int) // protection currently unused + std::ios::openmode mode) { // open a file static const char *mods[] = { // fopen mode strings corresponding to valid[i] @@ -899,7 +899,7 @@ llifstream::llifstream(_Filet *_File, } #endif -#if LL_WINDOWS +#if !LL_WINDOWS // explicit llifstream::llifstream(int __fd, ios_base::openmode _Mode, size_t _Size) : @@ -1014,7 +1014,7 @@ llofstream::llofstream(_Filet *_File, } #endif -#if LL_WINDOWS +#if !LL_WINDOWS // explicit llofstream::llofstream(int __fd, ios_base::openmode _Mode, size_t _Size) : diff --git a/indra/llcommon/llfile.h b/indra/llcommon/llfile.h index 7049ab1396..9d70db96ea 100644 --- a/indra/llcommon/llfile.h +++ b/indra/llcommon/llfile.h @@ -38,7 +38,6 @@ typedef FILE LLFILE; #include -#include #include #if LL_WINDOWS @@ -47,6 +46,7 @@ typedef struct _stat llstat; #else typedef struct stat llstat; #include +#include #endif #ifndef S_ISREG -- cgit v1.2.3 From c06c35609c6683731eaea283468f6b32af18fea2 Mon Sep 17 00:00:00 2001 From: Don Kjer Date: Thu, 11 Oct 2012 00:09:04 +0000 Subject: Updating linux build to gcc4.6 --- indra/llcommon/llsdserialize.cpp | 5 ++++- indra/llcommon/tests/bitpack_test.cpp | 15 +++++++-------- indra/llcommon/tests/llinstancetracker_test.cpp | 3 +-- indra/llcommon/tests/reflection_test.cpp | 2 +- 4 files changed, 13 insertions(+), 12 deletions(-) (limited to 'indra/llcommon') diff --git a/indra/llcommon/llsdserialize.cpp b/indra/llcommon/llsdserialize.cpp index 7f4f670ed0..ad4fce6f35 100644 --- a/indra/llcommon/llsdserialize.cpp +++ b/indra/llcommon/llsdserialize.cpp @@ -1451,9 +1451,12 @@ S32 LLSDBinaryFormatter::format(const LLSD& data, std::ostream& ostr, U32 option } case LLSD::TypeUUID: + { ostr.put('u'); - ostr.write((const char*)(&(data.asUUID().mData)), UUID_BYTES); + LLUUID temp = data.asUUID(); + ostr.write((const char*)(&(temp.mData)), UUID_BYTES); break; + } case LLSD::TypeString: ostr.put('s'); diff --git a/indra/llcommon/tests/bitpack_test.cpp b/indra/llcommon/tests/bitpack_test.cpp index 05289881d0..afc0c18cd0 100644 --- a/indra/llcommon/tests/bitpack_test.cpp +++ b/indra/llcommon/tests/bitpack_test.cpp @@ -71,7 +71,6 @@ namespace tut U8 packbuffer[255]; U8 unpackbuffer[255]; int pack_bufsize = 0; - int unpack_bufsize = 0; LLBitPack bitpack(packbuffer, 255); @@ -81,19 +80,19 @@ namespace tut pack_bufsize = bitpack.flushBitPack(); LLBitPack bitunpack(packbuffer, pack_bufsize*8); - unpack_bufsize = bitunpack.bitUnpack(&unpackbuffer[0], 8); + bitunpack.bitUnpack(&unpackbuffer[0], 8); ensure("bitPack: individual unpack: 0", unpackbuffer[0] == (U8) str[0]); - unpack_bufsize = bitunpack.bitUnpack(&unpackbuffer[0], 8); + bitunpack.bitUnpack(&unpackbuffer[0], 8); ensure("bitPack: individual unpack: 1", unpackbuffer[0] == (U8) str[1]); - unpack_bufsize = bitunpack.bitUnpack(&unpackbuffer[0], 8); + bitunpack.bitUnpack(&unpackbuffer[0], 8); ensure("bitPack: individual unpack: 2", unpackbuffer[0] == (U8) str[2]); - unpack_bufsize = bitunpack.bitUnpack(&unpackbuffer[0], 8); + bitunpack.bitUnpack(&unpackbuffer[0], 8); ensure("bitPack: individual unpack: 3", unpackbuffer[0] == (U8) str[3]); - unpack_bufsize = bitunpack.bitUnpack(&unpackbuffer[0], 8); + bitunpack.bitUnpack(&unpackbuffer[0], 8); ensure("bitPack: individual unpack: 4", unpackbuffer[0] == (U8) str[4]); - unpack_bufsize = bitunpack.bitUnpack(&unpackbuffer[0], 8); + bitunpack.bitUnpack(&unpackbuffer[0], 8); ensure("bitPack: individual unpack: 5", unpackbuffer[0] == (U8) str[5]); - unpack_bufsize = bitunpack.bitUnpack(unpackbuffer, 8*4); // Life + bitunpack.bitUnpack(unpackbuffer, 8*4); // Life ensure_memory_matches("bitPack: 4 bytes unpack:", unpackbuffer, 4, str+6, 4); } diff --git a/indra/llcommon/tests/llinstancetracker_test.cpp b/indra/llcommon/tests/llinstancetracker_test.cpp index 454695ff9f..e769c3e22c 100644 --- a/indra/llcommon/tests/llinstancetracker_test.cpp +++ b/indra/llcommon/tests/llinstancetracker_test.cpp @@ -267,7 +267,6 @@ namespace tut { existing.insert(&*uki); } - Unkeyed* puk = NULL; try { // We don't expect the assignment to take place because we expect @@ -280,7 +279,7 @@ namespace tut // realize we're testing the C++ implementation more than // Unkeyed's implementation, but this seems an important point to // nail down. - puk = new Unkeyed("throw"); + new Unkeyed("throw"); } catch (const Badness&) { diff --git a/indra/llcommon/tests/reflection_test.cpp b/indra/llcommon/tests/reflection_test.cpp index 59491cd1fe..8980ebb1f1 100644 --- a/indra/llcommon/tests/reflection_test.cpp +++ b/indra/llcommon/tests/reflection_test.cpp @@ -207,7 +207,7 @@ namespace tut const LLReflective* reflective = property->get(aggregated_data); // Wrong reflective type, should throw exception. // useless op to get rid of compiler warning. - reflective = NULL; + reflective = reflective; } catch(...) { -- cgit v1.2.3 From 1004eff4a29371719f98eae378f6ecd7dc6be225 Mon Sep 17 00:00:00 2001 From: Logan Dethrow Date: Wed, 5 Dec 2012 17:29:52 -0500 Subject: Linux Viewer build fixes. * Removed no longer used unpack_bufsize from bitpack_test.cpp * Added llviewertexture_stub.cpp to the newview tests directory to fix llworldmap_test.cpp and llworldmipmap_test.cpp linker errors. --- indra/llcommon/tests/bitpack_test.cpp | 1 - 1 file changed, 1 deletion(-) (limited to 'indra/llcommon') diff --git a/indra/llcommon/tests/bitpack_test.cpp b/indra/llcommon/tests/bitpack_test.cpp index 49cae16400..afc0c18cd0 100644 --- a/indra/llcommon/tests/bitpack_test.cpp +++ b/indra/llcommon/tests/bitpack_test.cpp @@ -94,7 +94,6 @@ namespace tut ensure("bitPack: individual unpack: 5", unpackbuffer[0] == (U8) str[5]); bitunpack.bitUnpack(unpackbuffer, 8*4); // Life ensure_memory_matches("bitPack: 4 bytes unpack:", unpackbuffer, 4, str+6, 4); - ensure("keep compiler quiet", unpack_bufsize == unpack_bufsize); } // U32 packing -- cgit v1.2.3 From 438ceeb008b7c4eec0fc48894935289ca352fc65 Mon Sep 17 00:00:00 2001 From: Nyx Linden Date: Fri, 25 Jan 2013 17:58:11 -0500 Subject: BUILDFIX: merge cleanup A couple of merge issues that caused the resulting code to not build. --- indra/llcommon/llfasttimer.cpp | 6 ++++++ indra/llcommon/llfasttimer.h | 2 ++ 2 files changed, 8 insertions(+) (limited to 'indra/llcommon') diff --git a/indra/llcommon/llfasttimer.cpp b/indra/llcommon/llfasttimer.cpp index 6970c29092..9b15804e97 100644 --- a/indra/llcommon/llfasttimer.cpp +++ b/indra/llcommon/llfasttimer.cpp @@ -561,6 +561,12 @@ std::vector& LLFastTimer::NamedTimer::getChildren() return mChildren; } +// static +LLFastTimer::NamedTimer& LLFastTimer::NamedTimer::getRootNamedTimer() +{ + return *NamedTimerFactory::instance().getRootTimer(); +} + //static void LLFastTimer::nextFrame() { diff --git a/indra/llcommon/llfasttimer.h b/indra/llcommon/llfasttimer.h index e42e549df5..81c4b78775 100644 --- a/indra/llcommon/llfasttimer.h +++ b/indra/llcommon/llfasttimer.h @@ -91,6 +91,8 @@ public: U32 getHistoricalCount(S32 history_index = 0) const; U32 getHistoricalCalls(S32 history_index = 0) const; + static NamedTimer& getRootNamedTimer(); + void setFrameState(FrameState* state) { mFrameState = state; state->setNamedTimer(this); } FrameState& getFrameState() const; -- cgit v1.2.3 From 54cdc322b8f2bd35b289cacf3493622e7cc51194 Mon Sep 17 00:00:00 2001 From: Don Kjer Date: Tue, 5 Mar 2013 22:05:22 -0800 Subject: Fixing issues with not detecting when LLSD XML parsing fails. Changing most http error handlers to understand LLSD error responses. Fleshing out most http error handler message spam. --- indra/llcommon/llmetricperformancetester.cpp | 2 +- indra/llcommon/llsdserialize.h | 16 ++++++++-------- indra/llcommon/llsdserialize_xml.cpp | 18 +++++++++++++----- 3 files changed, 22 insertions(+), 14 deletions(-) (limited to 'indra/llcommon') diff --git a/indra/llcommon/llmetricperformancetester.cpp b/indra/llcommon/llmetricperformancetester.cpp index 41d3eb0bf3..731e58bd20 100644 --- a/indra/llcommon/llmetricperformancetester.cpp +++ b/indra/llcommon/llmetricperformancetester.cpp @@ -100,7 +100,7 @@ LLSD LLMetricPerformanceTesterBasic::analyzeMetricPerformanceLog(std::istream& i LLSD ret; LLSD cur; - while (!is.eof() && LLSDSerialize::fromXML(cur, is)) + while (!is.eof() && LLSDParser::PARSE_FAILURE != LLSDSerialize::fromXML(cur, is)) { for (LLSD::map_iterator iter = cur.beginMap(); iter != cur.endMap(); ++iter) { diff --git a/indra/llcommon/llsdserialize.h b/indra/llcommon/llsdserialize.h index 86e3fc864c..e7a5507385 100644 --- a/indra/llcommon/llsdserialize.h +++ b/indra/llcommon/llsdserialize.h @@ -300,7 +300,7 @@ public: /** * @brief Constructor */ - LLSDXMLParser(); + LLSDXMLParser(bool emit_errors=true); protected: /** @@ -747,25 +747,25 @@ public: return f->format(sd, str, LLSDFormatter::OPTIONS_PRETTY); } - static S32 fromXMLEmbedded(LLSD& sd, std::istream& str) + static S32 fromXMLEmbedded(LLSD& sd, std::istream& str, bool emit_errors=true) { // no need for max_bytes since xml formatting is not // subvertable by bad sizes. - LLPointer p = new LLSDXMLParser; + LLPointer p = new LLSDXMLParser(emit_errors); return p->parse(str, sd, LLSDSerialize::SIZE_UNLIMITED); } // Line oriented parser, 30% faster than fromXML(), but can // only be used when you know you have the complete XML // document available in the stream. - static S32 fromXMLDocument(LLSD& sd, std::istream& str) + static S32 fromXMLDocument(LLSD& sd, std::istream& str, bool emit_errors=true) { - LLPointer p = new LLSDXMLParser(); + LLPointer p = new LLSDXMLParser(emit_errors); return p->parseLines(str, sd); } - static S32 fromXML(LLSD& sd, std::istream& str) + static S32 fromXML(LLSD& sd, std::istream& str, bool emit_errors=true) { - return fromXMLEmbedded(sd, str); -// return fromXMLDocument(sd, str); + return fromXMLEmbedded(sd, str, emit_errors); +// return fromXMLDocument(sd, str, emit_errors); } /* diff --git a/indra/llcommon/llsdserialize_xml.cpp b/indra/llcommon/llsdserialize_xml.cpp index 34b3dbb99a..cef743a7be 100644 --- a/indra/llcommon/llsdserialize_xml.cpp +++ b/indra/llcommon/llsdserialize_xml.cpp @@ -250,7 +250,7 @@ std::string LLSDXMLFormatter::escapeString(const std::string& in) class LLSDXMLParser::Impl { public: - Impl(); + Impl(bool emit_errors); ~Impl(); S32 parse(std::istream& input, LLSD& data); @@ -294,6 +294,7 @@ private: static const XML_Char* findAttribute(const XML_Char* name, const XML_Char** pairs); + bool mEmitErrors; XML_Parser mParser; @@ -315,7 +316,8 @@ private: }; -LLSDXMLParser::Impl::Impl() +LLSDXMLParser::Impl::Impl(bool emit_errors) + : mEmitErrors(emit_errors) { mParser = XML_ParserCreate(NULL); reset(); @@ -402,7 +404,10 @@ S32 LLSDXMLParser::Impl::parse(std::istream& input, LLSD& data) { ((char*) buffer)[count ? count - 1 : 0] = '\0'; } - llinfos << "LLSDXMLParser::Impl::parse: XML_STATUS_ERROR parsing:" << (char*) buffer << llendl; + if (mEmitErrors) + { + llinfos << "LLSDXMLParser::Impl::parse: XML_STATUS_ERROR parsing:" << (char*) buffer << llendl; + } data = LLSD(); return LLSDParser::PARSE_FAILURE; } @@ -480,7 +485,10 @@ S32 LLSDXMLParser::Impl::parseLines(std::istream& input, LLSD& data) if (status == XML_STATUS_ERROR && !mGracefullStop) { - llinfos << "LLSDXMLParser::Impl::parseLines: XML_STATUS_ERROR" << llendl; + if (mEmitErrors) + { + llinfos << "LLSDXMLParser::Impl::parseLines: XML_STATUS_ERROR" << llendl; + } return LLSDParser::PARSE_FAILURE; } @@ -897,7 +905,7 @@ LLSDXMLParser::Impl::Element LLSDXMLParser::Impl::readElement(const XML_Char* na /** * LLSDXMLParser */ -LLSDXMLParser::LLSDXMLParser() : impl(* new Impl) +LLSDXMLParser::LLSDXMLParser(bool emit_errors /* = true */) : impl(* new Impl(emit_errors)) { } -- cgit v1.2.3 From 903996e8d4ebc30c42d3c2d041fb7a1c8e530ab8 Mon Sep 17 00:00:00 2001 From: "Graham Madarasz (Graham Linden)" Date: Thu, 28 Mar 2013 19:25:51 -0700 Subject: Google Breakpad Fix --- indra/llcommon/llapp.cpp | 59 +++++++++++++++++++++++++++++++++++++++++++++--- indra/llcommon/llapp.h | 2 +- 2 files changed, 57 insertions(+), 4 deletions(-) (limited to 'indra/llcommon') diff --git a/indra/llcommon/llapp.cpp b/indra/llcommon/llapp.cpp index ca258900c7..c6da205815 100644 --- a/indra/llcommon/llapp.cpp +++ b/indra/llcommon/llapp.cpp @@ -69,10 +69,16 @@ bool windows_post_minidump_callback(const wchar_t* dump_path, void setup_signals(); void default_unix_signal_handler(int signum, siginfo_t *info, void *); +#if LL_LINUX +#include "google_breakpad/minidump_descriptor.h" +bool unix_minidump_callback(const google_breakpad::MinidumpDescriptor& minidump_desc, void* context, bool succeeded); +#else // Called by breakpad exception handler after the minidump has been generated. bool unix_post_minidump_callback(const char *dump_dir, const char *minidump_id, void *context, bool succeeded); +#endif + # if LL_DARWIN /* OSX doesn't support SIGRT* */ S32 LL_SMACKDOWN_SIGNAL = SIGUSR1; @@ -313,7 +319,7 @@ void LLApp::setupErrorHandling() // Add google breakpad exception handler configured for Darwin/Linux. bool installHandler = true; -#ifdef LL_DARWIN +#if LL_DARWIN // For the special case of Darwin, we do not want to install the handler if // the process is being debugged as the app will exit with value ABRT (6) if // we do. Unfortunately, the code below which performs that test relies on @@ -346,14 +352,21 @@ void LLApp::setupErrorHandling() installHandler = true; } #endif -#endif + if(installHandler && (mExceptionHandler == 0)) { std::string dumpPath = "/tmp/"; - mExceptionHandler = new google_breakpad::ExceptionHandler(dumpPath, 0, &unix_post_minidump_callback, 0, true); + mExceptionHandler = new google_breakpad::ExceptionHandler(dumpPath, 0, &unix_post_minidump_callback, 0, true, 0); + } +#elif LL_LINUX + if(installHandler && (mExceptionHandler == 0)) + { + google_breakpad::MinidumpDescriptor desc("/tmp"); + new google_breakpad::ExceptionHandler(desc, 0, &unix_minidump_callback, 0, true, 0); } #endif +#endif startErrorThread(); } @@ -410,6 +423,9 @@ void LLApp::setMiniDumpDir(const std::string &path) wchar_t buffer[MAX_MINDUMP_PATH_LENGTH]; mbstowcs(buffer, path.c_str(), MAX_MINDUMP_PATH_LENGTH); mExceptionHandler->set_dump_path(std::wstring(buffer)); +#elif LL_LINUX + google_breakpad::MinidumpDescriptor desc(path); + mExceptionHandler->set_minidump_descriptor(desc); #else mExceptionHandler->set_dump_path(path); #endif @@ -857,6 +873,43 @@ void default_unix_signal_handler(int signum, siginfo_t *info, void *) } } +#if LL_LINUX +bool unix_minidump_callback(const google_breakpad::MinidumpDescriptor& minidump_desc, void* context, bool succeeded) +{ + // Copy minidump file path into fixed buffer in the app instance to avoid + // heap allocations in a crash handler. + + // path format: /.dmp + int dirPathLength = strlen(minidump_desc.path()); + + // The path must not be truncated. + llassert((dirPathLength + 5) <= LLApp::MAX_MINDUMP_PATH_LENGTH); + + char * path = LLApp::instance()->getMiniDumpFilename(); + S32 remaining = LLApp::MAX_MINDUMP_PATH_LENGTH; + strncpy(path, minidump_desc.path(), remaining); + remaining -= dirPathLength; + path += dirPathLength; + if (remaining > 0 && dirPathLength > 0 && path[-1] != '/') + { + *path++ = '/'; + --remaining; + } + + llinfos << "generated minidump: " << LLApp::instance()->getMiniDumpFilename() << llendl; + LLApp::runErrorHandler(); + +#ifndef LL_RELEASE_FOR_DOWNLOAD + clear_signals(); + return false; +#else + return true; +#endif + +} +#endif + + bool unix_post_minidump_callback(const char *dump_dir, const char *minidump_id, void *context, bool succeeded) diff --git a/indra/llcommon/llapp.h b/indra/llcommon/llapp.h index a536a06ea5..afa06df23e 100644 --- a/indra/llcommon/llapp.h +++ b/indra/llcommon/llapp.h @@ -38,7 +38,7 @@ typedef LLAtomic32 LLAtomicU32; class LLErrorThread; class LLLiveFile; #if LL_LINUX -typedef struct siginfo siginfo_t; +#include #endif typedef void (*LLAppErrorHandler)(); -- cgit v1.2.3 From bf6182daa8b4d7cea79310547f71d7a3155e17b0 Mon Sep 17 00:00:00 2001 From: Graham Madarasz Date: Fri, 29 Mar 2013 07:50:08 -0700 Subject: Update Mac and Windows breakpad builds to latest --- indra/llcommon/CMakeLists.txt | 0 indra/llcommon/bitpack.cpp | 0 indra/llcommon/bitpack.h | 0 indra/llcommon/ctype_workaround.h | 0 indra/llcommon/doublelinkedlist.h | 0 indra/llcommon/fix_macros.h | 0 indra/llcommon/imageids.cpp | 0 indra/llcommon/imageids.h | 0 indra/llcommon/indra_constants.cpp | 0 indra/llcommon/indra_constants.h | 0 indra/llcommon/is_approx_equal_fraction.h | 0 indra/llcommon/linden_common.h | 0 indra/llcommon/linked_lists.h | 0 indra/llcommon/ll_template_cast.h | 0 indra/llcommon/llaccountingcost.h | 0 indra/llcommon/llagentconstants.h | 0 indra/llcommon/llallocator.cpp | 0 indra/llcommon/llallocator.h | 0 indra/llcommon/llallocator_heap_profile.cpp | 0 indra/llcommon/llallocator_heap_profile.h | 0 indra/llcommon/llapp.cpp | 0 indra/llcommon/llapp.h | 0 indra/llcommon/llapr.cpp | 0 indra/llcommon/llapr.h | 0 indra/llcommon/llassettype.cpp | 0 indra/llcommon/llassettype.h | 0 indra/llcommon/llassoclist.h | 0 indra/llcommon/llavatarconstants.h | 0 indra/llcommon/llavatarname.cpp | 0 indra/llcommon/llavatarname.h | 0 indra/llcommon/llbase32.cpp | 0 indra/llcommon/llbase32.h | 0 indra/llcommon/llbase64.cpp | 0 indra/llcommon/llbase64.h | 0 indra/llcommon/llboost.h | 0 indra/llcommon/llchat.h | 0 indra/llcommon/llclickaction.h | 0 indra/llcommon/llcommon.cpp | 0 indra/llcommon/llcommon.h | 0 indra/llcommon/llcommonutils.cpp | 0 indra/llcommon/llcommonutils.h | 0 indra/llcommon/llcoros.cpp | 0 indra/llcommon/llcoros.h | 0 indra/llcommon/llcrc.cpp | 0 indra/llcommon/llcrc.h | 0 indra/llcommon/llcriticaldamp.cpp | 0 indra/llcommon/llcriticaldamp.h | 0 indra/llcommon/llcursortypes.cpp | 0 indra/llcommon/llcursortypes.h | 0 indra/llcommon/lldarray.h | 0 indra/llcommon/lldarrayptr.h | 0 indra/llcommon/lldate.cpp | 0 indra/llcommon/lldate.h | 0 indra/llcommon/lldefs.h | 0 indra/llcommon/lldeleteutils.h | 0 indra/llcommon/lldependencies.cpp | 0 indra/llcommon/lldependencies.h | 0 indra/llcommon/lldepthstack.h | 0 indra/llcommon/lldictionary.cpp | 0 indra/llcommon/lldictionary.h | 0 indra/llcommon/lldlinked.h | 0 indra/llcommon/lldoubledispatch.h | 0 indra/llcommon/lldqueueptr.h | 0 indra/llcommon/llendianswizzle.h | 0 indra/llcommon/llenum.h | 0 indra/llcommon/llerror.cpp | 0 indra/llcommon/llerror.h | 0 indra/llcommon/llerrorcontrol.h | 0 indra/llcommon/llerrorlegacy.h | 0 indra/llcommon/llerrorthread.cpp | 0 indra/llcommon/llerrorthread.h | 0 indra/llcommon/llevent.cpp | 0 indra/llcommon/llevent.h | 0 indra/llcommon/lleventapi.cpp | 0 indra/llcommon/lleventapi.h | 0 indra/llcommon/lleventcoro.cpp | 0 indra/llcommon/lleventcoro.h | 0 indra/llcommon/lleventdispatcher.cpp | 0 indra/llcommon/lleventdispatcher.h | 0 indra/llcommon/lleventemitter.h | 0 indra/llcommon/lleventfilter.cpp | 0 indra/llcommon/lleventfilter.h | 0 indra/llcommon/llevents.cpp | 0 indra/llcommon/llevents.h | 0 indra/llcommon/lleventtimer.cpp | 0 indra/llcommon/lleventtimer.h | 0 indra/llcommon/llextendedstatus.h | 0 indra/llcommon/llfasttimer.cpp | 0 indra/llcommon/llfasttimer.h | 0 indra/llcommon/llfile.cpp | 0 indra/llcommon/llfile.h | 0 indra/llcommon/llfindlocale.cpp | 0 indra/llcommon/llfindlocale.h | 0 indra/llcommon/llfixedbuffer.cpp | 0 indra/llcommon/llfixedbuffer.h | 0 indra/llcommon/llfoldertype.cpp | 0 indra/llcommon/llformat.cpp | 0 indra/llcommon/llformat.h | 0 indra/llcommon/llframetimer.cpp | 0 indra/llcommon/llframetimer.h | 0 indra/llcommon/llhandle.h | 0 indra/llcommon/llhash.h | 0 indra/llcommon/llheartbeat.cpp | 0 indra/llcommon/llheartbeat.h | 0 indra/llcommon/llhttpstatuscodes.h | 0 indra/llcommon/llindexedqueue.h | 0 indra/llcommon/llinitparam.cpp | 0 indra/llcommon/llinitparam.h | 0 indra/llcommon/llinstancetracker.cpp | 0 indra/llcommon/llinstancetracker.h | 0 indra/llcommon/llkeythrottle.h | 0 indra/llcommon/llkeyusetracker.h | 0 indra/llcommon/lllazy.cpp | 0 indra/llcommon/lllazy.h | 0 indra/llcommon/llleap.cpp | 0 indra/llcommon/llleap.h | 0 indra/llcommon/llleaplistener.cpp | 0 indra/llcommon/llleaplistener.h | 0 indra/llcommon/lllinkedqueue.h | 0 indra/llcommon/lllistenerwrapper.h | 0 indra/llcommon/llliveappconfig.cpp | 0 indra/llcommon/llliveappconfig.h | 0 indra/llcommon/lllivefile.cpp | 0 indra/llcommon/lllivefile.h | 0 indra/llcommon/lllocalidhashmap.h | 0 indra/llcommon/lllog.cpp | 0 indra/llcommon/lllog.h | 0 indra/llcommon/lllslconstants.h | 0 indra/llcommon/llmap.h | 0 indra/llcommon/llmd5.cpp | 0 indra/llcommon/llmd5.h | 0 indra/llcommon/llmemory.cpp | 0 indra/llcommon/llmemory.h | 0 indra/llcommon/llmemorystream.cpp | 0 indra/llcommon/llmemorystream.h | 0 indra/llcommon/llmetricperformancetester.cpp | 0 indra/llcommon/llmetricperformancetester.h | 0 indra/llcommon/llmetrics.cpp | 0 indra/llcommon/llmetrics.h | 0 indra/llcommon/llmortician.cpp | 0 indra/llcommon/llmortician.h | 0 indra/llcommon/llnametable.h | 0 indra/llcommon/lloptioninterface.cpp | 0 indra/llcommon/lloptioninterface.h | 0 indra/llcommon/llpointer.h | 0 indra/llcommon/llpreprocessor.h | 0 indra/llcommon/llpriqueuemap.h | 0 indra/llcommon/llprocess.cpp | 0 indra/llcommon/llprocess.h | 0 indra/llcommon/llprocessor.cpp | 0 indra/llcommon/llprocessor.h | 0 indra/llcommon/llptrskiplist.h | 0 indra/llcommon/llptrskipmap.h | 0 indra/llcommon/llptrto.cpp | 0 indra/llcommon/llptrto.h | 0 indra/llcommon/llqueuedthread.cpp | 0 indra/llcommon/llqueuedthread.h | 0 indra/llcommon/llrand.cpp | 0 indra/llcommon/llrand.h | 0 indra/llcommon/llrefcount.cpp | 0 indra/llcommon/llrefcount.h | 0 indra/llcommon/llregistry.h | 0 indra/llcommon/llrun.cpp | 0 indra/llcommon/llrun.h | 0 indra/llcommon/llsafehandle.h | 0 indra/llcommon/llsd.cpp | 0 indra/llcommon/llsd.h | 0 indra/llcommon/llsdparam.cpp | 0 indra/llcommon/llsdparam.h | 0 indra/llcommon/llsdserialize.cpp | 0 indra/llcommon/llsdserialize.h | 0 indra/llcommon/llsdserialize_xml.cpp | 0 indra/llcommon/llsdserialize_xml.h | 0 indra/llcommon/llsdutil.cpp | 0 indra/llcommon/llsdutil.h | 0 indra/llcommon/llsecondlifeurls.cpp | 0 indra/llcommon/llsecondlifeurls.h | 0 indra/llcommon/llsimplehash.h | 0 indra/llcommon/llsingleton.cpp | 0 indra/llcommon/llsingleton.h | 0 indra/llcommon/llskiplist.h | 0 indra/llcommon/llskipmap.h | 0 indra/llcommon/llsmoothstep.h | 0 indra/llcommon/llsortedvector.h | 0 indra/llcommon/llstack.h | 0 indra/llcommon/llstacktrace.cpp | 0 indra/llcommon/llstacktrace.h | 0 indra/llcommon/llstat.cpp | 0 indra/llcommon/llstat.h | 0 indra/llcommon/llstatenums.h | 0 indra/llcommon/llstl.h | 0 indra/llcommon/llstreamqueue.cpp | 0 indra/llcommon/llstreamqueue.h | 0 indra/llcommon/llstreamtools.cpp | 0 indra/llcommon/llstreamtools.h | 0 indra/llcommon/llstrider.h | 0 indra/llcommon/llstring.cpp | 0 indra/llcommon/llstring.h | 0 indra/llcommon/llstringtable.cpp | 0 indra/llcommon/llstringtable.h | 0 indra/llcommon/llsys.cpp | 0 indra/llcommon/llsys.h | 0 indra/llcommon/llthread.cpp | 0 indra/llcommon/llthread.h | 0 indra/llcommon/llthreadsafequeue.cpp | 0 indra/llcommon/llthreadsafequeue.h | 0 indra/llcommon/lltimer.cpp | 0 indra/llcommon/lltimer.h | 0 indra/llcommon/lltreeiterators.h | 0 indra/llcommon/lltypeinfolookup.h | 0 indra/llcommon/lluri.cpp | 0 indra/llcommon/lluri.h | 0 indra/llcommon/lluuid.cpp | 0 indra/llcommon/lluuid.h | 0 indra/llcommon/lluuidhashmap.h | 0 indra/llcommon/llversionserver.h | 0 indra/llcommon/llversionviewer.h | 0 indra/llcommon/llworkerthread.cpp | 0 indra/llcommon/llworkerthread.h | 0 indra/llcommon/metaclass.cpp | 0 indra/llcommon/metaclass.h | 0 indra/llcommon/metaclasst.h | 0 indra/llcommon/metaproperty.cpp | 0 indra/llcommon/metaproperty.h | 0 indra/llcommon/metapropertyt.h | 0 indra/llcommon/reflective.cpp | 0 indra/llcommon/reflective.h | 0 indra/llcommon/reflectivet.h | 0 indra/llcommon/roles_constants.h | 0 indra/llcommon/stdenums.h | 0 indra/llcommon/stdtypes.h | 0 indra/llcommon/string_table.h | 0 indra/llcommon/stringize.h | 0 indra/llcommon/tests/StringVec.h | 0 indra/llcommon/tests/bitpack_test.cpp | 0 indra/llcommon/tests/commonmisc_test.cpp | 0 indra/llcommon/tests/listener.h | 0 indra/llcommon/tests/llallocator_heap_profile_test.cpp | 0 indra/llcommon/tests/llallocator_test.cpp | 0 indra/llcommon/tests/llbase64_test.cpp | 0 indra/llcommon/tests/lldate_test.cpp | 0 indra/llcommon/tests/lldependencies_test.cpp | 0 indra/llcommon/tests/llerror_test.cpp | 0 indra/llcommon/tests/lleventcoro_test.cpp | 0 indra/llcommon/tests/lleventdispatcher_test.cpp | 0 indra/llcommon/tests/lleventfilter_test.cpp | 0 indra/llcommon/tests/llframetimer_test.cpp | 0 indra/llcommon/tests/llinstancetracker_test.cpp | 0 indra/llcommon/tests/lllazy_test.cpp | 0 indra/llcommon/tests/llleap_test.cpp | 0 indra/llcommon/tests/llmemtype_test.cpp | 0 indra/llcommon/tests/llprocess_test.cpp | 0 indra/llcommon/tests/llprocessor_test.cpp | 0 indra/llcommon/tests/llrand_test.cpp | 0 indra/llcommon/tests/llsdserialize_test.cpp | 0 indra/llcommon/tests/llsingleton_test.cpp | 0 indra/llcommon/tests/llstreamqueue_test.cpp | 0 indra/llcommon/tests/llstring_test.cpp | 0 indra/llcommon/tests/lltreeiterators_test.cpp | 0 indra/llcommon/tests/lluri_test.cpp | 0 indra/llcommon/tests/reflection_test.cpp | 0 indra/llcommon/tests/stringize_test.cpp | 0 indra/llcommon/tests/wrapllerrs.h | 0 indra/llcommon/timer.h | 0 indra/llcommon/timing.cpp | 0 indra/llcommon/timing.h | 0 indra/llcommon/u64.cpp | 0 indra/llcommon/u64.h | 0 268 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 indra/llcommon/CMakeLists.txt mode change 100644 => 100755 indra/llcommon/bitpack.cpp mode change 100644 => 100755 indra/llcommon/bitpack.h mode change 100644 => 100755 indra/llcommon/ctype_workaround.h mode change 100644 => 100755 indra/llcommon/doublelinkedlist.h mode change 100644 => 100755 indra/llcommon/fix_macros.h mode change 100644 => 100755 indra/llcommon/imageids.cpp mode change 100644 => 100755 indra/llcommon/imageids.h mode change 100644 => 100755 indra/llcommon/indra_constants.cpp mode change 100644 => 100755 indra/llcommon/indra_constants.h mode change 100644 => 100755 indra/llcommon/is_approx_equal_fraction.h mode change 100644 => 100755 indra/llcommon/linden_common.h mode change 100644 => 100755 indra/llcommon/linked_lists.h mode change 100644 => 100755 indra/llcommon/ll_template_cast.h mode change 100644 => 100755 indra/llcommon/llaccountingcost.h mode change 100644 => 100755 indra/llcommon/llagentconstants.h mode change 100644 => 100755 indra/llcommon/llallocator.cpp mode change 100644 => 100755 indra/llcommon/llallocator.h mode change 100644 => 100755 indra/llcommon/llallocator_heap_profile.cpp mode change 100644 => 100755 indra/llcommon/llallocator_heap_profile.h mode change 100644 => 100755 indra/llcommon/llapp.cpp mode change 100644 => 100755 indra/llcommon/llapp.h mode change 100644 => 100755 indra/llcommon/llapr.cpp mode change 100644 => 100755 indra/llcommon/llapr.h mode change 100644 => 100755 indra/llcommon/llassettype.cpp mode change 100644 => 100755 indra/llcommon/llassettype.h mode change 100644 => 100755 indra/llcommon/llassoclist.h mode change 100644 => 100755 indra/llcommon/llavatarconstants.h mode change 100644 => 100755 indra/llcommon/llavatarname.cpp mode change 100644 => 100755 indra/llcommon/llavatarname.h mode change 100644 => 100755 indra/llcommon/llbase32.cpp mode change 100644 => 100755 indra/llcommon/llbase32.h mode change 100644 => 100755 indra/llcommon/llbase64.cpp mode change 100644 => 100755 indra/llcommon/llbase64.h mode change 100644 => 100755 indra/llcommon/llboost.h mode change 100644 => 100755 indra/llcommon/llchat.h mode change 100644 => 100755 indra/llcommon/llclickaction.h mode change 100644 => 100755 indra/llcommon/llcommon.cpp mode change 100644 => 100755 indra/llcommon/llcommon.h mode change 100644 => 100755 indra/llcommon/llcommonutils.cpp mode change 100644 => 100755 indra/llcommon/llcommonutils.h mode change 100644 => 100755 indra/llcommon/llcoros.cpp mode change 100644 => 100755 indra/llcommon/llcoros.h mode change 100644 => 100755 indra/llcommon/llcrc.cpp mode change 100644 => 100755 indra/llcommon/llcrc.h mode change 100644 => 100755 indra/llcommon/llcriticaldamp.cpp mode change 100644 => 100755 indra/llcommon/llcriticaldamp.h mode change 100644 => 100755 indra/llcommon/llcursortypes.cpp mode change 100644 => 100755 indra/llcommon/llcursortypes.h mode change 100644 => 100755 indra/llcommon/lldarray.h mode change 100644 => 100755 indra/llcommon/lldarrayptr.h mode change 100644 => 100755 indra/llcommon/lldate.cpp mode change 100644 => 100755 indra/llcommon/lldate.h mode change 100644 => 100755 indra/llcommon/lldefs.h mode change 100644 => 100755 indra/llcommon/lldeleteutils.h mode change 100644 => 100755 indra/llcommon/lldependencies.cpp mode change 100644 => 100755 indra/llcommon/lldependencies.h mode change 100644 => 100755 indra/llcommon/lldepthstack.h mode change 100644 => 100755 indra/llcommon/lldictionary.cpp mode change 100644 => 100755 indra/llcommon/lldictionary.h mode change 100644 => 100755 indra/llcommon/lldlinked.h mode change 100644 => 100755 indra/llcommon/lldoubledispatch.h mode change 100644 => 100755 indra/llcommon/lldqueueptr.h mode change 100644 => 100755 indra/llcommon/llendianswizzle.h mode change 100644 => 100755 indra/llcommon/llenum.h mode change 100644 => 100755 indra/llcommon/llerror.cpp mode change 100644 => 100755 indra/llcommon/llerror.h mode change 100644 => 100755 indra/llcommon/llerrorcontrol.h mode change 100644 => 100755 indra/llcommon/llerrorlegacy.h mode change 100644 => 100755 indra/llcommon/llerrorthread.cpp mode change 100644 => 100755 indra/llcommon/llerrorthread.h mode change 100644 => 100755 indra/llcommon/llevent.cpp mode change 100644 => 100755 indra/llcommon/llevent.h mode change 100644 => 100755 indra/llcommon/lleventapi.cpp mode change 100644 => 100755 indra/llcommon/lleventapi.h mode change 100644 => 100755 indra/llcommon/lleventcoro.cpp mode change 100644 => 100755 indra/llcommon/lleventcoro.h mode change 100644 => 100755 indra/llcommon/lleventdispatcher.cpp mode change 100644 => 100755 indra/llcommon/lleventdispatcher.h mode change 100644 => 100755 indra/llcommon/lleventemitter.h mode change 100644 => 100755 indra/llcommon/lleventfilter.cpp mode change 100644 => 100755 indra/llcommon/lleventfilter.h mode change 100644 => 100755 indra/llcommon/llevents.cpp mode change 100644 => 100755 indra/llcommon/llevents.h mode change 100644 => 100755 indra/llcommon/lleventtimer.cpp mode change 100644 => 100755 indra/llcommon/lleventtimer.h mode change 100644 => 100755 indra/llcommon/llextendedstatus.h mode change 100644 => 100755 indra/llcommon/llfasttimer.cpp mode change 100644 => 100755 indra/llcommon/llfasttimer.h mode change 100644 => 100755 indra/llcommon/llfile.cpp mode change 100644 => 100755 indra/llcommon/llfile.h mode change 100644 => 100755 indra/llcommon/llfindlocale.cpp mode change 100644 => 100755 indra/llcommon/llfindlocale.h mode change 100644 => 100755 indra/llcommon/llfixedbuffer.cpp mode change 100644 => 100755 indra/llcommon/llfixedbuffer.h mode change 100644 => 100755 indra/llcommon/llfoldertype.cpp mode change 100644 => 100755 indra/llcommon/llformat.cpp mode change 100644 => 100755 indra/llcommon/llformat.h mode change 100644 => 100755 indra/llcommon/llframetimer.cpp mode change 100644 => 100755 indra/llcommon/llframetimer.h mode change 100644 => 100755 indra/llcommon/llhandle.h mode change 100644 => 100755 indra/llcommon/llhash.h mode change 100644 => 100755 indra/llcommon/llheartbeat.cpp mode change 100644 => 100755 indra/llcommon/llheartbeat.h mode change 100644 => 100755 indra/llcommon/llhttpstatuscodes.h mode change 100644 => 100755 indra/llcommon/llindexedqueue.h mode change 100644 => 100755 indra/llcommon/llinitparam.cpp mode change 100644 => 100755 indra/llcommon/llinitparam.h mode change 100644 => 100755 indra/llcommon/llinstancetracker.cpp mode change 100644 => 100755 indra/llcommon/llinstancetracker.h mode change 100644 => 100755 indra/llcommon/llkeythrottle.h mode change 100644 => 100755 indra/llcommon/llkeyusetracker.h mode change 100644 => 100755 indra/llcommon/lllazy.cpp mode change 100644 => 100755 indra/llcommon/lllazy.h mode change 100644 => 100755 indra/llcommon/llleap.cpp mode change 100644 => 100755 indra/llcommon/llleap.h mode change 100644 => 100755 indra/llcommon/llleaplistener.cpp mode change 100644 => 100755 indra/llcommon/llleaplistener.h mode change 100644 => 100755 indra/llcommon/lllinkedqueue.h mode change 100644 => 100755 indra/llcommon/lllistenerwrapper.h mode change 100644 => 100755 indra/llcommon/llliveappconfig.cpp mode change 100644 => 100755 indra/llcommon/llliveappconfig.h mode change 100644 => 100755 indra/llcommon/lllivefile.cpp mode change 100644 => 100755 indra/llcommon/lllivefile.h mode change 100644 => 100755 indra/llcommon/lllocalidhashmap.h mode change 100644 => 100755 indra/llcommon/lllog.cpp mode change 100644 => 100755 indra/llcommon/lllog.h mode change 100644 => 100755 indra/llcommon/lllslconstants.h mode change 100644 => 100755 indra/llcommon/llmap.h mode change 100644 => 100755 indra/llcommon/llmd5.cpp mode change 100644 => 100755 indra/llcommon/llmd5.h mode change 100644 => 100755 indra/llcommon/llmemory.cpp mode change 100644 => 100755 indra/llcommon/llmemory.h mode change 100644 => 100755 indra/llcommon/llmemorystream.cpp mode change 100644 => 100755 indra/llcommon/llmemorystream.h mode change 100644 => 100755 indra/llcommon/llmetricperformancetester.cpp mode change 100644 => 100755 indra/llcommon/llmetricperformancetester.h mode change 100644 => 100755 indra/llcommon/llmetrics.cpp mode change 100644 => 100755 indra/llcommon/llmetrics.h mode change 100644 => 100755 indra/llcommon/llmortician.cpp mode change 100644 => 100755 indra/llcommon/llmortician.h mode change 100644 => 100755 indra/llcommon/llnametable.h mode change 100644 => 100755 indra/llcommon/lloptioninterface.cpp mode change 100644 => 100755 indra/llcommon/lloptioninterface.h mode change 100644 => 100755 indra/llcommon/llpointer.h mode change 100644 => 100755 indra/llcommon/llpreprocessor.h mode change 100644 => 100755 indra/llcommon/llpriqueuemap.h mode change 100644 => 100755 indra/llcommon/llprocess.cpp mode change 100644 => 100755 indra/llcommon/llprocess.h mode change 100644 => 100755 indra/llcommon/llprocessor.cpp mode change 100644 => 100755 indra/llcommon/llprocessor.h mode change 100644 => 100755 indra/llcommon/llptrskiplist.h mode change 100644 => 100755 indra/llcommon/llptrskipmap.h mode change 100644 => 100755 indra/llcommon/llptrto.cpp mode change 100644 => 100755 indra/llcommon/llptrto.h mode change 100644 => 100755 indra/llcommon/llqueuedthread.cpp mode change 100644 => 100755 indra/llcommon/llqueuedthread.h mode change 100644 => 100755 indra/llcommon/llrand.cpp mode change 100644 => 100755 indra/llcommon/llrand.h mode change 100644 => 100755 indra/llcommon/llrefcount.cpp mode change 100644 => 100755 indra/llcommon/llrefcount.h mode change 100644 => 100755 indra/llcommon/llregistry.h mode change 100644 => 100755 indra/llcommon/llrun.cpp mode change 100644 => 100755 indra/llcommon/llrun.h mode change 100644 => 100755 indra/llcommon/llsafehandle.h mode change 100644 => 100755 indra/llcommon/llsd.cpp mode change 100644 => 100755 indra/llcommon/llsd.h mode change 100644 => 100755 indra/llcommon/llsdparam.cpp mode change 100644 => 100755 indra/llcommon/llsdparam.h mode change 100644 => 100755 indra/llcommon/llsdserialize.cpp mode change 100644 => 100755 indra/llcommon/llsdserialize.h mode change 100644 => 100755 indra/llcommon/llsdserialize_xml.cpp mode change 100644 => 100755 indra/llcommon/llsdserialize_xml.h mode change 100644 => 100755 indra/llcommon/llsdutil.cpp mode change 100644 => 100755 indra/llcommon/llsdutil.h mode change 100644 => 100755 indra/llcommon/llsecondlifeurls.cpp mode change 100644 => 100755 indra/llcommon/llsecondlifeurls.h mode change 100644 => 100755 indra/llcommon/llsimplehash.h mode change 100644 => 100755 indra/llcommon/llsingleton.cpp mode change 100644 => 100755 indra/llcommon/llsingleton.h mode change 100644 => 100755 indra/llcommon/llskiplist.h mode change 100644 => 100755 indra/llcommon/llskipmap.h mode change 100644 => 100755 indra/llcommon/llsmoothstep.h mode change 100644 => 100755 indra/llcommon/llsortedvector.h mode change 100644 => 100755 indra/llcommon/llstack.h mode change 100644 => 100755 indra/llcommon/llstacktrace.cpp mode change 100644 => 100755 indra/llcommon/llstacktrace.h mode change 100644 => 100755 indra/llcommon/llstat.cpp mode change 100644 => 100755 indra/llcommon/llstat.h mode change 100644 => 100755 indra/llcommon/llstatenums.h mode change 100644 => 100755 indra/llcommon/llstl.h mode change 100644 => 100755 indra/llcommon/llstreamqueue.cpp mode change 100644 => 100755 indra/llcommon/llstreamqueue.h mode change 100644 => 100755 indra/llcommon/llstreamtools.cpp mode change 100644 => 100755 indra/llcommon/llstreamtools.h mode change 100644 => 100755 indra/llcommon/llstrider.h mode change 100644 => 100755 indra/llcommon/llstring.cpp mode change 100644 => 100755 indra/llcommon/llstring.h mode change 100644 => 100755 indra/llcommon/llstringtable.cpp mode change 100644 => 100755 indra/llcommon/llstringtable.h mode change 100644 => 100755 indra/llcommon/llsys.cpp mode change 100644 => 100755 indra/llcommon/llsys.h mode change 100644 => 100755 indra/llcommon/llthread.cpp mode change 100644 => 100755 indra/llcommon/llthread.h mode change 100644 => 100755 indra/llcommon/llthreadsafequeue.cpp mode change 100644 => 100755 indra/llcommon/llthreadsafequeue.h mode change 100644 => 100755 indra/llcommon/lltimer.cpp mode change 100644 => 100755 indra/llcommon/lltimer.h mode change 100644 => 100755 indra/llcommon/lltreeiterators.h mode change 100644 => 100755 indra/llcommon/lltypeinfolookup.h mode change 100644 => 100755 indra/llcommon/lluri.cpp mode change 100644 => 100755 indra/llcommon/lluri.h mode change 100644 => 100755 indra/llcommon/lluuid.cpp mode change 100644 => 100755 indra/llcommon/lluuid.h mode change 100644 => 100755 indra/llcommon/lluuidhashmap.h mode change 100644 => 100755 indra/llcommon/llversionserver.h mode change 100644 => 100755 indra/llcommon/llversionviewer.h mode change 100644 => 100755 indra/llcommon/llworkerthread.cpp mode change 100644 => 100755 indra/llcommon/llworkerthread.h mode change 100644 => 100755 indra/llcommon/metaclass.cpp mode change 100644 => 100755 indra/llcommon/metaclass.h mode change 100644 => 100755 indra/llcommon/metaclasst.h mode change 100644 => 100755 indra/llcommon/metaproperty.cpp mode change 100644 => 100755 indra/llcommon/metaproperty.h mode change 100644 => 100755 indra/llcommon/metapropertyt.h mode change 100644 => 100755 indra/llcommon/reflective.cpp mode change 100644 => 100755 indra/llcommon/reflective.h mode change 100644 => 100755 indra/llcommon/reflectivet.h mode change 100644 => 100755 indra/llcommon/roles_constants.h mode change 100644 => 100755 indra/llcommon/stdenums.h mode change 100644 => 100755 indra/llcommon/stdtypes.h mode change 100644 => 100755 indra/llcommon/string_table.h mode change 100644 => 100755 indra/llcommon/stringize.h mode change 100644 => 100755 indra/llcommon/tests/StringVec.h mode change 100644 => 100755 indra/llcommon/tests/bitpack_test.cpp mode change 100644 => 100755 indra/llcommon/tests/commonmisc_test.cpp mode change 100644 => 100755 indra/llcommon/tests/listener.h mode change 100644 => 100755 indra/llcommon/tests/llallocator_heap_profile_test.cpp mode change 100644 => 100755 indra/llcommon/tests/llallocator_test.cpp mode change 100644 => 100755 indra/llcommon/tests/llbase64_test.cpp mode change 100644 => 100755 indra/llcommon/tests/lldate_test.cpp mode change 100644 => 100755 indra/llcommon/tests/lldependencies_test.cpp mode change 100644 => 100755 indra/llcommon/tests/llerror_test.cpp mode change 100644 => 100755 indra/llcommon/tests/lleventcoro_test.cpp mode change 100644 => 100755 indra/llcommon/tests/lleventdispatcher_test.cpp mode change 100644 => 100755 indra/llcommon/tests/lleventfilter_test.cpp mode change 100644 => 100755 indra/llcommon/tests/llframetimer_test.cpp mode change 100644 => 100755 indra/llcommon/tests/llinstancetracker_test.cpp mode change 100644 => 100755 indra/llcommon/tests/lllazy_test.cpp mode change 100644 => 100755 indra/llcommon/tests/llleap_test.cpp mode change 100644 => 100755 indra/llcommon/tests/llmemtype_test.cpp mode change 100644 => 100755 indra/llcommon/tests/llprocess_test.cpp mode change 100644 => 100755 indra/llcommon/tests/llprocessor_test.cpp mode change 100644 => 100755 indra/llcommon/tests/llrand_test.cpp mode change 100644 => 100755 indra/llcommon/tests/llsdserialize_test.cpp mode change 100644 => 100755 indra/llcommon/tests/llsingleton_test.cpp mode change 100644 => 100755 indra/llcommon/tests/llstreamqueue_test.cpp mode change 100644 => 100755 indra/llcommon/tests/llstring_test.cpp mode change 100644 => 100755 indra/llcommon/tests/lltreeiterators_test.cpp mode change 100644 => 100755 indra/llcommon/tests/lluri_test.cpp mode change 100644 => 100755 indra/llcommon/tests/reflection_test.cpp mode change 100644 => 100755 indra/llcommon/tests/stringize_test.cpp mode change 100644 => 100755 indra/llcommon/tests/wrapllerrs.h mode change 100644 => 100755 indra/llcommon/timer.h mode change 100644 => 100755 indra/llcommon/timing.cpp mode change 100644 => 100755 indra/llcommon/timing.h mode change 100644 => 100755 indra/llcommon/u64.cpp mode change 100644 => 100755 indra/llcommon/u64.h (limited to 'indra/llcommon') diff --git a/indra/llcommon/CMakeLists.txt b/indra/llcommon/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/llcommon/bitpack.cpp b/indra/llcommon/bitpack.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/bitpack.h b/indra/llcommon/bitpack.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/ctype_workaround.h b/indra/llcommon/ctype_workaround.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/doublelinkedlist.h b/indra/llcommon/doublelinkedlist.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/fix_macros.h b/indra/llcommon/fix_macros.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/imageids.cpp b/indra/llcommon/imageids.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/imageids.h b/indra/llcommon/imageids.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/indra_constants.cpp b/indra/llcommon/indra_constants.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/indra_constants.h b/indra/llcommon/indra_constants.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/is_approx_equal_fraction.h b/indra/llcommon/is_approx_equal_fraction.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/linden_common.h b/indra/llcommon/linden_common.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/linked_lists.h b/indra/llcommon/linked_lists.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/ll_template_cast.h b/indra/llcommon/ll_template_cast.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llaccountingcost.h b/indra/llcommon/llaccountingcost.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llagentconstants.h b/indra/llcommon/llagentconstants.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llallocator.cpp b/indra/llcommon/llallocator.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llallocator.h b/indra/llcommon/llallocator.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llallocator_heap_profile.cpp b/indra/llcommon/llallocator_heap_profile.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llallocator_heap_profile.h b/indra/llcommon/llallocator_heap_profile.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llapp.cpp b/indra/llcommon/llapp.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llapp.h b/indra/llcommon/llapp.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llapr.cpp b/indra/llcommon/llapr.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llapr.h b/indra/llcommon/llapr.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llassettype.cpp b/indra/llcommon/llassettype.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llassettype.h b/indra/llcommon/llassettype.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llassoclist.h b/indra/llcommon/llassoclist.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llavatarconstants.h b/indra/llcommon/llavatarconstants.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llavatarname.cpp b/indra/llcommon/llavatarname.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llavatarname.h b/indra/llcommon/llavatarname.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llbase32.cpp b/indra/llcommon/llbase32.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llbase32.h b/indra/llcommon/llbase32.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llbase64.cpp b/indra/llcommon/llbase64.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llbase64.h b/indra/llcommon/llbase64.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llboost.h b/indra/llcommon/llboost.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llchat.h b/indra/llcommon/llchat.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llclickaction.h b/indra/llcommon/llclickaction.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llcommon.cpp b/indra/llcommon/llcommon.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llcommon.h b/indra/llcommon/llcommon.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llcommonutils.cpp b/indra/llcommon/llcommonutils.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llcommonutils.h b/indra/llcommon/llcommonutils.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llcoros.cpp b/indra/llcommon/llcoros.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llcoros.h b/indra/llcommon/llcoros.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llcrc.cpp b/indra/llcommon/llcrc.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llcrc.h b/indra/llcommon/llcrc.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llcriticaldamp.cpp b/indra/llcommon/llcriticaldamp.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llcriticaldamp.h b/indra/llcommon/llcriticaldamp.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llcursortypes.cpp b/indra/llcommon/llcursortypes.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llcursortypes.h b/indra/llcommon/llcursortypes.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lldarray.h b/indra/llcommon/lldarray.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lldarrayptr.h b/indra/llcommon/lldarrayptr.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lldate.cpp b/indra/llcommon/lldate.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/lldate.h b/indra/llcommon/lldate.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lldefs.h b/indra/llcommon/lldefs.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lldeleteutils.h b/indra/llcommon/lldeleteutils.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lldependencies.cpp b/indra/llcommon/lldependencies.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/lldependencies.h b/indra/llcommon/lldependencies.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lldepthstack.h b/indra/llcommon/lldepthstack.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lldictionary.cpp b/indra/llcommon/lldictionary.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/lldictionary.h b/indra/llcommon/lldictionary.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lldlinked.h b/indra/llcommon/lldlinked.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lldoubledispatch.h b/indra/llcommon/lldoubledispatch.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lldqueueptr.h b/indra/llcommon/lldqueueptr.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llendianswizzle.h b/indra/llcommon/llendianswizzle.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llenum.h b/indra/llcommon/llenum.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llerror.cpp b/indra/llcommon/llerror.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llerror.h b/indra/llcommon/llerror.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llerrorcontrol.h b/indra/llcommon/llerrorcontrol.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llerrorlegacy.h b/indra/llcommon/llerrorlegacy.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llerrorthread.cpp b/indra/llcommon/llerrorthread.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llerrorthread.h b/indra/llcommon/llerrorthread.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llevent.cpp b/indra/llcommon/llevent.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llevent.h b/indra/llcommon/llevent.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lleventapi.cpp b/indra/llcommon/lleventapi.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/lleventapi.h b/indra/llcommon/lleventapi.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lleventcoro.cpp b/indra/llcommon/lleventcoro.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/lleventcoro.h b/indra/llcommon/lleventcoro.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lleventdispatcher.cpp b/indra/llcommon/lleventdispatcher.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/lleventdispatcher.h b/indra/llcommon/lleventdispatcher.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lleventemitter.h b/indra/llcommon/lleventemitter.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lleventfilter.cpp b/indra/llcommon/lleventfilter.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/lleventfilter.h b/indra/llcommon/lleventfilter.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llevents.cpp b/indra/llcommon/llevents.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llevents.h b/indra/llcommon/llevents.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lleventtimer.cpp b/indra/llcommon/lleventtimer.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/lleventtimer.h b/indra/llcommon/lleventtimer.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llextendedstatus.h b/indra/llcommon/llextendedstatus.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llfasttimer.cpp b/indra/llcommon/llfasttimer.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llfasttimer.h b/indra/llcommon/llfasttimer.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llfile.cpp b/indra/llcommon/llfile.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llfile.h b/indra/llcommon/llfile.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llfindlocale.cpp b/indra/llcommon/llfindlocale.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llfindlocale.h b/indra/llcommon/llfindlocale.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llfixedbuffer.cpp b/indra/llcommon/llfixedbuffer.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llfixedbuffer.h b/indra/llcommon/llfixedbuffer.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llfoldertype.cpp b/indra/llcommon/llfoldertype.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llformat.cpp b/indra/llcommon/llformat.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llformat.h b/indra/llcommon/llformat.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llframetimer.cpp b/indra/llcommon/llframetimer.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llframetimer.h b/indra/llcommon/llframetimer.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llhandle.h b/indra/llcommon/llhandle.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llhash.h b/indra/llcommon/llhash.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llheartbeat.cpp b/indra/llcommon/llheartbeat.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llheartbeat.h b/indra/llcommon/llheartbeat.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llhttpstatuscodes.h b/indra/llcommon/llhttpstatuscodes.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llindexedqueue.h b/indra/llcommon/llindexedqueue.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llinitparam.cpp b/indra/llcommon/llinitparam.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llinitparam.h b/indra/llcommon/llinitparam.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llinstancetracker.cpp b/indra/llcommon/llinstancetracker.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llinstancetracker.h b/indra/llcommon/llinstancetracker.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llkeythrottle.h b/indra/llcommon/llkeythrottle.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llkeyusetracker.h b/indra/llcommon/llkeyusetracker.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lllazy.cpp b/indra/llcommon/lllazy.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/lllazy.h b/indra/llcommon/lllazy.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llleap.cpp b/indra/llcommon/llleap.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llleap.h b/indra/llcommon/llleap.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llleaplistener.cpp b/indra/llcommon/llleaplistener.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llleaplistener.h b/indra/llcommon/llleaplistener.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lllinkedqueue.h b/indra/llcommon/lllinkedqueue.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lllistenerwrapper.h b/indra/llcommon/lllistenerwrapper.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llliveappconfig.cpp b/indra/llcommon/llliveappconfig.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llliveappconfig.h b/indra/llcommon/llliveappconfig.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lllivefile.cpp b/indra/llcommon/lllivefile.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/lllivefile.h b/indra/llcommon/lllivefile.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lllocalidhashmap.h b/indra/llcommon/lllocalidhashmap.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lllog.cpp b/indra/llcommon/lllog.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/lllog.h b/indra/llcommon/lllog.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lllslconstants.h b/indra/llcommon/lllslconstants.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llmap.h b/indra/llcommon/llmap.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llmd5.cpp b/indra/llcommon/llmd5.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llmd5.h b/indra/llcommon/llmd5.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llmemory.cpp b/indra/llcommon/llmemory.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llmemory.h b/indra/llcommon/llmemory.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llmemorystream.cpp b/indra/llcommon/llmemorystream.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llmemorystream.h b/indra/llcommon/llmemorystream.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llmetricperformancetester.cpp b/indra/llcommon/llmetricperformancetester.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llmetricperformancetester.h b/indra/llcommon/llmetricperformancetester.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llmetrics.cpp b/indra/llcommon/llmetrics.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llmetrics.h b/indra/llcommon/llmetrics.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llmortician.cpp b/indra/llcommon/llmortician.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llmortician.h b/indra/llcommon/llmortician.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llnametable.h b/indra/llcommon/llnametable.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lloptioninterface.cpp b/indra/llcommon/lloptioninterface.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/lloptioninterface.h b/indra/llcommon/lloptioninterface.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llpointer.h b/indra/llcommon/llpointer.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llpreprocessor.h b/indra/llcommon/llpreprocessor.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llpriqueuemap.h b/indra/llcommon/llpriqueuemap.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llprocess.cpp b/indra/llcommon/llprocess.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llprocess.h b/indra/llcommon/llprocess.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llprocessor.cpp b/indra/llcommon/llprocessor.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llprocessor.h b/indra/llcommon/llprocessor.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llptrskiplist.h b/indra/llcommon/llptrskiplist.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llptrskipmap.h b/indra/llcommon/llptrskipmap.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llptrto.cpp b/indra/llcommon/llptrto.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llptrto.h b/indra/llcommon/llptrto.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llqueuedthread.cpp b/indra/llcommon/llqueuedthread.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llqueuedthread.h b/indra/llcommon/llqueuedthread.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llrand.cpp b/indra/llcommon/llrand.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llrand.h b/indra/llcommon/llrand.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llrefcount.cpp b/indra/llcommon/llrefcount.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llrefcount.h b/indra/llcommon/llrefcount.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llregistry.h b/indra/llcommon/llregistry.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llrun.cpp b/indra/llcommon/llrun.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llrun.h b/indra/llcommon/llrun.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llsafehandle.h b/indra/llcommon/llsafehandle.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llsd.cpp b/indra/llcommon/llsd.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llsd.h b/indra/llcommon/llsd.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llsdparam.cpp b/indra/llcommon/llsdparam.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llsdparam.h b/indra/llcommon/llsdparam.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llsdserialize.cpp b/indra/llcommon/llsdserialize.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llsdserialize.h b/indra/llcommon/llsdserialize.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llsdserialize_xml.cpp b/indra/llcommon/llsdserialize_xml.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llsdserialize_xml.h b/indra/llcommon/llsdserialize_xml.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llsdutil.cpp b/indra/llcommon/llsdutil.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llsdutil.h b/indra/llcommon/llsdutil.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llsecondlifeurls.cpp b/indra/llcommon/llsecondlifeurls.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llsecondlifeurls.h b/indra/llcommon/llsecondlifeurls.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llsimplehash.h b/indra/llcommon/llsimplehash.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llsingleton.cpp b/indra/llcommon/llsingleton.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llsingleton.h b/indra/llcommon/llsingleton.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llskiplist.h b/indra/llcommon/llskiplist.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llskipmap.h b/indra/llcommon/llskipmap.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llsmoothstep.h b/indra/llcommon/llsmoothstep.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llsortedvector.h b/indra/llcommon/llsortedvector.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llstack.h b/indra/llcommon/llstack.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llstacktrace.cpp b/indra/llcommon/llstacktrace.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llstacktrace.h b/indra/llcommon/llstacktrace.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llstat.cpp b/indra/llcommon/llstat.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llstat.h b/indra/llcommon/llstat.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llstatenums.h b/indra/llcommon/llstatenums.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llstl.h b/indra/llcommon/llstl.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llstreamqueue.cpp b/indra/llcommon/llstreamqueue.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llstreamqueue.h b/indra/llcommon/llstreamqueue.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llstreamtools.cpp b/indra/llcommon/llstreamtools.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llstreamtools.h b/indra/llcommon/llstreamtools.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llstrider.h b/indra/llcommon/llstrider.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llstring.cpp b/indra/llcommon/llstring.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llstring.h b/indra/llcommon/llstring.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llstringtable.cpp b/indra/llcommon/llstringtable.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llstringtable.h b/indra/llcommon/llstringtable.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llsys.cpp b/indra/llcommon/llsys.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llsys.h b/indra/llcommon/llsys.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llthread.cpp b/indra/llcommon/llthread.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llthread.h b/indra/llcommon/llthread.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llthreadsafequeue.cpp b/indra/llcommon/llthreadsafequeue.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llthreadsafequeue.h b/indra/llcommon/llthreadsafequeue.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lltimer.cpp b/indra/llcommon/lltimer.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/lltimer.h b/indra/llcommon/lltimer.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lltreeiterators.h b/indra/llcommon/lltreeiterators.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lltypeinfolookup.h b/indra/llcommon/lltypeinfolookup.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lluri.cpp b/indra/llcommon/lluri.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/lluri.h b/indra/llcommon/lluri.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lluuid.cpp b/indra/llcommon/lluuid.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/lluuid.h b/indra/llcommon/lluuid.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lluuidhashmap.h b/indra/llcommon/lluuidhashmap.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llversionserver.h b/indra/llcommon/llversionserver.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llversionviewer.h b/indra/llcommon/llversionviewer.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llworkerthread.cpp b/indra/llcommon/llworkerthread.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llworkerthread.h b/indra/llcommon/llworkerthread.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/metaclass.cpp b/indra/llcommon/metaclass.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/metaclass.h b/indra/llcommon/metaclass.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/metaclasst.h b/indra/llcommon/metaclasst.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/metaproperty.cpp b/indra/llcommon/metaproperty.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/metaproperty.h b/indra/llcommon/metaproperty.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/metapropertyt.h b/indra/llcommon/metapropertyt.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/reflective.cpp b/indra/llcommon/reflective.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/reflective.h b/indra/llcommon/reflective.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/reflectivet.h b/indra/llcommon/reflectivet.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/roles_constants.h b/indra/llcommon/roles_constants.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/stdenums.h b/indra/llcommon/stdenums.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/stdtypes.h b/indra/llcommon/stdtypes.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/string_table.h b/indra/llcommon/string_table.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/stringize.h b/indra/llcommon/stringize.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/StringVec.h b/indra/llcommon/tests/StringVec.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/bitpack_test.cpp b/indra/llcommon/tests/bitpack_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/commonmisc_test.cpp b/indra/llcommon/tests/commonmisc_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/listener.h b/indra/llcommon/tests/listener.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/llallocator_heap_profile_test.cpp b/indra/llcommon/tests/llallocator_heap_profile_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/llallocator_test.cpp b/indra/llcommon/tests/llallocator_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/llbase64_test.cpp b/indra/llcommon/tests/llbase64_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/lldate_test.cpp b/indra/llcommon/tests/lldate_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/lldependencies_test.cpp b/indra/llcommon/tests/lldependencies_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/llerror_test.cpp b/indra/llcommon/tests/llerror_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/lleventcoro_test.cpp b/indra/llcommon/tests/lleventcoro_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/lleventdispatcher_test.cpp b/indra/llcommon/tests/lleventdispatcher_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/lleventfilter_test.cpp b/indra/llcommon/tests/lleventfilter_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/llframetimer_test.cpp b/indra/llcommon/tests/llframetimer_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/llinstancetracker_test.cpp b/indra/llcommon/tests/llinstancetracker_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/lllazy_test.cpp b/indra/llcommon/tests/lllazy_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/llleap_test.cpp b/indra/llcommon/tests/llleap_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/llmemtype_test.cpp b/indra/llcommon/tests/llmemtype_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/llprocess_test.cpp b/indra/llcommon/tests/llprocess_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/llprocessor_test.cpp b/indra/llcommon/tests/llprocessor_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/llrand_test.cpp b/indra/llcommon/tests/llrand_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/llsdserialize_test.cpp b/indra/llcommon/tests/llsdserialize_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/llsingleton_test.cpp b/indra/llcommon/tests/llsingleton_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/llstreamqueue_test.cpp b/indra/llcommon/tests/llstreamqueue_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/llstring_test.cpp b/indra/llcommon/tests/llstring_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/lltreeiterators_test.cpp b/indra/llcommon/tests/lltreeiterators_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/lluri_test.cpp b/indra/llcommon/tests/lluri_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/reflection_test.cpp b/indra/llcommon/tests/reflection_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/stringize_test.cpp b/indra/llcommon/tests/stringize_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/wrapllerrs.h b/indra/llcommon/tests/wrapllerrs.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/timer.h b/indra/llcommon/timer.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/timing.cpp b/indra/llcommon/timing.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/timing.h b/indra/llcommon/timing.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/u64.cpp b/indra/llcommon/u64.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/u64.h b/indra/llcommon/u64.h old mode 100644 new mode 100755 -- cgit v1.2.3 From 39ea211cd78711a06ceb3446f1e6c271a6f65236 Mon Sep 17 00:00:00 2001 From: Graham Madarasz Date: Fri, 29 Mar 2013 01:27:10 -0700 Subject: Viewer breakpad linux fixes --- indra/llcommon/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/llcommon') diff --git a/indra/llcommon/CMakeLists.txt b/indra/llcommon/CMakeLists.txt index 5cce8ff2c4..3e57280067 100755 --- a/indra/llcommon/CMakeLists.txt +++ b/indra/llcommon/CMakeLists.txt @@ -17,6 +17,7 @@ include_directories( ${EXPAT_INCLUDE_DIRS} ${LLCOMMON_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIRS} + ${BREAKPAD_INCLUDE_DIRECTORIES} ) # add_executable(lltreeiterators lltreeiterators.cpp) -- cgit v1.2.3 From fac6ee27f2d3277494f011271064b0e5e7e02554 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Fri, 12 Apr 2013 12:42:03 -0400 Subject: increment version to 3.5.2 --- indra/llcommon/llversionviewer.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/llcommon') diff --git a/indra/llcommon/llversionviewer.h b/indra/llcommon/llversionviewer.h index ae5e3ecade..0ea130e86b 100644 --- a/indra/llcommon/llversionviewer.h +++ b/indra/llcommon/llversionviewer.h @@ -29,7 +29,7 @@ const S32 LL_VERSION_MAJOR = 3; const S32 LL_VERSION_MINOR = 5; -const S32 LL_VERSION_PATCH = 1; +const S32 LL_VERSION_PATCH = 2; const S32 LL_VERSION_BUILD = 264760; const char * const LL_CHANNEL = "Second Life Developer"; -- cgit v1.2.3 From 06d7845a5a40e012ad1bc7cc4ec15e82c00e5da4 Mon Sep 17 00:00:00 2001 From: Nyx Linden Date: Mon, 22 Apr 2013 19:14:24 -0400 Subject: SUN-72 SH-4132 FIX viewer builds cannot write to paths containing special characters. Integrated Nicky Dasmijn's patch to handle the unicode file paths properly. Code reviewed, patch was clean. Tested locally, correctly allows wearables to load where they would fail before. Should be ready for automated build & QA. --- indra/llcommon/llfile.cpp | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) (limited to 'indra/llcommon') diff --git a/indra/llcommon/llfile.cpp b/indra/llcommon/llfile.cpp index bc615ed39e..864b6e6975 100644 --- a/indra/llcommon/llfile.cpp +++ b/indra/llcommon/llfile.cpp @@ -853,7 +853,8 @@ llifstream::llifstream(const std::string& _Filename, #if LL_WINDOWS std::istream(&_M_filebuf) { - if (_M_filebuf.open(_Filename.c_str(), _Mode | ios_base::in) == 0) + llutf16string wideName = utf8str_to_utf16str( _Filename ); + if (_M_filebuf.open(wideName.c_str(), _Mode | ios_base::in) == 0) { _Myios::setstate(ios_base::failbit); } @@ -872,7 +873,8 @@ llifstream::llifstream(const char* _Filename, #if LL_WINDOWS std::istream(&_M_filebuf) { - if (_M_filebuf.open(_Filename, _Mode | ios_base::in) == 0) + llutf16string wideName = utf8str_to_utf16str( _Filename ); + if (_M_filebuf.open(wideName.c_str(), _Mode | ios_base::in) == 0) { _Myios::setstate(ios_base::failbit); } @@ -917,8 +919,10 @@ bool llifstream::is_open() const void llifstream::open(const char* _Filename, ios_base::openmode _Mode) { // open a C stream with specified mode - if (_M_filebuf.open(_Filename, _Mode | ios_base::in) == 0) + #if LL_WINDOWS + llutf16string wideName = utf8str_to_utf16str( _Filename ); + if (_M_filebuf.open( wideName.c_str(), _Mode | ios_base::in) == 0) { _Myios::setstate(ios_base::failbit); } @@ -927,6 +931,7 @@ void llifstream::open(const char* _Filename, ios_base::openmode _Mode) _Myios::clear(); } #else + if (_M_filebuf.open(_Filename, _Mode | ios_base::in) == 0) { this->setstate(ios_base::failbit); } @@ -969,7 +974,8 @@ llofstream::llofstream(const std::string& _Filename, #if LL_WINDOWS std::ostream(&_M_filebuf) { - if (_M_filebuf.open(_Filename.c_str(), _Mode | ios_base::out) == 0) + llutf16string wideName = utf8str_to_utf16str( _Filename ); + if (_M_filebuf.open( wideName.c_str(), _Mode | ios_base::out) == 0) { _Myios::setstate(ios_base::failbit); } @@ -988,7 +994,8 @@ llofstream::llofstream(const char* _Filename, #if LL_WINDOWS std::ostream(&_M_filebuf) { - if (_M_filebuf.open(_Filename, _Mode | ios_base::out) == 0) + llutf16string wideName = utf8str_to_utf16str( _Filename ); + if (_M_filebuf.open( wideName.c_str(), _Mode | ios_base::out) == 0) { _Myios::setstate(ios_base::failbit); } @@ -1032,8 +1039,9 @@ bool llofstream::is_open() const void llofstream::open(const char* _Filename, ios_base::openmode _Mode) { // open a C stream with specified mode - if (_M_filebuf.open(_Filename, _Mode | ios_base::out) == 0) #if LL_WINDOWS + llutf16string wideName = utf8str_to_utf16str( _Filename ); + if (_M_filebuf.open( wideName.c_str(), _Mode | ios_base::out) == 0) { _Myios::setstate(ios_base::failbit); } @@ -1042,6 +1050,7 @@ void llofstream::open(const char* _Filename, ios_base::openmode _Mode) _Myios::clear(); } #else + if (_M_filebuf.open(_Filename, _Mode | ios_base::out) == 0) { this->setstate(ios_base::failbit); } -- cgit v1.2.3