aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/llcommon
diff options
context:
space:
mode:
authorJacek Antonelli2008-08-15 23:45:11 -0500
committerJacek Antonelli2008-08-15 23:45:11 -0500
commit215f423cbe18fe9ca14a26caef918d303bad28ff (patch)
tree0743442b286216cc8e19aa487c26f4e9345ffd64 /linden/indra/llcommon
parentSecond Life viewer sources 1.18.3.5-RC (diff)
downloadmeta-impy-215f423cbe18fe9ca14a26caef918d303bad28ff.zip
meta-impy-215f423cbe18fe9ca14a26caef918d303bad28ff.tar.gz
meta-impy-215f423cbe18fe9ca14a26caef918d303bad28ff.tar.bz2
meta-impy-215f423cbe18fe9ca14a26caef918d303bad28ff.tar.xz
Second Life viewer sources 1.18.4.0-RC
Diffstat (limited to '')
-rw-r--r--linden/indra/llcommon/bitpack.h3
-rw-r--r--linden/indra/llcommon/ctype_workaround.h5
-rw-r--r--linden/indra/llcommon/doublelinkedlist.h3
-rw-r--r--linden/indra/llcommon/files.lst1
-rw-r--r--linden/indra/llcommon/imageids.h3
-rw-r--r--linden/indra/llcommon/indra_constants.h3
-rw-r--r--linden/indra/llcommon/linden_common.h37
-rw-r--r--linden/indra/llcommon/linked_lists.h3
-rw-r--r--linden/indra/llcommon/llagentconstants.h3
-rw-r--r--linden/indra/llcommon/llapp.cpp3
-rw-r--r--linden/indra/llcommon/llapp.h3
-rw-r--r--linden/indra/llcommon/llapr.cpp5
-rw-r--r--linden/indra/llcommon/llapr.h4
-rw-r--r--linden/indra/llcommon/llares.cpp776
-rw-r--r--linden/indra/llcommon/llares.h572
-rw-r--r--linden/indra/llcommon/llassettype.cpp5
-rw-r--r--linden/indra/llcommon/llassettype.h3
-rw-r--r--linden/indra/llcommon/llassoclist.h3
-rw-r--r--linden/indra/llcommon/llavatarconstants.h3
-rw-r--r--linden/indra/llcommon/llbase32.cpp5
-rw-r--r--linden/indra/llcommon/llbase32.h5
-rw-r--r--linden/indra/llcommon/llbase64.cpp5
-rw-r--r--linden/indra/llcommon/llbase64.h5
-rw-r--r--linden/indra/llcommon/llboost.h3
-rw-r--r--linden/indra/llcommon/llchat.h3
-rw-r--r--linden/indra/llcommon/llclickaction.h3
-rw-r--r--linden/indra/llcommon/llcommon.cpp3
-rw-r--r--linden/indra/llcommon/llcommon.h3
-rw-r--r--linden/indra/llcommon/llcommon.vcproj3
-rw-r--r--linden/indra/llcommon/llcommon_vc8.vcproj8
-rw-r--r--linden/indra/llcommon/llcriticaldamp.cpp4
-rw-r--r--linden/indra/llcommon/llcriticaldamp.h3
-rw-r--r--linden/indra/llcommon/lldarray.h3
-rw-r--r--linden/indra/llcommon/lldarrayptr.h3
-rw-r--r--linden/indra/llcommon/lldate.cpp7
-rw-r--r--linden/indra/llcommon/lldate.h3
-rw-r--r--linden/indra/llcommon/lldefs.h3
-rw-r--r--linden/indra/llcommon/lldepthstack.h3
-rw-r--r--linden/indra/llcommon/lldlinked.h5
-rw-r--r--linden/indra/llcommon/lldqueueptr.h3
-rw-r--r--linden/indra/llcommon/llendianswizzle.h3
-rw-r--r--linden/indra/llcommon/llenum.h3
-rw-r--r--linden/indra/llcommon/llerror.cpp31
-rw-r--r--linden/indra/llcommon/llerror.h3
-rw-r--r--linden/indra/llcommon/llerrorcontrol.h5
-rw-r--r--linden/indra/llcommon/llerrorlegacy.h5
-rw-r--r--linden/indra/llcommon/llerrorthread.cpp3
-rw-r--r--linden/indra/llcommon/llerrorthread.h3
-rw-r--r--linden/indra/llcommon/llevent.cpp3
-rw-r--r--linden/indra/llcommon/llevent.h3
-rw-r--r--linden/indra/llcommon/lleventemitter.h3
-rw-r--r--linden/indra/llcommon/llextendedstatus.h5
-rw-r--r--linden/indra/llcommon/llfasttimer.cpp14
-rw-r--r--linden/indra/llcommon/llfasttimer.h5
-rw-r--r--linden/indra/llcommon/llfile.cpp3
-rw-r--r--linden/indra/llcommon/llfile.h10
-rw-r--r--linden/indra/llcommon/llfixedbuffer.cpp3
-rw-r--r--linden/indra/llcommon/llfixedbuffer.h3
-rw-r--r--linden/indra/llcommon/llformat.cpp7
-rw-r--r--linden/indra/llcommon/llformat.h7
-rw-r--r--linden/indra/llcommon/llframetimer.cpp3
-rw-r--r--linden/indra/llcommon/llframetimer.h3
-rw-r--r--linden/indra/llcommon/llhash.h3
-rw-r--r--linden/indra/llcommon/llindexedqueue.h3
-rw-r--r--linden/indra/llcommon/lllinkedqueue.h3
-rw-r--r--linden/indra/llcommon/llliveappconfig.cpp3
-rw-r--r--linden/indra/llcommon/llliveappconfig.h3
-rw-r--r--linden/indra/llcommon/lllivefile.cpp3
-rw-r--r--linden/indra/llcommon/lllivefile.h3
-rw-r--r--linden/indra/llcommon/lllocalidhashmap.h3
-rw-r--r--linden/indra/llcommon/lllslconstants.h3
-rw-r--r--linden/indra/llcommon/llmap.h7
-rw-r--r--linden/indra/llcommon/llmemory.cpp146
-rw-r--r--linden/indra/llcommon/llmemory.h8
-rw-r--r--linden/indra/llcommon/llmemorystream.cpp3
-rw-r--r--linden/indra/llcommon/llmemorystream.h3
-rw-r--r--linden/indra/llcommon/llmemtype.h3
-rw-r--r--linden/indra/llcommon/llmetrics.cpp5
-rw-r--r--linden/indra/llcommon/llmetrics.h5
-rw-r--r--linden/indra/llcommon/llmortician.cpp3
-rw-r--r--linden/indra/llcommon/llmortician.h3
-rw-r--r--linden/indra/llcommon/llnametable.h3
-rw-r--r--linden/indra/llcommon/llpreprocessor.h3
-rw-r--r--linden/indra/llcommon/llpriqueuemap.h3
-rw-r--r--linden/indra/llcommon/llprocessor.cpp7
-rw-r--r--linden/indra/llcommon/llprocessor.h3
-rw-r--r--linden/indra/llcommon/llptrskiplist.h3
-rw-r--r--linden/indra/llcommon/llptrskipmap.h3
-rw-r--r--linden/indra/llcommon/llqueuedthread.cpp3
-rw-r--r--linden/indra/llcommon/llqueuedthread.h3
-rw-r--r--linden/indra/llcommon/llrun.cpp3
-rw-r--r--linden/indra/llcommon/llrun.h3
-rw-r--r--linden/indra/llcommon/llsd.cpp6
-rw-r--r--linden/indra/llcommon/llsd.h3
-rw-r--r--linden/indra/llcommon/llsdserialize.cpp3
-rw-r--r--linden/indra/llcommon/llsdserialize.h3
-rw-r--r--linden/indra/llcommon/llsdserialize_xml.cpp3
-rw-r--r--linden/indra/llcommon/llsdserialize_xml.h3
-rw-r--r--linden/indra/llcommon/llsdutil.cpp3
-rw-r--r--linden/indra/llcommon/llsdutil.h3
-rw-r--r--linden/indra/llcommon/llsecondlifeurls.cpp3
-rw-r--r--linden/indra/llcommon/llsecondlifeurls.h3
-rw-r--r--linden/indra/llcommon/llsimplehash.h3
-rw-r--r--linden/indra/llcommon/llskiplist.h3
-rw-r--r--linden/indra/llcommon/llskipmap.h3
-rw-r--r--linden/indra/llcommon/llstack.h3
-rw-r--r--linden/indra/llcommon/llstat.cpp3
-rw-r--r--linden/indra/llcommon/llstat.h3
-rw-r--r--linden/indra/llcommon/llstatenums.h3
-rw-r--r--linden/indra/llcommon/llstl.h9
-rw-r--r--linden/indra/llcommon/llstreamtools.cpp3
-rw-r--r--linden/indra/llcommon/llstreamtools.h3
-rw-r--r--linden/indra/llcommon/llstrider.h3
-rw-r--r--linden/indra/llcommon/llstring.cpp23
-rw-r--r--linden/indra/llcommon/llstring.h90
-rw-r--r--linden/indra/llcommon/llstringtable.cpp3
-rw-r--r--linden/indra/llcommon/llstringtable.h3
-rw-r--r--linden/indra/llcommon/llsys.cpp5
-rw-r--r--linden/indra/llcommon/llsys.h3
-rw-r--r--linden/indra/llcommon/llthread.cpp5
-rw-r--r--linden/indra/llcommon/llthread.h3
-rw-r--r--linden/indra/llcommon/lltimer.cpp6
-rw-r--r--linden/indra/llcommon/lltimer.h8
-rw-r--r--linden/indra/llcommon/lluri.cpp3
-rw-r--r--linden/indra/llcommon/lluri.h3
-rw-r--r--linden/indra/llcommon/lluuidhashmap.h3
-rw-r--r--linden/indra/llcommon/llversionserver.h5
-rw-r--r--linden/indra/llcommon/llversionviewer.h7
-rw-r--r--linden/indra/llcommon/llworkerthread.cpp3
-rw-r--r--linden/indra/llcommon/llworkerthread.h3
-rw-r--r--linden/indra/llcommon/metaclass.cpp3
-rw-r--r--linden/indra/llcommon/metaclass.h3
-rw-r--r--linden/indra/llcommon/metaclasst.h3
-rw-r--r--linden/indra/llcommon/metaproperty.cpp3
-rw-r--r--linden/indra/llcommon/metaproperty.h3
-rw-r--r--linden/indra/llcommon/metapropertyt.h3
-rw-r--r--linden/indra/llcommon/processor.h3
-rw-r--r--linden/indra/llcommon/reflective.cpp3
-rw-r--r--linden/indra/llcommon/reflective.h3
-rw-r--r--linden/indra/llcommon/reflectivet.h3
-rw-r--r--linden/indra/llcommon/roles_constants.h3
-rw-r--r--linden/indra/llcommon/stdenums.h3
-rw-r--r--linden/indra/llcommon/stdtypes.h6
-rw-r--r--linden/indra/llcommon/string_table.h3
-rw-r--r--linden/indra/llcommon/timer.h3
-rw-r--r--linden/indra/llcommon/timing.cpp3
-rw-r--r--linden/indra/llcommon/timing.h6
-rw-r--r--linden/indra/llcommon/u64.cpp3
-rw-r--r--linden/indra/llcommon/u64.h3
149 files changed, 2048 insertions, 162 deletions
diff --git a/linden/indra/llcommon/bitpack.h b/linden/indra/llcommon/bitpack.h
index 89af101..1a382ff 100644
--- a/linden/indra/llcommon/bitpack.h
+++ b/linden/indra/llcommon/bitpack.h
@@ -2,6 +2,8 @@
2 * @file bitpack.h 2 * @file bitpack.h
3 * @brief Convert data to packed bit stream 3 * @brief Convert data to packed bit stream
4 * 4 *
5 * $LicenseInfo:firstyear=2000&license=viewergpl$
6 *
5 * Copyright (c) 2000-2007, Linden Research, Inc. 7 * Copyright (c) 2000-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_BITPACK_H 32#ifndef LL_BITPACK_H
diff --git a/linden/indra/llcommon/ctype_workaround.h b/linden/indra/llcommon/ctype_workaround.h
index 20dd6c6..7c730d9 100644
--- a/linden/indra/llcommon/ctype_workaround.h
+++ b/linden/indra/llcommon/ctype_workaround.h
@@ -3,6 +3,8 @@
3 * @brief The workaround is to create some legacy symbols that point 3 * @brief The workaround is to create some legacy symbols that point
4 * to the correct symbols, which avoids link errors. 4 * to the correct symbols, which avoids link errors.
5 * 5 *
6 * $LicenseInfo:firstyear=2006&license=viewergpl$
7 *
6 * Copyright (c) 2006-2007, Linden Research, Inc. 8 * Copyright (c) 2006-2007, Linden Research, Inc.
7 * 9 *
8 * Second Life Viewer Source Code 10 * Second Life Viewer Source Code
@@ -25,6 +27,7 @@
25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 27 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 28 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
27 * COMPLETENESS OR PERFORMANCE. 29 * COMPLETENESS OR PERFORMANCE.
30 * $/LicenseInfo$
28 */ 31 */
29 32
30#ifndef _CTYPE_WORKAROUND_H_ 33#ifndef _CTYPE_WORKAROUND_H_
@@ -38,7 +41,7 @@
38 * -- Leviathan 20060113 41 * -- Leviathan 20060113
39*/ 42*/
40 43
41#include <ctype.h> 44#include <cctype>
42 45
43__const unsigned short int *__ctype_b; 46__const unsigned short int *__ctype_b;
44__const __int32_t *__ctype_tolower; 47__const __int32_t *__ctype_tolower;
diff --git a/linden/indra/llcommon/doublelinkedlist.h b/linden/indra/llcommon/doublelinkedlist.h
index 81891b3..11cfb48 100644
--- a/linden/indra/llcommon/doublelinkedlist.h
+++ b/linden/indra/llcommon/doublelinkedlist.h
@@ -2,6 +2,8 @@
2 * @file doublelinkedlist.h 2 * @file doublelinkedlist.h
3 * @brief Provides a standard doubly linked list for fun and profit. 3 * @brief Provides a standard doubly linked list for fun and profit.
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_DOUBLELINKEDLIST_H 32#ifndef LL_DOUBLELINKEDLIST_H
diff --git a/linden/indra/llcommon/files.lst b/linden/indra/llcommon/files.lst
index 0474cbb..f7bf5e3 100644
--- a/linden/indra/llcommon/files.lst
+++ b/linden/indra/llcommon/files.lst
@@ -1,5 +1,6 @@
1llcommon/llapp.cpp 1llcommon/llapp.cpp
2llcommon/llapr.cpp 2llcommon/llapr.cpp
3llcommon/llares.cpp
3llcommon/llassettype.cpp 4llcommon/llassettype.cpp
4llcommon/llbase32.cpp 5llcommon/llbase32.cpp
5llcommon/llbase64.cpp 6llcommon/llbase64.cpp
diff --git a/linden/indra/llcommon/imageids.h b/linden/indra/llcommon/imageids.h
index 5c6ff08..cc7c70e 100644
--- a/linden/indra/llcommon/imageids.h
+++ b/linden/indra/llcommon/imageids.h
@@ -2,6 +2,8 @@
2 * @file imageids.h 2 * @file imageids.h
3 * @brief Temporary holder for image IDs 3 * @brief Temporary holder for image IDs
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_IMAGEIDS_H 32#ifndef LL_IMAGEIDS_H
diff --git a/linden/indra/llcommon/indra_constants.h b/linden/indra/llcommon/indra_constants.h
index bd591c5..b7d3578 100644
--- a/linden/indra/llcommon/indra_constants.h
+++ b/linden/indra/llcommon/indra_constants.h
@@ -2,6 +2,8 @@
2 * @file indra_constants.h 2 * @file indra_constants.h
3 * @brief some useful short term constants for Indra 3 * @brief some useful short term constants for Indra
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_INDRA_CONSTANTS_H 32#ifndef LL_INDRA_CONSTANTS_H
diff --git a/linden/indra/llcommon/linden_common.h b/linden/indra/llcommon/linden_common.h
index 24a346c..39ee014 100644
--- a/linden/indra/llcommon/linden_common.h
+++ b/linden/indra/llcommon/linden_common.h
@@ -2,6 +2,8 @@
2 * @file linden_common.h 2 * @file linden_common.h
3 * @brief Includes common headers that are always safe to include 3 * @brief Includes common headers that are always safe to include
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LINDEN_COMMON_H 32#ifndef LL_LINDEN_COMMON_H
@@ -31,34 +34,42 @@
31 34
32#include "llpreprocessor.h" 35#include "llpreprocessor.h"
33 36
34#include <string.h> 37#include <cstring>
35#include <math.h> 38#include <cfloat>
36#include <stdio.h> 39#include <climits>
37#include <stdlib.h> 40#include <cmath>
41#include <cstdarg>
42#include <cstdio>
43#include <cstdlib>
44#include <ctime>
45#include <iostream>
46#include <fstream>
38 47
39// Work around stupid Microsoft STL warning 48// Work around stupid Microsoft STL warning
40#ifdef LL_WINDOWS 49#ifdef LL_WINDOWS
41#pragma warning (disable : 4702) // warning C4702: unreachable code 50#pragma warning (disable : 4702) // warning C4702: unreachable code
42#endif // LL_WINDOWS 51#endif // LL_WINDOWS
43 52
44#include <iostream> 53#include <algorithm>
45#include <fstream> 54#include <list>
55#include <map>
46#include <vector> 56#include <vector>
47#include <string> 57#include <string>
48#include "llfile.h"
49 58
59#ifdef LL_WINDOWS
60#pragma warning (3 : 4702) // we like level 3, not 4
61#endif // LL_WINDOWS
62
63// Linden only libs in alpha-order other than stdtypes.h
50#include "stdtypes.h" 64#include "stdtypes.h"
51#include "lldefs.h" 65#include "lldefs.h"
52#include "llerror.h" 66#include "llerror.h"
53#include "llextendedstatus.h" 67#include "llextendedstatus.h"
68#include "llfasttimer.h"
69#include "llfile.h"
54#include "llformat.h" 70#include "llformat.h"
55#include "llstring.h" 71#include "llstring.h"
56#include "lltimer.h"
57#include "llfasttimer.h"
58#include "llsys.h" 72#include "llsys.h"
59 73#include "lltimer.h"
60#ifdef LL_WINDOWS
61#pragma warning (3 : 4702) // we like level 3, not 4
62#endif // LL_WINDOWS
63 74
64#endif 75#endif
diff --git a/linden/indra/llcommon/linked_lists.h b/linden/indra/llcommon/linked_lists.h
index ab4a622..0162a07 100644
--- a/linden/indra/llcommon/linked_lists.h
+++ b/linden/indra/llcommon/linked_lists.h
@@ -2,6 +2,8 @@
2 * @file linked_lists.h 2 * @file linked_lists.h
3 * @brief LLLinkedList class header amd implementation file. 3 * @brief LLLinkedList class header amd implementation file.
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LINKED_LISTS_H 32#ifndef LL_LINKED_LISTS_H
diff --git a/linden/indra/llcommon/llagentconstants.h b/linden/indra/llcommon/llagentconstants.h
index 0e0fdb0..2989d6d 100644
--- a/linden/indra/llcommon/llagentconstants.h
+++ b/linden/indra/llcommon/llagentconstants.h
@@ -3,6 +3,8 @@
3 * @author James Cook, Andrew Meadows, Richard Nelson 3 * @author James Cook, Andrew Meadows, Richard Nelson
4 * @brief Shared constants through the system for agents. 4 * @brief Shared constants through the system for agents.
5 * 5 *
6 * $LicenseInfo:firstyear=2006&license=viewergpl$
7 *
6 * Copyright (c) 2006-2007, Linden Research, Inc. 8 * Copyright (c) 2006-2007, Linden Research, Inc.
7 * 9 *
8 * Second Life Viewer Source Code 10 * Second Life Viewer Source Code
@@ -25,6 +27,7 @@
25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 27 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 28 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
27 * COMPLETENESS OR PERFORMANCE. 29 * COMPLETENESS OR PERFORMANCE.
30 * $/LicenseInfo$
28 */ 31 */
29 32
30#ifndef LL_LLAGENTCONSTANTS_H 33#ifndef LL_LLAGENTCONSTANTS_H
diff --git a/linden/indra/llcommon/llapp.cpp b/linden/indra/llcommon/llapp.cpp
index 5edcb3c..b0751b8 100644
--- a/linden/indra/llcommon/llapp.cpp
+++ b/linden/indra/llcommon/llapp.cpp
@@ -2,6 +2,8 @@
2 * @file llapp.cpp 2 * @file llapp.cpp
3 * @brief Implementation of the LLApp class. 3 * @brief Implementation of the LLApp class.
4 * 4 *
5 * $LicenseInfo:firstyear=2003&license=viewergpl$
6 *
5 * Copyright (c) 2003-2007, Linden Research, Inc. 7 * Copyright (c) 2003-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#include "linden_common.h" 32#include "linden_common.h"
diff --git a/linden/indra/llcommon/llapp.h b/linden/indra/llcommon/llapp.h
index 599bd48..d64af62 100644
--- a/linden/indra/llcommon/llapp.h
+++ b/linden/indra/llcommon/llapp.h
@@ -2,6 +2,8 @@
2 * @file llapp.h 2 * @file llapp.h
3 * @brief Declaration of the LLApp class. 3 * @brief Declaration of the LLApp class.
4 * 4 *
5 * $LicenseInfo:firstyear=2003&license=viewergpl$
6 *
5 * Copyright (c) 2003-2007, Linden Research, Inc. 7 * Copyright (c) 2003-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLAPP_H 32#ifndef LL_LLAPP_H
diff --git a/linden/indra/llcommon/llapr.cpp b/linden/indra/llcommon/llapr.cpp
index ee63497..be3a52d 100644
--- a/linden/indra/llcommon/llapr.cpp
+++ b/linden/indra/llcommon/llapr.cpp
@@ -4,6 +4,8 @@
4 * @date 2004-11-28 4 * @date 2004-11-28
5 * @brief Helper functions for using the apache portable runtime library. 5 * @brief Helper functions for using the apache portable runtime library.
6 * 6 *
7 * $LicenseInfo:firstyear=2004&license=viewergpl$
8 *
7 * Copyright (c) 2004-2007, Linden Research, Inc. 9 * Copyright (c) 2004-2007, Linden Research, Inc.
8 * 10 *
9 * Second Life Viewer Source Code 11 * Second Life Viewer Source Code
@@ -26,6 +28,7 @@
26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 28 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 29 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
28 * COMPLETENESS OR PERFORMANCE. 30 * COMPLETENESS OR PERFORMANCE.
31 * $/LicenseInfo$
29 */ 32 */
30 33
31#include "linden_common.h" 34#include "linden_common.h"
@@ -44,7 +47,7 @@ void ll_init_apr()
44 apr_pool_create(&gAPRPoolp, NULL); 47 apr_pool_create(&gAPRPoolp, NULL);
45 48
46 // Initialize the logging mutex 49 // Initialize the logging mutex
47 apr_thread_mutex_create(&gLogMutexp, APR_THREAD_MUTEX_DEFAULT, gAPRPoolp); 50 apr_thread_mutex_create(&gLogMutexp, APR_THREAD_MUTEX_UNNESTED, gAPRPoolp);
48 } 51 }
49} 52}
50 53
diff --git a/linden/indra/llcommon/llapr.h b/linden/indra/llcommon/llapr.h
index 6edfc18..b6c3638 100644
--- a/linden/indra/llcommon/llapr.h
+++ b/linden/indra/llcommon/llapr.h
@@ -4,6 +4,8 @@
4 * @date 2004-11-28 4 * @date 2004-11-28
5 * @brief Helper functions for using the apache portable runtime library. 5 * @brief Helper functions for using the apache portable runtime library.
6 * 6 *
7 * $LicenseInfo:firstyear=2004&license=viewergpl$
8 *
7 * Copyright (c) 2004-2007, Linden Research, Inc. 9 * Copyright (c) 2004-2007, Linden Research, Inc.
8 * 10 *
9 * Second Life Viewer Source Code 11 * Second Life Viewer Source Code
@@ -26,6 +28,7 @@
26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 28 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 29 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
28 * COMPLETENESS OR PERFORMANCE. 30 * COMPLETENESS OR PERFORMANCE.
31 * $/LicenseInfo$
29 */ 32 */
30 33
31#ifndef LL_LLAPR_H 34#ifndef LL_LLAPR_H
@@ -44,6 +47,7 @@
44#include "apr-1/apr_atomic.h" 47#include "apr-1/apr_atomic.h"
45#include "llstring.h" 48#include "llstring.h"
46 49
50extern apr_thread_mutex_t* gLogMutexp;
47 51
48/** 52/**
49 * @brief initialize the common apr constructs -- apr itself, the 53 * @brief initialize the common apr constructs -- apr itself, the
diff --git a/linden/indra/llcommon/llares.cpp b/linden/indra/llcommon/llares.cpp
new file mode 100644
index 0000000..3118830
--- /dev/null
+++ b/linden/indra/llcommon/llares.cpp
@@ -0,0 +1,776 @@
1/**
2 * @file llares.cpp
3 * @author Bryan O'Sullivan
4 * @date 2007-08-15
5 * @brief Wrapper for asynchronous DNS lookups.
6 *
7 * $LicenseInfo:firstyear=2007&license=viewergpl$
8 *
9 * Copyright (c) 2007, Linden Research, Inc.
10 *
11 * Second Life Viewer Source Code
12 * The source code in this file ("Source Code") is provided by Linden Lab
13 * to you under the terms of the GNU General Public License, version 2.0
14 * ("GPL"), unless you have obtained a separate licensing agreement
15 * ("Other License"), formally executed by you and Linden Lab. Terms of
16 * the GPL can be found in doc/GPL-license.txt in this distribution, or
17 * online at http://secondlife.com/developers/opensource/gplv2
18 *
19 * There are special exceptions to the terms and conditions of the GPL as
20 * it is applied to this Source Code. View the full text of the exception
21 * in the file doc/FLOSS-exception.txt in this software distribution, or
22 * online at http://secondlife.com/developers/opensource/flossexception
23 *
24 * By copying, modifying or distributing this software, you acknowledge
25 * that you have read and understood your obligations described above,
26 * and agree to abide by those obligations.
27 *
28 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
29 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
30 * COMPLETENESS OR PERFORMANCE.
31 * $/LicenseInfo$
32 */
33
34#ifdef LL_STANDALONE
35# include <ares_dns.h>
36#else
37# include <ares/ares_dns.h>
38#endif
39
40#include "apr-1/apr_portable.h"
41#include "apr-1/apr_network_io.h"
42#include "apr-1/apr_poll.h"
43
44#include "linden_common.h"
45#include "llapr.h"
46#include "llares.h"
47
48#if defined(LL_WINDOWS)
49# define ns_c_in 1
50# define NS_HFIXEDSZ 12 /* #/bytes of fixed data in header */
51# define NS_QFIXEDSZ 4 /* #/bytes of fixed data in query */
52# define NS_RRFIXEDSZ 10 /* #/bytes of fixed data in r record */
53#else
54# include <arpa/nameser.h>
55#endif
56
57LLAres::HostResponder::~HostResponder()
58{
59}
60
61void LLAres::HostResponder::hostResult(const hostent *ent)
62{
63 llinfos << "LLAres::HostResponder::hostResult not implemented" << llendl;
64}
65
66void LLAres::HostResponder::hostError(int code)
67{
68 llinfos << "LLAres::HostResponder::hostError " << code << ": "
69 << LLAres::strerror(code) << llendl;
70}
71
72LLAres::NameInfoResponder::~NameInfoResponder()
73{
74}
75
76void LLAres::NameInfoResponder::nameInfoResult(const char *node,
77 const char *service)
78{
79 llinfos << "LLAres::NameInfoResponder::nameInfoResult not implemented"
80 << llendl;
81}
82
83void LLAres::NameInfoResponder::nameInfoError(int code)
84{
85 llinfos << "LLAres::NameInfoResponder::nameInfoError " << code << ": "
86 << LLAres::strerror(code) << llendl;
87}
88
89LLAres::QueryResponder::~QueryResponder()
90{
91}
92
93void LLAres::QueryResponder::queryResult(const char *buf, size_t len)
94{
95 llinfos << "LLAres::QueryResponder::queryResult not implemented"
96 << llendl;
97}
98
99void LLAres::QueryResponder::queryError(int code)
100{
101 llinfos << "LLAres::QueryResponder::queryError " << code << ": "
102 << LLAres::strerror(code) << llendl;
103}
104
105LLAres::LLAres()
106{
107 ares_init(&chan_);
108}
109
110LLAres::~LLAres()
111{
112 ares_destroy(chan_);
113}
114
115void LLAres::cancel()
116{
117 ares_cancel(chan_);
118}
119
120static void host_callback(void *arg, int status, struct hostent *ent)
121{
122 LLPointer<LLAres::HostResponder> *resp =
123 (LLPointer<LLAres::HostResponder> *) arg;
124
125 if (status == ARES_SUCCESS)
126 {
127 (*resp)->hostResult(ent);
128 } else {
129 (*resp)->hostError(status);
130 }
131
132 delete resp;
133}
134
135void LLAres::getHostByName(const char *name, HostResponder *resp,
136 int family)
137{
138 ares_gethostbyname(chan_, name, family, host_callback,
139 new LLPointer<LLAres::HostResponder>(resp));
140}
141
142void LLAres::getSrvRecords(const std::string &name, SrvResponder *resp)
143{
144 search(name, RES_SRV, resp);
145}
146
147void LLAres::rewriteURI(const std::string &uri, UriRewriteResponder *resp)
148{
149 llinfos << "Rewriting " << uri << llendl;
150
151 resp->mUri = LLURI(uri);
152 search("_" + resp->mUri.scheme() + "._tcp." + resp->mUri.hostName(),
153 RES_SRV, resp);
154}
155
156LLQueryResponder::LLQueryResponder()
157 : LLAres::QueryResponder(),
158 mResult(ARES_ENODATA)
159{
160}
161
162int LLQueryResponder::parseRR(const char *buf, size_t len, const char *&pos,
163 LLPointer<LLDnsRecord> &r)
164{
165 std::string rrname;
166 size_t enclen;
167 int ret;
168
169 // RR name.
170
171 ret = LLAres::expandName(pos, buf, len, rrname, enclen);
172 if (ret != ARES_SUCCESS)
173 {
174 return ret;
175 }
176
177 pos += enclen;
178
179 if (pos + NS_RRFIXEDSZ > buf + len)
180 {
181 return ARES_EBADRESP;
182 }
183
184 int rrtype = DNS_RR_TYPE(pos);
185 int rrclass = DNS_RR_CLASS(pos);
186 int rrttl = DNS_RR_TTL(pos);
187 int rrlen = DNS_RR_LEN(pos);
188
189 if (rrclass != ns_c_in)
190 {
191 return ARES_EBADRESP;
192 }
193
194 pos += NS_RRFIXEDSZ;
195
196 if (pos + rrlen > buf + len)
197 {
198 return ARES_EBADRESP;
199 }
200
201 switch (rrtype)
202 {
203 case RES_A:
204 r = new LLARecord(rrname, rrttl);
205 break;
206 case RES_NS:
207 r = new LLNsRecord(rrname, rrttl);
208 break;
209 case RES_CNAME:
210 r = new LLCnameRecord(rrname, rrttl);
211 break;
212 case RES_PTR:
213 r = new LLPtrRecord(rrname, rrttl);
214 break;
215 case RES_AAAA:
216 r = new LLAaaaRecord(rrname, rrttl);
217 break;
218 case RES_SRV:
219 r = new LLSrvRecord(rrname, rrttl);
220 break;
221 default:
222 llinfos << "LLQueryResponder::parseRR got unknown RR type " << rrtype
223 << llendl;
224 return ARES_EBADRESP;
225 }
226
227 ret = r->parse(buf, len, pos, rrlen);
228
229 if (ret == ARES_SUCCESS)
230 {
231 pos += rrlen;
232 } else {
233 r = NULL;
234 }
235
236 return ret;
237}
238
239int LLQueryResponder::parseSection(const char *buf, size_t len,
240 size_t count, const char *&pos,
241 dns_rrs_t &rrs)
242{
243 int ret = ARES_SUCCESS;
244
245 for (size_t i = 0; i < count; i++)
246 {
247 LLPointer<LLDnsRecord> r;
248 ret = parseRR(buf, len, pos, r);
249 if (ret != ARES_SUCCESS)
250 {
251 break;
252 }
253 rrs.push_back(r);
254 }
255
256 return ret;
257}
258
259void LLQueryResponder::queryResult(const char *buf, size_t len)
260{
261 const char *pos = buf;
262 int qdcount = DNS_HEADER_QDCOUNT(pos);
263 int ancount = DNS_HEADER_ANCOUNT(pos);
264 int nscount = DNS_HEADER_NSCOUNT(pos);
265 int arcount = DNS_HEADER_ARCOUNT(pos);
266 int ret;
267
268 if (qdcount == 0 || ancount + nscount + arcount == 0)
269 {
270 ret = ARES_ENODATA;
271 goto bail;
272 }
273
274 pos += NS_HFIXEDSZ;
275
276 for (int i = 0; i < qdcount; i++)
277 {
278 std::string ignore;
279 size_t enclen;
280
281 ret = LLAres::expandName(pos, buf, len, i == 0 ? mQuery : ignore,
282 enclen);
283 if (ret != ARES_SUCCESS)
284 {
285 goto bail;
286 }
287
288 pos += enclen;
289
290 if (i == 0)
291 {
292 int t = DNS_QUESTION_TYPE(pos);
293 switch (t)
294 {
295 case RES_A:
296 case RES_NS:
297 case RES_CNAME:
298 case RES_PTR:
299 case RES_AAAA:
300 case RES_SRV:
301 mType = (LLResType) t;
302 break;
303 default:
304 llinfos << "Cannot grok query type " << t << llendl;
305 ret = ARES_EBADQUERY;
306 goto bail;
307 }
308 }
309
310 pos += NS_QFIXEDSZ;
311 if (pos > buf + len)
312 {
313 ret = ARES_EBADRESP;
314 goto bail;
315 }
316 }
317
318 ret = parseSection(buf, len, ancount, pos, mAnswers);
319 if (ret != ARES_SUCCESS)
320 {
321 goto bail;
322 }
323
324 ret = parseSection(buf, len, nscount, pos, mAuthorities);
325 if (ret != ARES_SUCCESS)
326 {
327 goto bail;
328 }
329
330 ret = parseSection(buf, len, arcount, pos, mAdditional);
331
332bail:
333 mResult = ret;
334 if (mResult == ARES_SUCCESS)
335 {
336 queryResult();
337 } else {
338 queryError(mResult);
339 }
340}
341
342void LLQueryResponder::queryResult()
343{
344 llinfos << "LLQueryResponder::queryResult not implemented" << llendl;
345}
346
347void LLAres::SrvResponder::queryResult()
348{
349 if (mType == RES_SRV)
350 {
351 srvResult(mAnswers);
352 } else {
353 srvError(ARES_EBADRESP);
354 }
355}
356
357void LLAres::SrvResponder::queryError(int code)
358{
359 srvError(code);
360}
361
362void LLAres::SrvResponder::srvResult(const dns_rrs_t &ents)
363{
364 llinfos << "LLAres::SrvResponder::srvResult not implemented" << llendl;
365
366 for (size_t i = 0; i < ents.size(); i++)
367 {
368 const LLSrvRecord *s = (const LLSrvRecord *) ents[i].get();
369
370 llinfos << "[" << i << "] " << s->host() << ":" << s->port()
371 << " priority " << s->priority()
372 << " weight " << s->weight()
373 << llendl;
374 }
375}
376
377void LLAres::SrvResponder::srvError(int code)
378{
379 llinfos << "LLAres::SrvResponder::srvError " << code << ": "
380 << LLAres::strerror(code) << llendl;
381}
382
383static void nameinfo_callback(void *arg, int status, char *node, char *service)
384{
385 LLPointer<LLAres::NameInfoResponder> *resp =
386 (LLPointer<LLAres::NameInfoResponder> *) arg;
387
388 if (status == ARES_SUCCESS)
389 {
390 (*resp)->nameInfoResult(node, service);
391 } else {
392 (*resp)->nameInfoError(status);
393 }
394
395 delete resp;
396}
397
398void LLAres::getNameInfo(const struct sockaddr &sa, socklen_t salen, int flags,
399 NameInfoResponder *resp)
400{
401 ares_getnameinfo(chan_, &sa, salen, flags, nameinfo_callback,
402 new LLPointer<NameInfoResponder>(resp));
403}
404
405static void search_callback(void *arg, int status, unsigned char *abuf,
406 int alen)
407{
408 LLPointer<LLAres::QueryResponder> *resp =
409 (LLPointer<LLAres::QueryResponder> *) arg;
410
411 if (status == ARES_SUCCESS)
412 {
413 (*resp)->queryResult((const char *) abuf, alen);
414 } else {
415 (*resp)->queryError(status);
416 }
417
418 delete resp;
419}
420
421void LLAres::search(const std::string &query, LLResType type,
422 QueryResponder *resp)
423{
424 ares_search(chan_, query.c_str(), ns_c_in, type, search_callback,
425 new LLPointer<QueryResponder>(resp));
426}
427
428bool LLAres::process(U64 timeout)
429{
430 if (!gAPRPoolp)
431 {
432 ll_init_apr();
433 }
434
435 int socks[ARES_GETSOCK_MAXNUM];
436 apr_pollfd_t aprFds[ARES_GETSOCK_MAXNUM];
437 apr_int32_t nsds = 0;
438 apr_status_t status;
439 apr_pool_t *pool;
440 int nactive = 0;
441 int bitmask;
442
443 bitmask = ares_getsock(chan_, socks, ARES_GETSOCK_MAXNUM);
444
445 if (bitmask == 0)
446 {
447 goto bail;
448 }
449
450 status = apr_pool_create(&pool, gAPRPoolp);
451 ll_apr_assert_status(status);
452
453 for (int i = 0; i < ARES_GETSOCK_MAXNUM; i++)
454 {
455 if (ARES_GETSOCK_READABLE(bitmask, i))
456 {
457 aprFds[nactive].reqevents = APR_POLLIN | APR_POLLERR;
458 }
459 else if (ARES_GETSOCK_WRITABLE(bitmask, i))
460 {
461 aprFds[nactive].reqevents = APR_POLLOUT | APR_POLLERR;
462 } else {
463 continue;
464 }
465
466 apr_socket_t *aprSock = NULL;
467
468 status = apr_os_sock_put(&aprSock, (apr_os_sock_t *) &socks[i], pool);
469 if (status != APR_SUCCESS)
470 {
471 ll_apr_warn_status(status);
472 goto bail_pool;
473 }
474
475 aprFds[nactive].desc.s = aprSock;
476 aprFds[nactive].desc_type = APR_POLL_SOCKET;
477 aprFds[nactive].p = pool;
478 aprFds[nactive].rtnevents = 0;
479 aprFds[nactive].client_data = &socks[i];
480
481 nactive++;
482 }
483
484 if (nactive > 0)
485 {
486 status = apr_poll(aprFds, nactive, &nsds, timeout);
487
488 if (status != APR_SUCCESS && status != APR_TIMEUP)
489 {
490 ll_apr_warn_status(status);
491 }
492
493 for (int i = 0; i < nactive; i++)
494 {
495 int evts = aprFds[i].rtnevents;
496 int ifd = (evts & (APR_POLLIN | APR_POLLERR))
497 ? *((int *) aprFds[i].client_data) : ARES_SOCKET_BAD;
498 int ofd = (evts & (APR_POLLOUT | APR_POLLERR))
499 ? *((int *) aprFds[i].client_data) : ARES_SOCKET_BAD;
500
501 ares_process_fd(chan_, ifd, ofd);
502 }
503 }
504
505bail_pool:
506 apr_pool_destroy(pool);
507
508bail:
509 return nsds > 0;
510}
511
512bool LLAres::processAll()
513{
514 bool anyProcessed = false, ret;
515
516 do {
517 timeval tv;
518
519 ret = ares_timeout(chan_, NULL, &tv) != NULL;
520
521 if (ret)
522 {
523 ret = process(tv.tv_sec * 1000000LL + tv.tv_usec);
524 anyProcessed |= ret;
525 }
526 } while (ret);
527
528 return anyProcessed;
529}
530
531int LLAres::expandName(const char *encoded, const char *abuf, size_t alen,
532 std::string &s, size_t &enclen)
533{
534 char *t;
535 int ret;
536 long e;
537
538 ret = ares_expand_name((const unsigned char *) encoded,
539 (const unsigned char *) abuf, alen, &t, &e);
540 if (ret == ARES_SUCCESS)
541 {
542 s.assign(t);
543 enclen = e;
544 ares_free_string(t);
545 }
546 return ret;
547}
548
549const char *LLAres::strerror(int code)
550{
551 return ares_strerror(code);
552}
553
554LLAres *gAres;
555
556LLAres *ll_init_ares()
557{
558 if (gAres == NULL)
559 {
560 gAres = new LLAres();
561 }
562 return gAres;
563}
564
565LLDnsRecord::LLDnsRecord(LLResType type, const std::string &name,
566 unsigned ttl)
567 : LLRefCount(),
568 mType(type),
569 mName(name),
570 mTTL(ttl)
571{
572}
573
574LLHostRecord::LLHostRecord(LLResType type, const std::string &name,
575 unsigned ttl)
576 : LLDnsRecord(type, name, ttl)
577{
578}
579
580int LLHostRecord::parse(const char *buf, size_t len, const char *pos,
581 size_t rrlen)
582{
583 int ret;
584
585 ret = LLAres::expandName(pos, buf, len, mHost);
586 if (ret != ARES_SUCCESS)
587 {
588 goto bail;
589 }
590
591 ret = ARES_SUCCESS;
592
593bail:
594 return ret;
595}
596
597LLCnameRecord::LLCnameRecord(const std::string &name, unsigned ttl)
598 : LLHostRecord(RES_CNAME, name, ttl)
599{
600}
601
602LLPtrRecord::LLPtrRecord(const std::string &name, unsigned ttl)
603 : LLHostRecord(RES_PTR, name, ttl)
604{
605}
606
607LLAddrRecord::LLAddrRecord(LLResType type, const std::string &name,
608 unsigned ttl)
609 : LLDnsRecord(type, name, ttl)
610{
611}
612
613LLARecord::LLARecord(const std::string &name, unsigned ttl)
614 : LLAddrRecord(RES_A, name, ttl)
615{
616}
617
618int LLARecord::parse(const char *buf, size_t len, const char *pos,
619 size_t rrlen)
620{
621 int ret;
622
623 if (rrlen != sizeof(mSA.sin.sin_addr.s_addr))
624 {
625 ret = ARES_EBADRESP;
626 goto bail;
627 }
628
629 memset(&mSA, 0, sizeof(mSA));
630 memcpy(&mSA.sin.sin_addr.s_addr, pos, rrlen);
631 mSA.sin.sin_family = AF_INET6;
632 mSize = sizeof(mSA.sin);
633
634 ret = ARES_SUCCESS;
635
636bail:
637 return ret;
638}
639
640LLAaaaRecord::LLAaaaRecord(const std::string &name, unsigned ttl)
641 : LLAddrRecord(RES_AAAA, name, ttl)
642{
643}
644
645int LLAaaaRecord::parse(const char *buf, size_t len, const char *pos,
646 size_t rrlen)
647{
648 int ret;
649
650 if (rrlen != sizeof(mSA.sin6.sin6_addr))
651 {
652 ret = ARES_EBADRESP;
653 goto bail;
654 }
655
656 memset(&mSA, 0, sizeof(mSA));
657 memcpy(&mSA.sin6.sin6_addr.s6_addr, pos, rrlen);
658 mSA.sin6.sin6_family = AF_INET6;
659 mSize = sizeof(mSA.sin6);
660
661 ret = ARES_SUCCESS;
662
663bail:
664 return ret;
665}
666
667LLSrvRecord::LLSrvRecord(const std::string &name, unsigned ttl)
668 : LLHostRecord(RES_SRV, name, ttl)
669{
670}
671
672int LLSrvRecord::parse(const char *buf, size_t len, const char *pos,
673 size_t rrlen)
674{
675 int ret;
676
677 if (rrlen < 6)
678 {
679 ret = ARES_EBADRESP;
680 goto bail;
681 }
682
683 memcpy(&mPriority, pos, 2);
684 memcpy(&mWeight, pos + 2, 2);
685 memcpy(&mPort, pos + 4, 2);
686
687 mPriority = ntohs(mPriority);
688 mWeight = ntohs(mWeight);
689 mPort = ntohs(mPort);
690
691 ret = LLHostRecord::parse(buf, len, pos + 6, rrlen - 6);
692
693bail:
694 return ret;
695}
696
697LLNsRecord::LLNsRecord(const std::string &name, unsigned ttl)
698 : LLHostRecord(RES_NS, name, ttl)
699{
700}
701
702void LLAres::UriRewriteResponder::queryError(int code)
703{
704 std::vector<std::string> uris;
705 uris.push_back(mUri.asString());
706 rewriteResult(uris);
707}
708
709void LLAres::UriRewriteResponder::queryResult()
710{
711 std::vector<std::string> uris;
712
713 if (mType != RES_SRV)
714 {
715 goto bail;
716 }
717
718 for (size_t i = 0; i < mAnswers.size(); i++)
719 {
720 const LLSrvRecord *r = (const LLSrvRecord *) mAnswers[i].get();
721
722 if (r->type() == RES_SRV)
723 {
724 // Check the domain in the response to ensure that it's
725 // the same as the domain in the request, so that bad guys
726 // can't forge responses that point to their own login
727 // servers with their own certificates.
728
729 // Hard-coding the domain to check here is a bit of a
730 // hack. Hoist it to an outer caller if anyone ever needs
731 // this functionality on other domains.
732
733 static const std::string domain(".lindenlab.com");
734 const std::string &host = r->host();
735
736 std::string::size_type s = host.find(domain) + domain.length();
737
738 if (s != host.length() && s != host.length() - 1)
739 {
740 continue;
741 }
742
743 LLURI uri(mUri.scheme(),
744 mUri.userName(),
745 mUri.password(),
746 r->host(),
747 mUri.defaultPort() ? r->port() : mUri.hostPort(),
748 mUri.escapedPath(),
749 mUri.escapedQuery());
750 uris.push_back(uri.asString());
751 }
752 }
753
754 if (!uris.empty())
755 {
756 goto done;
757 }
758
759bail:
760 uris.push_back(mUri.asString());
761
762done:
763 rewriteResult(uris);
764}
765
766void LLAres::UriRewriteResponder::rewriteResult(
767 const std::vector<std::string> &uris)
768{
769 llinfos << "LLAres::UriRewriteResponder::rewriteResult not implemented"
770 << llendl;
771
772 for (size_t i = 0; i < uris.size(); i++)
773 {
774 llinfos << "[" << i << "] " << uris[i] << llendl;
775 }
776}
diff --git a/linden/indra/llcommon/llares.h b/linden/indra/llcommon/llares.h
new file mode 100644
index 0000000..63bb3e3
--- /dev/null
+++ b/linden/indra/llcommon/llares.h
@@ -0,0 +1,572 @@
1/**
2 * @file llares.h
3 * @author Bryan O'Sullivan
4 * @date 2007-08-15
5 * @brief Wrapper for asynchronous DNS lookups.
6 *
7 * $LicenseInfo:firstyear=2007&license=viewergpl$
8 *
9 * Copyright (c) 2007, Linden Research, Inc.
10 *
11 * Second Life Viewer Source Code
12 * The source code in this file ("Source Code") is provided by Linden Lab
13 * to you under the terms of the GNU General Public License, version 2.0
14 * ("GPL"), unless you have obtained a separate licensing agreement
15 * ("Other License"), formally executed by you and Linden Lab. Terms of
16 * the GPL can be found in doc/GPL-license.txt in this distribution, or
17 * online at http://secondlife.com/developers/opensource/gplv2
18 *
19 * There are special exceptions to the terms and conditions of the GPL as
20 * it is applied to this Source Code. View the full text of the exception
21 * in the file doc/FLOSS-exception.txt in this software distribution, or
22 * online at http://secondlife.com/developers/opensource/flossexception
23 *
24 * By copying, modifying or distributing this software, you acknowledge
25 * that you have read and understood your obligations described above,
26 * and agree to abide by those obligations.
27 *
28 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
29 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
30 * COMPLETENESS OR PERFORMANCE.
31 * $/LicenseInfo$
32 */
33
34#ifndef LL_LLARES_H
35#define LL_LLARES_H
36
37#ifdef LL_WINDOWS
38# include <ws2tcpip.h>
39#endif
40
41#ifdef LL_STANDALONE
42# include <ares.h>
43#else
44# include <ares/ares.h>
45#endif
46
47#include "llmemory.h"
48#include "lluri.h"
49
50class LLQueryResponder;
51
52/**
53 * @brief Supported DNS RR types.
54 */
55enum LLResType
56{
57 RES_INVALID = 0, /**< Cookie. */
58 RES_A = 1, /**< "A" record. IPv4 address. */
59 RES_NS = 2, /**< "NS" record. Authoritative server. */
60 RES_CNAME = 5, /**< "CNAME" record. Canonical name. */
61 RES_PTR = 12, /**< "PTR" record. Domain name pointer. */
62 RES_AAAA = 28, /**< "AAAA" record. IPv6 Address. */
63 RES_SRV = 33, /**< "SRV" record. Server Selection. */
64 RES_MAX = 65536 /**< Sentinel; RR types are 16 bits wide. */
65};
66
67/**
68 * @class LLDnsRecord
69 * @brief Base class for all DNS RR types.
70 */
71class LLDnsRecord : public LLRefCount
72{
73protected:
74 friend class LLQueryResponder;
75
76 LLResType mType;
77 std::string mName;
78 unsigned mTTL;
79
80 virtual int parse(const char *buf, size_t len, const char *pos,
81 size_t rrlen) = 0;
82
83 LLDnsRecord(LLResType type, const std::string &name, unsigned ttl);
84
85public:
86 /**
87 * @brief Record name.
88 */
89 const std::string &name() const { return mName; }
90
91 /**
92 * @brief Time-to-live value, in seconds.
93 */
94 unsigned ttl() const { return mTTL; }
95
96 /**
97 * @brief RR type.
98 */
99 LLResType type() const { return mType; }
100};
101
102/**
103 * @class LLAddrRecord
104 * @brief Base class for address-related RRs.
105 */
106class LLAddrRecord : public LLDnsRecord
107{
108protected:
109 friend class LLQueryResponder;
110
111 LLAddrRecord(LLResType type, const std::string &name, unsigned ttl);
112
113 union
114 {
115 sockaddr sa;
116 sockaddr_in sin;
117 sockaddr_in6 sin6;
118 } mSA;
119
120 socklen_t mSize;
121
122public:
123 /**
124 * @brief Generic socket address.
125 */
126 const sockaddr &addr() const { return mSA.sa; }
127
128 /**
129 * @brief Size of the socket structure.
130 */
131 socklen_t size() const { return mSize; }
132};
133
134/**
135 * @class LLARecord
136 * @brief A RR, for IPv4 addresses.
137 */
138class LLARecord : public LLAddrRecord
139{
140protected:
141 friend class LLQueryResponder;
142
143 LLARecord(const std::string &name, unsigned ttl);
144
145 int parse(const char *buf, size_t len, const char *pos, size_t rrlen);
146
147public:
148 /**
149 * @brief Socket address.
150 */
151 const sockaddr_in &addr_in() const { return mSA.sin; }
152};
153
154/**
155 * @class LLAaaaRecord
156 * @brief AAAA RR, for IPv6 addresses.
157 */
158class LLAaaaRecord : public LLAddrRecord
159{
160protected:
161 friend class LLQueryResponder;
162
163 LLAaaaRecord(const std::string &name, unsigned ttl);
164
165 int parse(const char *buf, size_t len, const char *pos, size_t rrlen);
166
167public:
168 /**
169 * @brief Socket address.
170 */
171 const sockaddr_in6 &addr_in6() const { return mSA.sin6; }
172};
173
174/**
175 * @class LLHostRecord
176 * @brief Base class for host-related RRs.
177 */
178class LLHostRecord : public LLDnsRecord
179{
180protected:
181 LLHostRecord(LLResType type, const std::string &name, unsigned ttl);
182
183 int parse(const char *buf, size_t len, const char *pos, size_t rrlen);
184
185 std::string mHost;
186
187public:
188 /**
189 * @brief Host name.
190 */
191 const std::string &host() const { return mHost; }
192};
193
194/**
195 * @class LLCnameRecord
196 * @brief CNAME RR.
197 */
198class LLCnameRecord : public LLHostRecord
199{
200protected:
201 friend class LLQueryResponder;
202
203 LLCnameRecord(const std::string &name, unsigned ttl);
204};
205
206/**
207 * @class LLPtrRecord
208 * @brief PTR RR.
209 */
210class LLPtrRecord : public LLHostRecord
211{
212protected:
213 friend class LLQueryResponder;
214
215 LLPtrRecord(const std::string &name, unsigned ttl);
216};
217
218/**
219 * @class LLSrvRecord
220 * @brief SRV RR.
221 */
222class LLSrvRecord : public LLHostRecord
223{
224protected:
225 U16 mPriority;
226 U16 mWeight;
227 U16 mPort;
228
229 int parse(const char *buf, size_t len, const char *pos, size_t rrlen);
230
231public:
232 LLSrvRecord(const std::string &name, unsigned ttl);
233
234 /**
235 * @brief Service priority.
236 */
237 U16 priority() const { return mPriority; }
238
239 /**
240 * @brief Service weight.
241 */
242 U16 weight() const { return mWeight; }
243
244 /**
245 * @brief Port number of service.
246 */
247 U16 port() const { return mPort; }
248
249 /**
250 * @brief Functor for sorting SRV records by priority.
251 */
252 struct ComparePriorityLowest
253 {
254 bool operator()(const LLSrvRecord& lhs, const LLSrvRecord& rhs)
255 {
256 return lhs.mPriority < rhs.mPriority;
257 }
258 };
259};
260
261/**
262 * @class LLNsRecord
263 * @brief NS RR.
264 */
265class LLNsRecord : public LLHostRecord
266{
267public:
268 LLNsRecord(const std::string &name, unsigned ttl);
269};
270
271class LLQueryResponder;
272
273/**
274 * @class LLAres
275 * @brief Asynchronous address resolver.
276 */
277class LLAres
278{
279public:
280 /**
281 * @class HostResponder
282 * @brief Base class for responding to hostname lookups.
283 * @see LLAres::getHostByName
284 */
285 class HostResponder : public LLRefCount
286 {
287 public:
288 virtual ~HostResponder();
289
290 virtual void hostResult(const hostent *ent);
291 virtual void hostError(int code);
292 };
293
294 /**
295 * @class NameInfoResponder
296 * @brief Base class for responding to address lookups.
297 * @see LLAres::getNameInfo
298 */
299 class NameInfoResponder : public LLRefCount
300 {
301 public:
302 virtual ~NameInfoResponder();
303
304 virtual void nameInfoResult(const char *node, const char *service);
305 virtual void nameInfoError(int code);
306 };
307
308 /**
309 * @class QueryResponder
310 * @brief Base class for responding to custom searches.
311 * @see LLAres::search
312 */
313 class QueryResponder : public LLRefCount
314 {
315 public:
316 virtual ~QueryResponder();
317
318 virtual void queryResult(const char *buf, size_t len);
319 virtual void queryError(int code);
320 };
321
322 class SrvResponder;
323 class UriRewriteResponder;
324
325 LLAres();
326
327 ~LLAres();
328
329 /**
330 * Cancel all outstanding requests. The error methods of the
331 * corresponding responders will be called, with ARES_ETIMEOUT.
332 */
333 void cancel();
334
335 /**
336 * Look up the address of a host.
337 *
338 * @param name name of host to look up
339 * @param resp responder to call with result
340 * @param family AF_INET for IPv4 addresses, AF_INET6 for IPv6
341 */
342 void getHostByName(const std::string &name, HostResponder *resp,
343 int family = AF_INET) {
344 getHostByName(name.c_str(), resp, family);
345 }
346
347 /**
348 * Look up the address of a host.
349 *
350 * @param name name of host to look up
351 * @param resp responder to call with result
352 * @param family AF_INET for IPv4 addresses, AF_INET6 for IPv6
353 */
354 void getHostByName(const char *name, HostResponder *resp,
355 int family = PF_INET);
356
357 /**
358 * Look up the name associated with a socket address.
359 *
360 * @param sa socket address to look up
361 * @param salen size of socket address
362 * @param flags flags to use
363 * @param resp responder to call with result
364 */
365 void getNameInfo(const struct sockaddr &sa, socklen_t salen, int flags,
366 NameInfoResponder *resp);
367
368 /**
369 * Look up SRV (service location) records for a service name.
370 *
371 * @param name service name (e.g. "_https._tcp.login.agni.lindenlab.com")
372 * @param resp responder to call with result
373 */
374 void getSrvRecords(const std::string &name, SrvResponder *resp);
375
376 /**
377 * Rewrite a URI, using SRV (service location) records for its
378 * protocol if available. If no SRV records are published, the
379 * existing URI is handed to the responder.
380 *
381 * @param uri URI to rewrite
382 * @param resp responder to call with result
383 */
384 void rewriteURI(const std::string &uri,
385 UriRewriteResponder *resp);
386
387 /**
388 * Start a custom search.
389 *
390 * @param query query to make
391 * @param type type of query to perform
392 * @param resp responder to call with result
393 */
394 void search(const std::string &query, LLResType type,
395 QueryResponder *resp);
396
397 /**
398 * Process any outstanding queries. This method takes an optional
399 * timeout parameter (specified in microseconds). If provided, it
400 * will block the calling thread for that length of time to await
401 * possible responses. A timeout of zero will return immediately
402 * if there are no responses or timeouts to process.
403 *
404 * @param timeoutUsecs number of microseconds to block before timing out
405 * @return whether any responses were processed
406 */
407 bool process(U64 timeoutUsecs = 0);
408
409 /**
410 * Process all outstanding queries, blocking the calling thread
411 * until all have either been responded to or timed out.
412 *
413 * @return whether any responses were processed
414 */
415 bool processAll();
416
417 /**
418 * Expand a DNS-encoded compressed string into a normal string.
419 *
420 * @param encoded the encoded name (null-terminated)
421 * @param abuf the response buffer in which the string is embedded
422 * @param alen the length of the response buffer
423 * @param s the string into which to place the result
424 * @return ARES_SUCCESS on success, otherwise an error indicator
425 */
426 static int expandName(const char *encoded, const char *abuf, size_t alen,
427 std::string &s) {
428 size_t ignore;
429 return expandName(encoded, abuf, alen, s, ignore);
430 }
431
432 static int expandName(const char *encoded, const char *abuf, size_t alen,
433 std::string &s, size_t &enclen);
434
435 /**
436 * Return a string describing an error code.
437 */
438 static const char *strerror(int code);
439
440protected:
441 ares_channel chan_;
442
443};
444
445/**
446 * An ordered collection of DNS resource records.
447 */
448typedef std::vector<LLPointer<LLDnsRecord> > dns_rrs_t;
449
450/**
451 * @class LLQueryResponder
452 * @brief Base class for friendly handling of DNS query responses.
453 *
454 * This class parses a DNS response and represents it in a friendly
455 * manner.
456 *
457 * @see LLDnsRecord
458 * @see LLARecord
459 * @see LLNsRecord
460 * @see LLCnameRecord
461 * @see LLPtrRecord
462 * @see LLAaaaRecord
463 * @see LLSrvRecord
464 */
465class LLQueryResponder : public LLAres::QueryResponder
466{
467protected:
468 int mResult;
469 std::string mQuery;
470 LLResType mType;
471
472 dns_rrs_t mAnswers;
473 dns_rrs_t mAuthorities;
474 dns_rrs_t mAdditional;
475
476 /**
477 * Parse a single RR.
478 */
479 int parseRR(const char *buf, size_t len, const char *&pos,
480 LLPointer<LLDnsRecord> &r);
481 /**
482 * Parse one section of a response.
483 */
484 int parseSection(const char *buf, size_t len,
485 size_t count, const char *& pos, dns_rrs_t &rrs);
486
487 void queryResult(const char *buf, size_t len);
488 virtual void queryResult();
489
490public:
491 LLQueryResponder();
492
493 /**
494 * Indicate whether the response could be parsed successfully.
495 */
496 bool valid() const { return mResult == ARES_SUCCESS; }
497
498 /**
499 * The more detailed result of parsing the response.
500 */
501 int result() const { return mResult; }
502
503 /**
504 * Return the query embedded in the response.
505 */
506 const std::string &query() const { return mQuery; }
507
508 /**
509 * Return the contents of the "answers" section of the response.
510 */
511 const dns_rrs_t &answers() const { return mAnswers; }
512
513 /**
514 * Return the contents of the "authorities" section of the
515 * response.
516 */
517 const dns_rrs_t &authorities() const { return mAuthorities; }
518
519 /**
520 * Return the contents of the "additional records" section of the
521 * response.
522 */
523 const dns_rrs_t &additional() const { return mAdditional; }
524};
525
526/**
527 * @class LLAres::SrvResponder
528 * @brief Class for handling SRV query responses.
529 */
530class LLAres::SrvResponder : public LLQueryResponder
531{
532public:
533 friend void LLAres::getSrvRecords(const std::string &name,
534 SrvResponder *resp);
535 void queryResult();
536 void queryError(int code);
537
538 virtual void srvResult(const dns_rrs_t &ents);
539 virtual void srvError(int code);
540};
541
542/**
543 * @class LLAres::UriRewriteResponder
544 * @brief Class for handling URI rewrites based on SRV records.
545 */
546class LLAres::UriRewriteResponder : public LLQueryResponder
547{
548protected:
549 LLURI mUri;
550
551public:
552 friend void LLAres::rewriteURI(const std::string &uri,
553 UriRewriteResponder *resp);
554 void queryResult();
555 void queryError(int code);
556
557 virtual void rewriteResult(const std::vector<std::string> &uris);
558};
559
560/**
561 * Singleton responder.
562 */
563extern LLAres *gAres;
564
565/**
566 * Set up the singleton responder. It's safe to call this more than
567 * once from within a single thread, but this function is not
568 * thread safe.
569 */
570extern LLAres *ll_init_ares();
571
572#endif // LL_LLARES_H
diff --git a/linden/indra/llcommon/llassettype.cpp b/linden/indra/llcommon/llassettype.cpp
index 0bbef8c..06504b5 100644
--- a/linden/indra/llcommon/llassettype.cpp
+++ b/linden/indra/llcommon/llassettype.cpp
@@ -2,6 +2,8 @@
2 * @file llassettype.cpp 2 * @file llassettype.cpp
3 * @brief Implementatino of LLAssetType functionality. 3 * @brief Implementatino of LLAssetType functionality.
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,14 +26,13 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#include "linden_common.h" 32#include "linden_common.h"
30 33
31#include "llassettype.h" 34#include "llassettype.h"
32 35
33#include <time.h>
34
35#include "llstring.h" 36#include "llstring.h"
36#include "lltimer.h" 37#include "lltimer.h"
37 38
diff --git a/linden/indra/llcommon/llassettype.h b/linden/indra/llcommon/llassettype.h
index 5fe6b16..f71e0b9 100644
--- a/linden/indra/llcommon/llassettype.h
+++ b/linden/indra/llcommon/llassettype.h
@@ -2,6 +2,8 @@
2 * @file llassettype.h 2 * @file llassettype.h
3 * @brief Declaration of LLAssetType. 3 * @brief Declaration of LLAssetType.
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLASSETTYPE 32#ifndef LL_LLASSETTYPE
diff --git a/linden/indra/llcommon/llassoclist.h b/linden/indra/llcommon/llassoclist.h
index 417e347..974bc1e 100644
--- a/linden/indra/llcommon/llassoclist.h
+++ b/linden/indra/llcommon/llassoclist.h
@@ -2,6 +2,8 @@
2 * @file llassoclist.h 2 * @file llassoclist.h
3 * @brief LLAssocList class header file 3 * @brief LLAssocList class header file
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLASSOCLIST_H 32#ifndef LL_LLASSOCLIST_H
diff --git a/linden/indra/llcommon/llavatarconstants.h b/linden/indra/llcommon/llavatarconstants.h
index ab49368..c62cae2 100644
--- a/linden/indra/llcommon/llavatarconstants.h
+++ b/linden/indra/llcommon/llavatarconstants.h
@@ -2,6 +2,8 @@
2 * @file llavatarconstants.h 2 * @file llavatarconstants.h
3 * @brief some useful short term constants for Indra 3 * @brief some useful short term constants for Indra
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_AVATAR_CONSTANTS_H 32#ifndef LL_AVATAR_CONSTANTS_H
diff --git a/linden/indra/llcommon/llbase32.cpp b/linden/indra/llcommon/llbase32.cpp
index 27f7284..50f789e 100644
--- a/linden/indra/llcommon/llbase32.cpp
+++ b/linden/indra/llcommon/llbase32.cpp
@@ -7,7 +7,9 @@
7 * http://ghostwhitecrab.com/bitter/ 7 * http://ghostwhitecrab.com/bitter/
8 * 8 *
9 * Some parts of this file are: 9 * Some parts of this file are:
10 * Copyright (c) 2007-2007, Linden Research, Inc. 10 * $LicenseInfo:firstyear=2007&license=viewergpl$
11 *
12 * Copyright (c) 2007, Linden Research, Inc.
11 * 13 *
12 * Second Life Viewer Source Code 14 * Second Life Viewer Source Code
13 * The source code in this file ("Source Code") is provided by Linden Lab 15 * The source code in this file ("Source Code") is provided by Linden Lab
@@ -29,6 +31,7 @@
29 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 31 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
30 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 32 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
31 * COMPLETENESS OR PERFORMANCE. 33 * COMPLETENESS OR PERFORMANCE.
34 * $/LicenseInfo$
32 */ 35 */
33 36
34/** 37/**
diff --git a/linden/indra/llcommon/llbase32.h b/linden/indra/llcommon/llbase32.h
index 198c5c6..5254d0a 100644
--- a/linden/indra/llcommon/llbase32.h
+++ b/linden/indra/llcommon/llbase32.h
@@ -3,7 +3,9 @@
3 * @brief base32 encoding that returns a std::string 3 * @brief base32 encoding that returns a std::string
4 * @author James Cook 4 * @author James Cook
5 * 5 *
6 * Copyright (c) 2007-2007, Linden Research, Inc. 6 * $LicenseInfo:firstyear=2007&license=viewergpl$
7 *
8 * Copyright (c) 2007, Linden Research, Inc.
7 * 9 *
8 * Second Life Viewer Source Code 10 * Second Life Viewer Source Code
9 * The source code in this file ("Source Code") is provided by Linden Lab 11 * The source code in this file ("Source Code") is provided by Linden Lab
@@ -25,6 +27,7 @@
25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 27 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 28 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
27 * COMPLETENESS OR PERFORMANCE. 29 * COMPLETENESS OR PERFORMANCE.
30 * $/LicenseInfo$
28 */ 31 */
29 32
30#ifndef LLBASE32_H 33#ifndef LLBASE32_H
diff --git a/linden/indra/llcommon/llbase64.cpp b/linden/indra/llcommon/llbase64.cpp
index 18aefea..207b367 100644
--- a/linden/indra/llcommon/llbase64.cpp
+++ b/linden/indra/llcommon/llbase64.cpp
@@ -3,7 +3,9 @@
3 * @brief Wrapper for apr base64 encoding that returns a std::string 3 * @brief Wrapper for apr base64 encoding that returns a std::string
4 * @author James Cook 4 * @author James Cook
5 * 5 *
6 * Copyright (c) 2007-2007, Linden Research, Inc. 6 * $LicenseInfo:firstyear=2007&license=viewergpl$
7 *
8 * Copyright (c) 2007, Linden Research, Inc.
7 * 9 *
8 * Second Life Viewer Source Code 10 * Second Life Viewer Source Code
9 * The source code in this file ("Source Code") is provided by Linden Lab 11 * The source code in this file ("Source Code") is provided by Linden Lab
@@ -25,6 +27,7 @@
25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 27 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 28 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
27 * COMPLETENESS OR PERFORMANCE. 29 * COMPLETENESS OR PERFORMANCE.
30 * $/LicenseInfo$
28 */ 31 */
29 32
30#include "linden_common.h" 33#include "linden_common.h"
diff --git a/linden/indra/llcommon/llbase64.h b/linden/indra/llcommon/llbase64.h
index 995ac04..c3d1a11 100644
--- a/linden/indra/llcommon/llbase64.h
+++ b/linden/indra/llcommon/llbase64.h
@@ -3,7 +3,9 @@
3 * @brief Wrapper for apr base64 encoding that returns a std::string 3 * @brief Wrapper for apr base64 encoding that returns a std::string
4 * @author James Cook 4 * @author James Cook
5 * 5 *
6 * Copyright (c) 2007-2007, Linden Research, Inc. 6 * $LicenseInfo:firstyear=2007&license=viewergpl$
7 *
8 * Copyright (c) 2007, Linden Research, Inc.
7 * 9 *
8 * Second Life Viewer Source Code 10 * Second Life Viewer Source Code
9 * The source code in this file ("Source Code") is provided by Linden Lab 11 * The source code in this file ("Source Code") is provided by Linden Lab
@@ -25,6 +27,7 @@
25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 27 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 28 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
27 * COMPLETENESS OR PERFORMANCE. 29 * COMPLETENESS OR PERFORMANCE.
30 * $/LicenseInfo$
28 */ 31 */
29 32
30#ifndef LLBASE64_H 33#ifndef LLBASE64_H
diff --git a/linden/indra/llcommon/llboost.h b/linden/indra/llcommon/llboost.h
index 45d5eb2..14cc97c 100644
--- a/linden/indra/llcommon/llboost.h
+++ b/linden/indra/llcommon/llboost.h
@@ -2,6 +2,8 @@
2 * @file llboost.h 2 * @file llboost.h
3 * @brief helper object & functions for use with boost 3 * @brief helper object & functions for use with boost
4 * 4 *
5 * $LicenseInfo:firstyear=2005&license=viewergpl$
6 *
5 * Copyright (c) 2005-2007, Linden Research, Inc. 7 * Copyright (c) 2005-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLBOOST_H 32#ifndef LL_LLBOOST_H
diff --git a/linden/indra/llcommon/llchat.h b/linden/indra/llcommon/llchat.h
index 7339e9a..0ae1638 100644
--- a/linden/indra/llcommon/llchat.h
+++ b/linden/indra/llcommon/llchat.h
@@ -3,6 +3,8 @@
3 * @author James Cook 3 * @author James Cook
4 * @brief Chat constants and data structures. 4 * @brief Chat constants and data structures.
5 * 5 *
6 * $LicenseInfo:firstyear=2006&license=viewergpl$
7 *
6 * Copyright (c) 2006-2007, Linden Research, Inc. 8 * Copyright (c) 2006-2007, Linden Research, Inc.
7 * 9 *
8 * Second Life Viewer Source Code 10 * Second Life Viewer Source Code
@@ -25,6 +27,7 @@
25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 27 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 28 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
27 * COMPLETENESS OR PERFORMANCE. 29 * COMPLETENESS OR PERFORMANCE.
30 * $/LicenseInfo$
28 */ 31 */
29 32
30#ifndef LL_LLCHAT_H 33#ifndef LL_LLCHAT_H
diff --git a/linden/indra/llcommon/llclickaction.h b/linden/indra/llcommon/llclickaction.h
index e45ad90..be343c6 100644
--- a/linden/indra/llcommon/llclickaction.h
+++ b/linden/indra/llcommon/llclickaction.h
@@ -3,6 +3,8 @@
3 * @author James Cook 3 * @author James Cook
4 * @brief Constants for single-click actions on objects 4 * @brief Constants for single-click actions on objects
5 * 5 *
6 * $LicenseInfo:firstyear=2006&license=viewergpl$
7 *
6 * Copyright (c) 2006-2007, Linden Research, Inc. 8 * Copyright (c) 2006-2007, Linden Research, Inc.
7 * 9 *
8 * Second Life Viewer Source Code 10 * Second Life Viewer Source Code
@@ -25,6 +27,7 @@
25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 27 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 28 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
27 * COMPLETENESS OR PERFORMANCE. 29 * COMPLETENESS OR PERFORMANCE.
30 * $/LicenseInfo$
28 */ 31 */
29 32
30#ifndef LL_LLCLICKACTION_H 33#ifndef LL_LLCLICKACTION_H
diff --git a/linden/indra/llcommon/llcommon.cpp b/linden/indra/llcommon/llcommon.cpp
index 993da7d..0069d03 100644
--- a/linden/indra/llcommon/llcommon.cpp
+++ b/linden/indra/llcommon/llcommon.cpp
@@ -1,6 +1,8 @@
1/** 1/**
2 * @file llcommon.cpp 2 * @file llcommon.cpp
3 * 3 *
4 * $LicenseInfo:firstyear=2006&license=viewergpl$
5 *
4 * Copyright (c) 2006-2007, Linden Research, Inc. 6 * Copyright (c) 2006-2007, Linden Research, Inc.
5 * 7 *
6 * Second Life Viewer Source Code 8 * Second Life Viewer Source Code
@@ -23,6 +25,7 @@
23 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
24 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
25 * COMPLETENESS OR PERFORMANCE. 27 * COMPLETENESS OR PERFORMANCE.
28 * $/LicenseInfo$
26 */ 29 */
27 30
28#include "linden_common.h" 31#include "linden_common.h"
diff --git a/linden/indra/llcommon/llcommon.h b/linden/indra/llcommon/llcommon.h
index 443870e..3f48763 100644
--- a/linden/indra/llcommon/llcommon.h
+++ b/linden/indra/llcommon/llcommon.h
@@ -1,6 +1,8 @@
1/** 1/**
2 * @file llcommon.h 2 * @file llcommon.h
3 * 3 *
4 * $LicenseInfo:firstyear=2006&license=viewergpl$
5 *
4 * Copyright (c) 2006-2007, Linden Research, Inc. 6 * Copyright (c) 2006-2007, Linden Research, Inc.
5 * 7 *
6 * Second Life Viewer Source Code 8 * Second Life Viewer Source Code
@@ -23,6 +25,7 @@
23 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
24 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
25 * COMPLETENESS OR PERFORMANCE. 27 * COMPLETENESS OR PERFORMANCE.
28 * $/LicenseInfo$
26 */ 29 */
27 30
28#ifndef LL_COMMON_H 31#ifndef LL_COMMON_H
diff --git a/linden/indra/llcommon/llcommon.vcproj b/linden/indra/llcommon/llcommon.vcproj
index 70006e0..80704af 100644
--- a/linden/indra/llcommon/llcommon.vcproj
+++ b/linden/indra/llcommon/llcommon.vcproj
@@ -161,6 +161,9 @@
161 RelativePath=".\llapr.cpp"> 161 RelativePath=".\llapr.cpp">
162 </File> 162 </File>
163 <File 163 <File
164 RelativePath=".\llares.cpp">
165 </File>
166 <File
164 RelativePath=".\llassettype.cpp"> 167 RelativePath=".\llassettype.cpp">
165 </File> 168 </File>
166 <File 169 <File
diff --git a/linden/indra/llcommon/llcommon_vc8.vcproj b/linden/indra/llcommon/llcommon_vc8.vcproj
index 28f45ca..1687a89 100644
--- a/linden/indra/llcommon/llcommon_vc8.vcproj
+++ b/linden/indra/llcommon/llcommon_vc8.vcproj
@@ -237,6 +237,10 @@
237 > 237 >
238 </File> 238 </File>
239 <File 239 <File
240 RelativePath=".\llares.cpp"
241 >
242 </File>
243 <File
240 RelativePath=".\llassettype.cpp" 244 RelativePath=".\llassettype.cpp"
241 > 245 >
242 </File> 246 </File>
@@ -447,6 +451,10 @@
447 > 451 >
448 </File> 452 </File>
449 <File 453 <File
454 RelativePath=".\llares.h"
455 >
456 </File>
457 <File
450 RelativePath=".\llassettype.h" 458 RelativePath=".\llassettype.h"
451 > 459 >
452 </File> 460 </File>
diff --git a/linden/indra/llcommon/llcriticaldamp.cpp b/linden/indra/llcommon/llcriticaldamp.cpp
index f574550..9522573 100644
--- a/linden/indra/llcommon/llcriticaldamp.cpp
+++ b/linden/indra/llcommon/llcriticaldamp.cpp
@@ -2,6 +2,8 @@
2 * @file llcriticaldamp.cpp 2 * @file llcriticaldamp.cpp
3 * @brief Implementation of the critical damping functionality. 3 * @brief Implementation of the critical damping functionality.
4 * 4 *
5 * $LicenseInfo:firstyear=2002&license=viewergpl$
6 *
5 * Copyright (c) 2002-2007, Linden Research, Inc. 7 * Copyright (c) 2002-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,10 +26,10 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#include "linden_common.h" 32#include "linden_common.h"
30#include <math.h>
31 33
32#include "llcriticaldamp.h" 34#include "llcriticaldamp.h"
33 35
diff --git a/linden/indra/llcommon/llcriticaldamp.h b/linden/indra/llcommon/llcriticaldamp.h
index 6a35e5e..e0b3df9 100644
--- a/linden/indra/llcommon/llcriticaldamp.h
+++ b/linden/indra/llcommon/llcriticaldamp.h
@@ -3,6 +3,8 @@
3 * @brief A lightweight class that calculates critical damping constants once 3 * @brief A lightweight class that calculates critical damping constants once
4 * per frame. 4 * per frame.
5 * 5 *
6 * $LicenseInfo:firstyear=2002&license=viewergpl$
7 *
6 * Copyright (c) 2002-2007, Linden Research, Inc. 8 * Copyright (c) 2002-2007, Linden Research, Inc.
7 * 9 *
8 * Second Life Viewer Source Code 10 * Second Life Viewer Source Code
@@ -25,6 +27,7 @@
25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 27 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 28 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
27 * COMPLETENESS OR PERFORMANCE. 29 * COMPLETENESS OR PERFORMANCE.
30 * $/LicenseInfo$
28 */ 31 */
29 32
30#ifndef LL_LLCRITICALDAMP_H 33#ifndef LL_LLCRITICALDAMP_H
diff --git a/linden/indra/llcommon/lldarray.h b/linden/indra/llcommon/lldarray.h
index 7942e77..3b46706 100644
--- a/linden/indra/llcommon/lldarray.h
+++ b/linden/indra/llcommon/lldarray.h
@@ -2,6 +2,8 @@
2 * @file lldarray.h 2 * @file lldarray.h
3 * @brief Wrapped std::vector for backward compatibility. 3 * @brief Wrapped std::vector for backward compatibility.
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLDARRAY_H 32#ifndef LL_LLDARRAY_H
diff --git a/linden/indra/llcommon/lldarrayptr.h b/linden/indra/llcommon/lldarrayptr.h
index 308101c..d04bffe 100644
--- a/linden/indra/llcommon/lldarrayptr.h
+++ b/linden/indra/llcommon/lldarrayptr.h
@@ -2,6 +2,8 @@
2 * @file lldarrayptr.h 2 * @file lldarrayptr.h
3 * @brief Wrapped std::vector for backward compatibility. 3 * @brief Wrapped std::vector for backward compatibility.
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28#ifndef LL_LLDARRAYPTR_H 31#ifndef LL_LLDARRAYPTR_H
29#define LL_LLDARRAYPTR_H 32#define LL_LLDARRAYPTR_H
diff --git a/linden/indra/llcommon/lldate.cpp b/linden/indra/llcommon/lldate.cpp
index 47e5370..37b912d 100644
--- a/linden/indra/llcommon/lldate.cpp
+++ b/linden/indra/llcommon/lldate.cpp
@@ -4,6 +4,8 @@
4 * @date 2006-02-05 4 * @date 2006-02-05
5 * @brief Implementation of the date class 5 * @brief Implementation of the date class
6 * 6 *
7 * $LicenseInfo:firstyear=2006&license=viewergpl$
8 *
7 * Copyright (c) 2006-2007, Linden Research, Inc. 9 * Copyright (c) 2006-2007, Linden Research, Inc.
8 * 10 *
9 * Second Life Viewer Source Code 11 * Second Life Viewer Source Code
@@ -26,6 +28,7 @@
26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 28 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 29 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
28 * COMPLETENESS OR PERFORMANCE. 30 * COMPLETENESS OR PERFORMANCE.
31 * $/LicenseInfo$
29 */ 32 */
30 33
31#include "linden_common.h" 34#include "linden_common.h"
@@ -61,6 +64,8 @@ LLDate::LLDate(const std::string& iso8601_date)
61{ 64{
62 if(!fromString(iso8601_date)) 65 if(!fromString(iso8601_date))
63 { 66 {
67 llwarns << "date " << iso8601_date << " failed to parse; "
68 << "ZEROING IT OUT" << llendl;
64 mSecondsSinceEpoch = DATE_EPOCH; 69 mSecondsSinceEpoch = DATE_EPOCH;
65 } 70 }
66} 71}
@@ -212,7 +217,7 @@ bool LLDate::fromStream(std::istream& s)
212 s >> fractional; 217 s >> fractional;
213 seconds_since_epoch += fractional; 218 seconds_since_epoch += fractional;
214 } 219 }
215 s.get(); // skip the Z 220 c = s.get(); // skip the Z
216 if (c != 'Z') { return false; } 221 if (c != 'Z') { return false; }
217 222
218 mSecondsSinceEpoch = seconds_since_epoch; 223 mSecondsSinceEpoch = seconds_since_epoch;
diff --git a/linden/indra/llcommon/lldate.h b/linden/indra/llcommon/lldate.h
index 5d90a54..7bff18d 100644
--- a/linden/indra/llcommon/lldate.h
+++ b/linden/indra/llcommon/lldate.h
@@ -4,6 +4,8 @@
4 * @date 2006-02-05 4 * @date 2006-02-05
5 * @brief Declaration of a simple date class. 5 * @brief Declaration of a simple date class.
6 * 6 *
7 * $LicenseInfo:firstyear=2006&license=viewergpl$
8 *
7 * Copyright (c) 2006-2007, Linden Research, Inc. 9 * Copyright (c) 2006-2007, Linden Research, Inc.
8 * 10 *
9 * Second Life Viewer Source Code 11 * Second Life Viewer Source Code
@@ -26,6 +28,7 @@
26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 28 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 29 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
28 * COMPLETENESS OR PERFORMANCE. 30 * COMPLETENESS OR PERFORMANCE.
31 * $/LicenseInfo$
29 */ 32 */
30 33
31#ifndef LL_LLDATE_H 34#ifndef LL_LLDATE_H
diff --git a/linden/indra/llcommon/lldefs.h b/linden/indra/llcommon/lldefs.h
index 25f4e73..cd8c79a 100644
--- a/linden/indra/llcommon/lldefs.h
+++ b/linden/indra/llcommon/lldefs.h
@@ -2,6 +2,8 @@
2 * @file lldefs.h 2 * @file lldefs.h
3 * @brief Various generic constant definitions. 3 * @brief Various generic constant definitions.
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLDEFS_H 32#ifndef LL_LLDEFS_H
diff --git a/linden/indra/llcommon/lldepthstack.h b/linden/indra/llcommon/lldepthstack.h
index f3ea709..dbde295 100644
--- a/linden/indra/llcommon/lldepthstack.h
+++ b/linden/indra/llcommon/lldepthstack.h
@@ -2,6 +2,8 @@
2 * @file lldepthstack.h 2 * @file lldepthstack.h
3 * @brief Declaration of the LLDepthStack class 3 * @brief Declaration of the LLDepthStack class
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLDEPTHSTACK_H 32#ifndef LL_LLDEPTHSTACK_H
diff --git a/linden/indra/llcommon/lldlinked.h b/linden/indra/llcommon/lldlinked.h
index 0e39f69..d37d11e 100644
--- a/linden/indra/llcommon/lldlinked.h
+++ b/linden/indra/llcommon/lldlinked.h
@@ -2,6 +2,8 @@
2 * @file lldlinked.h 2 * @file lldlinked.h
3 * @brief Declaration of the LLDLinked class. 3 * @brief Declaration of the LLDLinked class.
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,12 +26,11 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28#ifndef LL_LLDLINKED_H 31#ifndef LL_LLDLINKED_H
29#define LL_LLDLINKED_H 32#define LL_LLDLINKED_H
30 33
31#include <stdlib.h>
32
33template <class Type> class LLDLinked 34template <class Type> class LLDLinked
34{ 35{
35 LLDLinked* mNextp; 36 LLDLinked* mNextp;
diff --git a/linden/indra/llcommon/lldqueueptr.h b/linden/indra/llcommon/lldqueueptr.h
index aca73d9..06eee34 100644
--- a/linden/indra/llcommon/lldqueueptr.h
+++ b/linden/indra/llcommon/lldqueueptr.h
@@ -2,6 +2,8 @@
2 * @file lldqueueptr.h 2 * @file lldqueueptr.h
3 * @brief LLDynamicQueuePtr declaration 3 * @brief LLDynamicQueuePtr declaration
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28#ifndef LL_LLDQUEUEPTR_H 31#ifndef LL_LLDQUEUEPTR_H
29#define LL_LLDQUEUEPTR_H 32#define LL_LLDQUEUEPTR_H
diff --git a/linden/indra/llcommon/llendianswizzle.h b/linden/indra/llcommon/llendianswizzle.h
index d06af70..d2a9e40 100644
--- a/linden/indra/llcommon/llendianswizzle.h
+++ b/linden/indra/llcommon/llendianswizzle.h
@@ -2,6 +2,8 @@
2 * @file llendianswizzle.h 2 * @file llendianswizzle.h
3 * @brief Functions for in-place bit swizzling 3 * @brief Functions for in-place bit swizzling
4 * 4 *
5 * $LicenseInfo:firstyear=2002&license=viewergpl$
6 *
5 * Copyright (c) 2002-2007, Linden Research, Inc. 7 * Copyright (c) 2002-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLENDIANSWIZZLE_H 32#ifndef LL_LLENDIANSWIZZLE_H
diff --git a/linden/indra/llcommon/llenum.h b/linden/indra/llcommon/llenum.h
index 3e75a22..53db01d 100644
--- a/linden/indra/llcommon/llenum.h
+++ b/linden/indra/llcommon/llenum.h
@@ -3,6 +3,8 @@
3 * @author Tom Yedwab 3 * @author Tom Yedwab
4 * @brief Utility class for storing enum value <-> string lookup. 4 * @brief Utility class for storing enum value <-> string lookup.
5 * 5 *
6 * $LicenseInfo:firstyear=2006&license=viewergpl$
7 *
6 * Copyright (c) 2006-2007, Linden Research, Inc. 8 * Copyright (c) 2006-2007, Linden Research, Inc.
7 * 9 *
8 * Second Life Viewer Source Code 10 * Second Life Viewer Source Code
@@ -25,6 +27,7 @@
25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 27 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 28 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
27 * COMPLETENESS OR PERFORMANCE. 29 * COMPLETENESS OR PERFORMANCE.
30 * $/LicenseInfo$
28 */ 31 */
29 32
30#ifndef LL_LLENUM_H 33#ifndef LL_LLENUM_H
diff --git a/linden/indra/llcommon/llerror.cpp b/linden/indra/llcommon/llerror.cpp
index 714a265..22b2c9d 100644
--- a/linden/indra/llcommon/llerror.cpp
+++ b/linden/indra/llcommon/llerror.cpp
@@ -3,6 +3,8 @@
3 * @date December 2006 3 * @date December 2006
4 * @brief error message system 4 * @brief error message system
5 * 5 *
6 * $LicenseInfo:firstyear=2006&license=viewergpl$
7 *
6 * Copyright (c) 2006-2007, Linden Research, Inc. 8 * Copyright (c) 2006-2007, Linden Research, Inc.
7 * 9 *
8 * Second Life Viewer Source Code 10 * Second Life Viewer Source Code
@@ -25,6 +27,7 @@
25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 27 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 28 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
27 * COMPLETENESS OR PERFORMANCE. 29 * COMPLETENESS OR PERFORMANCE.
30 * $/LicenseInfo$
28 */ 31 */
29 32
30#include "linden_common.h" 33#include "linden_common.h"
@@ -32,34 +35,28 @@
32#include "llerror.h" 35#include "llerror.h"
33#include "llerrorcontrol.h" 36#include "llerrorcontrol.h"
34 37
35#include "llapp.h"
36#include "llapr.h"
37extern apr_thread_mutex_t *gLogMutexp;
38#include "llfile.h"
39#include "llfixedbuffer.h"
40#include "lllivefile.h"
41#include "llsd.h"
42#include "llsdserialize.h"
43#include "llstl.h"
44
45#include <algorithm>
46#include <cctype> 38#include <cctype>
47#include <map> 39#ifdef __GNUC__
40#include <cxxabi.h>
41#endif
48#include <sstream> 42#include <sstream>
49#if !LL_WINDOWS 43#if !LL_WINDOWS
50#include <stdio.h>
51#include <syslog.h> 44#include <syslog.h>
52#endif 45#endif
53#include <time.h>
54#if LL_WINDOWS 46#if LL_WINDOWS
55#include <windows.h> 47#include <windows.h>
56#endif 48#endif
57#include <vector> 49#include <vector>
58 50
51#include "llapp.h"
52#include "llapr.h"
53#include "llfile.h"
54#include "llfixedbuffer.h"
55#include "lllivefile.h"
56#include "llsd.h"
57#include "llsdserialize.h"
58#include "llstl.h"
59 59
60#ifdef __GNUC__
61#include <cxxabi.h>
62#endif
63 60
64namespace { 61namespace {
65#if !LL_WINDOWS 62#if !LL_WINDOWS
diff --git a/linden/indra/llcommon/llerror.h b/linden/indra/llcommon/llerror.h
index 9c8d018..ae41cd5 100644
--- a/linden/indra/llcommon/llerror.h
+++ b/linden/indra/llcommon/llerror.h
@@ -3,6 +3,8 @@
3 * @date December 2006 3 * @date December 2006
4 * @brief error message system 4 * @brief error message system
5 * 5 *
6 * $LicenseInfo:firstyear=2006&license=viewergpl$
7 *
6 * Copyright (c) 2006-2007, Linden Research, Inc. 8 * Copyright (c) 2006-2007, Linden Research, Inc.
7 * 9 *
8 * Second Life Viewer Source Code 10 * Second Life Viewer Source Code
@@ -25,6 +27,7 @@
25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 27 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 28 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
27 * COMPLETENESS OR PERFORMANCE. 29 * COMPLETENESS OR PERFORMANCE.
30 * $/LicenseInfo$
28 */ 31 */
29 32
30#ifndef LL_LLERROR_H 33#ifndef LL_LLERROR_H
diff --git a/linden/indra/llcommon/llerrorcontrol.h b/linden/indra/llcommon/llerrorcontrol.h
index c09a180..528704d 100644
--- a/linden/indra/llcommon/llerrorcontrol.h
+++ b/linden/indra/llcommon/llerrorcontrol.h
@@ -3,7 +3,9 @@
3 * @date December 2006 3 * @date December 2006
4 * @brief error message system control 4 * @brief error message system control
5 * 5 *
6 * Copyright (c) 2007-2007, Linden Research, Inc. 6 * $LicenseInfo:firstyear=2007&license=viewergpl$
7 *
8 * Copyright (c) 2007, Linden Research, Inc.
7 * 9 *
8 * Second Life Viewer Source Code 10 * Second Life Viewer Source Code
9 * The source code in this file ("Source Code") is provided by Linden Lab 11 * The source code in this file ("Source Code") is provided by Linden Lab
@@ -25,6 +27,7 @@
25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 27 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 28 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
27 * COMPLETENESS OR PERFORMANCE. 29 * COMPLETENESS OR PERFORMANCE.
30 * $/LicenseInfo$
28 */ 31 */
29 32
30#ifndef LL_LLERRORCONTROL_H 33#ifndef LL_LLERRORCONTROL_H
diff --git a/linden/indra/llcommon/llerrorlegacy.h b/linden/indra/llcommon/llerrorlegacy.h
index 1671d0f..cef3455 100644
--- a/linden/indra/llcommon/llerrorlegacy.h
+++ b/linden/indra/llcommon/llerrorlegacy.h
@@ -3,7 +3,9 @@
3 * @date January 2007 3 * @date January 2007
4 * @brief old things from the older error system 4 * @brief old things from the older error system
5 * 5 *
6 * Copyright (c) 2007-2007, Linden Research, Inc. 6 * $LicenseInfo:firstyear=2007&license=viewergpl$
7 *
8 * Copyright (c) 2007, Linden Research, Inc.
7 * 9 *
8 * Second Life Viewer Source Code 10 * Second Life Viewer Source Code
9 * The source code in this file ("Source Code") is provided by Linden Lab 11 * The source code in this file ("Source Code") is provided by Linden Lab
@@ -25,6 +27,7 @@
25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 27 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 28 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
27 * COMPLETENESS OR PERFORMANCE. 29 * COMPLETENESS OR PERFORMANCE.
30 * $/LicenseInfo$
28 */ 31 */
29 32
30#ifndef LL_LLERRORLEGACY_H 33#ifndef LL_LLERRORLEGACY_H
diff --git a/linden/indra/llcommon/llerrorthread.cpp b/linden/indra/llcommon/llerrorthread.cpp
index 5f7d448..66806b4 100644
--- a/linden/indra/llcommon/llerrorthread.cpp
+++ b/linden/indra/llcommon/llerrorthread.cpp
@@ -1,6 +1,8 @@
1/** 1/**
2 * @file llerrorthread.cpp 2 * @file llerrorthread.cpp
3 * 3 *
4 * $LicenseInfo:firstyear=2004&license=viewergpl$
5 *
4 * Copyright (c) 2004-2007, Linden Research, Inc. 6 * Copyright (c) 2004-2007, Linden Research, Inc.
5 * 7 *
6 * Second Life Viewer Source Code 8 * Second Life Viewer Source Code
@@ -23,6 +25,7 @@
23 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
24 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
25 * COMPLETENESS OR PERFORMANCE. 27 * COMPLETENESS OR PERFORMANCE.
28 * $/LicenseInfo$
26 */ 29 */
27 30
28#include "linden_common.h" 31#include "linden_common.h"
diff --git a/linden/indra/llcommon/llerrorthread.h b/linden/indra/llcommon/llerrorthread.h
index 61bcf4c..714f014 100644
--- a/linden/indra/llcommon/llerrorthread.h
+++ b/linden/indra/llcommon/llerrorthread.h
@@ -2,6 +2,8 @@
2 * @file llerrorthread.h 2 * @file llerrorthread.h
3 * @brief Specialized thread to handle runtime errors. 3 * @brief Specialized thread to handle runtime errors.
4 * 4 *
5 * $LicenseInfo:firstyear=2004&license=viewergpl$
6 *
5 * Copyright (c) 2004-2007, Linden Research, Inc. 7 * Copyright (c) 2004-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLERRORTHREAD_H 32#ifndef LL_LLERRORTHREAD_H
diff --git a/linden/indra/llcommon/llevent.cpp b/linden/indra/llcommon/llevent.cpp
index 9c736c8..292d090 100644
--- a/linden/indra/llcommon/llevent.cpp
+++ b/linden/indra/llcommon/llevent.cpp
@@ -2,6 +2,8 @@
2 * @file llevent.cpp 2 * @file llevent.cpp
3 * @brief LLEvent and LLEventListener base classes. 3 * @brief LLEvent and LLEventListener base classes.
4 * 4 *
5 * $LicenseInfo:firstyear=2006&license=viewergpl$
6 *
5 * Copyright (c) 2006-2007, Linden Research, Inc. 7 * Copyright (c) 2006-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#include "linden_common.h" 32#include "linden_common.h"
diff --git a/linden/indra/llcommon/llevent.h b/linden/indra/llcommon/llevent.h
index cab8817..3018cc6 100644
--- a/linden/indra/llcommon/llevent.h
+++ b/linden/indra/llcommon/llevent.h
@@ -3,6 +3,8 @@
3 * @author Tom Yedwab 3 * @author Tom Yedwab
4 * @brief LLEvent and LLEventListener base classes. 4 * @brief LLEvent and LLEventListener base classes.
5 * 5 *
6 * $LicenseInfo:firstyear=2001&license=viewergpl$
7 *
6 * Copyright (c) 2001-2007, Linden Research, Inc. 8 * Copyright (c) 2001-2007, Linden Research, Inc.
7 * 9 *
8 * Second Life Viewer Source Code 10 * Second Life Viewer Source Code
@@ -25,6 +27,7 @@
25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 27 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 28 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
27 * COMPLETENESS OR PERFORMANCE. 29 * COMPLETENESS OR PERFORMANCE.
30 * $/LicenseInfo$
28 */ 31 */
29 32
30#ifndef LL_EVENT_H 33#ifndef LL_EVENT_H
diff --git a/linden/indra/llcommon/lleventemitter.h b/linden/indra/llcommon/lleventemitter.h
index 6390d34..4129dab 100644
--- a/linden/indra/llcommon/lleventemitter.h
+++ b/linden/indra/llcommon/lleventemitter.h
@@ -2,6 +2,8 @@
2 * @file lleventemitter.h 2 * @file lleventemitter.h
3 * @brief General event emitter class 3 * @brief General event emitter class
4 * 4 *
5 * $LicenseInfo:firstyear=2005&license=viewergpl$
6 *
5 * Copyright (c) 2005-2007, Linden Research, Inc. 7 * Copyright (c) 2005-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29// header guard 32// header guard
diff --git a/linden/indra/llcommon/llextendedstatus.h b/linden/indra/llcommon/llextendedstatus.h
index a1c998f..e4266f6 100644
--- a/linden/indra/llcommon/llextendedstatus.h
+++ b/linden/indra/llcommon/llextendedstatus.h
@@ -3,7 +3,9 @@
3 * @date August 2007 3 * @date August 2007
4 * @brief extended status codes for curl/vfs/resident asset storage and delivery 4 * @brief extended status codes for curl/vfs/resident asset storage and delivery
5 * 5 *
6 * Copyright (c) 2007-2007, Linden Research, Inc. 6 * $LicenseInfo:firstyear=2007&license=viewergpl$
7 *
8 * Copyright (c) 2007, Linden Research, Inc.
7 * 9 *
8 * Second Life Viewer Source Code 10 * Second Life Viewer Source Code
9 * The source code in this file ("Source Code") is provided by Linden Lab 11 * The source code in this file ("Source Code") is provided by Linden Lab
@@ -25,6 +27,7 @@
25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 27 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 28 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
27 * COMPLETENESS OR PERFORMANCE. 29 * COMPLETENESS OR PERFORMANCE.
30 * $/LicenseInfo$
28 */ 31 */
29 32
30#ifndef LL_LLEXTENDEDSTATUS_H 33#ifndef LL_LLEXTENDEDSTATUS_H
diff --git a/linden/indra/llcommon/llfasttimer.cpp b/linden/indra/llcommon/llfasttimer.cpp
index 6c0f9ac..9dc5e17 100644
--- a/linden/indra/llcommon/llfasttimer.cpp
+++ b/linden/indra/llcommon/llfasttimer.cpp
@@ -2,6 +2,8 @@
2 * @file llfasttimer.cpp 2 * @file llfasttimer.cpp
3 * @brief Implementation of the fast timer. 3 * @brief Implementation of the fast timer.
4 * 4 *
5 * $LicenseInfo:firstyear=2004&license=viewergpl$
6 *
5 * Copyright (c) 2004-2007, Linden Research, Inc. 7 * Copyright (c) 2004-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,25 +26,23 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28#include "linden_common.h" 31#include "linden_common.h"
29 32
30#include "llfasttimer.h" 33#include "llfasttimer.h"
34
31#include "llprocessor.h" 35#include "llprocessor.h"
32 36
33#if LL_WINDOWS
34#include <time.h>
35 37
38#if LL_WINDOWS
36#elif LL_LINUX || LL_SOLARIS 39#elif LL_LINUX || LL_SOLARIS
37#include <time.h>
38#include <sys/time.h> 40#include <sys/time.h>
39#include <sched.h> 41#include <sched.h>
40
41#elif LL_DARWIN 42#elif LL_DARWIN
42# include <time.h> 43#include <sys/time.h>
43# include <sys/time.h>
44#else 44#else
45# error "architecture not supported" 45#error "architecture not supported"
46#endif 46#endif
47 47
48////////////////////////////////////////////////////////////////////////////// 48//////////////////////////////////////////////////////////////////////////////
diff --git a/linden/indra/llcommon/llfasttimer.h b/linden/indra/llcommon/llfasttimer.h
index 4182500..08edce4 100644
--- a/linden/indra/llcommon/llfasttimer.h
+++ b/linden/indra/llcommon/llfasttimer.h
@@ -2,6 +2,8 @@
2 * @file llfasttimer.h 2 * @file llfasttimer.h
3 * @brief Declaration of a fast timer. 3 * @brief Declaration of a fast timer.
4 * 4 *
5 * $LicenseInfo:firstyear=2004&license=viewergpl$
6 *
5 * Copyright (c) 2004-2007, Linden Research, Inc. 7 * Copyright (c) 2004-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,13 +26,12 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLFASTTIMER_H 32#ifndef LL_LLFASTTIMER_H
30#define LL_LLFASTTIMER_H 33#define LL_LLFASTTIMER_H
31 34
32#include "lltimer.h"
33
34#define FAST_TIMER_ON 1 35#define FAST_TIMER_ON 1
35 36
36U64 get_cpu_clock_count(); 37U64 get_cpu_clock_count();
diff --git a/linden/indra/llcommon/llfile.cpp b/linden/indra/llcommon/llfile.cpp
index 6fcfc42..eb76b20 100644
--- a/linden/indra/llcommon/llfile.cpp
+++ b/linden/indra/llcommon/llfile.cpp
@@ -5,6 +5,8 @@
5 * @brief Implementation of cross-platform POSIX file buffer and c++ 5 * @brief Implementation of cross-platform POSIX file buffer and c++
6 * stream classes. 6 * stream classes.
7 * 7 *
8 * $LicenseInfo:firstyear=2006&license=viewergpl$
9 *
8 * Copyright (c) 2006-2007, Linden Research, Inc. 10 * Copyright (c) 2006-2007, Linden Research, Inc.
9 * 11 *
10 * Second Life Viewer Source Code 12 * Second Life Viewer Source Code
@@ -27,6 +29,7 @@
27 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 29 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
28 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 30 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
29 * COMPLETENESS OR PERFORMANCE. 31 * COMPLETENESS OR PERFORMANCE.
32 * $/LicenseInfo$
30 */ 33 */
31 34
32#include "linden_common.h" 35#include "linden_common.h"
diff --git a/linden/indra/llcommon/llfile.h b/linden/indra/llcommon/llfile.h
index 9e1a98a..f51cea9 100644
--- a/linden/indra/llcommon/llfile.h
+++ b/linden/indra/llcommon/llfile.h
@@ -5,6 +5,8 @@
5 * @brief Declaration of cross-platform POSIX file buffer and c++ 5 * @brief Declaration of cross-platform POSIX file buffer and c++
6 * stream classes. 6 * stream classes.
7 * 7 *
8 * $LicenseInfo:firstyear=2006&license=viewergpl$
9 *
8 * Copyright (c) 2006-2007, Linden Research, Inc. 10 * Copyright (c) 2006-2007, Linden Research, Inc.
9 * 11 *
10 * Second Life Viewer Source Code 12 * Second Life Viewer Source Code
@@ -27,6 +29,7 @@
27 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 29 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
28 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 30 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
29 * COMPLETENESS OR PERFORMANCE. 31 * COMPLETENESS OR PERFORMANCE.
32 * $/LicenseInfo$
30 */ 33 */
31 34
32#ifndef LL_LLFILE_H 35#ifndef LL_LLFILE_H
@@ -37,12 +40,6 @@
37 * Attempts to mostly mirror the POSIX style IO functions. 40 * Attempts to mostly mirror the POSIX style IO functions.
38 */ 41 */
39 42
40#include <string>
41#include <stdio.h>
42#include <sys/stat.h>
43#include <fstream>
44#include "stdtypes.h"
45
46typedef FILE LLFILE; 43typedef FILE LLFILE;
47 44
48#ifdef LL_WINDOWS 45#ifdef LL_WINDOWS
@@ -56,6 +53,7 @@ typedef FILE LLFILE;
56// windows version of stat function and stat data structure are called _stat 53// windows version of stat function and stat data structure are called _stat
57typedef struct _stat llstat; 54typedef struct _stat llstat;
58#else 55#else
56#include <sys/stat.h>
59typedef struct stat llstat; 57typedef struct stat llstat;
60#endif 58#endif
61 59
diff --git a/linden/indra/llcommon/llfixedbuffer.cpp b/linden/indra/llcommon/llfixedbuffer.cpp
index 6defd92..44bb953 100644
--- a/linden/indra/llcommon/llfixedbuffer.cpp
+++ b/linden/indra/llcommon/llfixedbuffer.cpp
@@ -1,6 +1,8 @@
1/** 1/**
2 * @file llfixedbuffer.cpp 2 * @file llfixedbuffer.cpp
3 * 3 *
4 * $LicenseInfo:firstyear=2001&license=viewergpl$
5 *
4 * Copyright (c) 2001-2007, Linden Research, Inc. 6 * Copyright (c) 2001-2007, Linden Research, Inc.
5 * 7 *
6 * Second Life Viewer Source Code 8 * Second Life Viewer Source Code
@@ -23,6 +25,7 @@
23 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
24 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
25 * COMPLETENESS OR PERFORMANCE. 27 * COMPLETENESS OR PERFORMANCE.
28 * $/LicenseInfo$
26 */ 29 */
27#include "linden_common.h" 30#include "linden_common.h"
28 31
diff --git a/linden/indra/llcommon/llfixedbuffer.h b/linden/indra/llcommon/llfixedbuffer.h
index fbf2338..148c0e6 100644
--- a/linden/indra/llcommon/llfixedbuffer.h
+++ b/linden/indra/llcommon/llfixedbuffer.h
@@ -2,6 +2,8 @@
2 * @file llfixedbuffer.h 2 * @file llfixedbuffer.h
3 * @brief A fixed size buffer of lines. 3 * @brief A fixed size buffer of lines.
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLFIXEDBUFFER_H 32#ifndef LL_LLFIXEDBUFFER_H
diff --git a/linden/indra/llcommon/llformat.cpp b/linden/indra/llcommon/llformat.cpp
index 6a5b531..bb0f467 100644
--- a/linden/indra/llcommon/llformat.cpp
+++ b/linden/indra/llcommon/llformat.cpp
@@ -3,7 +3,9 @@
3 * @date January 2007 3 * @date January 2007
4 * @brief string formatting utility 4 * @brief string formatting utility
5 * 5 *
6 * Copyright (c) 2007-2007, Linden Research, Inc. 6 * $LicenseInfo:firstyear=2007&license=viewergpl$
7 *
8 * Copyright (c) 2007, Linden Research, Inc.
7 * 9 *
8 * Second Life Viewer Source Code 10 * Second Life Viewer Source Code
9 * The source code in this file ("Source Code") is provided by Linden Lab 11 * The source code in this file ("Source Code") is provided by Linden Lab
@@ -25,13 +27,14 @@
25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 27 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 28 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
27 * COMPLETENESS OR PERFORMANCE. 29 * COMPLETENESS OR PERFORMANCE.
30 * $/LicenseInfo$
28 */ 31 */
29 32
30#include "linden_common.h" 33#include "linden_common.h"
31 34
32#include "llformat.h" 35#include "llformat.h"
33 36
34#include <stdarg.h> 37#include <cstdarg>
35 38
36std::string llformat(const char *fmt, ...) 39std::string llformat(const char *fmt, ...)
37{ 40{
diff --git a/linden/indra/llcommon/llformat.h b/linden/indra/llcommon/llformat.h
index b338591..8b8c4a4 100644
--- a/linden/indra/llcommon/llformat.h
+++ b/linden/indra/llcommon/llformat.h
@@ -3,7 +3,9 @@
3 * @date January 2007 3 * @date January 2007
4 * @brief string formatting utility 4 * @brief string formatting utility
5 * 5 *
6 * Copyright (c) 2007-2007, Linden Research, Inc. 6 * $LicenseInfo:firstyear=2007&license=viewergpl$
7 *
8 * Copyright (c) 2007, Linden Research, Inc.
7 * 9 *
8 * Second Life Viewer Source Code 10 * Second Life Viewer Source Code
9 * The source code in this file ("Source Code") is provided by Linden Lab 11 * The source code in this file ("Source Code") is provided by Linden Lab
@@ -25,13 +27,12 @@
25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 27 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 28 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
27 * COMPLETENESS OR PERFORMANCE. 29 * COMPLETENESS OR PERFORMANCE.
30 * $/LicenseInfo$
28 */ 31 */
29 32
30#ifndef LL_LLFORMAT_H 33#ifndef LL_LLFORMAT_H
31#define LL_LLFORMAT_H 34#define LL_LLFORMAT_H
32 35
33#include <string>
34
35// Use as follows: 36// Use as follows:
36// llinfos << llformat("Test:%d (%.2f %.2f)", idx, x, y) << llendl; 37// llinfos << llformat("Test:%d (%.2f %.2f)", idx, x, y) << llendl;
37// 38//
diff --git a/linden/indra/llcommon/llframetimer.cpp b/linden/indra/llcommon/llframetimer.cpp
index 2b53e8c..23d8775 100644
--- a/linden/indra/llcommon/llframetimer.cpp
+++ b/linden/indra/llcommon/llframetimer.cpp
@@ -1,6 +1,8 @@
1/** 1/**
2 * @file llframetimer.cpp 2 * @file llframetimer.cpp
3 * 3 *
4 * $LicenseInfo:firstyear=2002&license=viewergpl$
5 *
4 * Copyright (c) 2002-2007, Linden Research, Inc. 6 * Copyright (c) 2002-2007, Linden Research, Inc.
5 * 7 *
6 * Second Life Viewer Source Code 8 * Second Life Viewer Source Code
@@ -23,6 +25,7 @@
23 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
24 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
25 * COMPLETENESS OR PERFORMANCE. 27 * COMPLETENESS OR PERFORMANCE.
28 * $/LicenseInfo$
26 */ 29 */
27 30
28#include "linden_common.h" 31#include "linden_common.h"
diff --git a/linden/indra/llcommon/llframetimer.h b/linden/indra/llcommon/llframetimer.h
index de550e2..9d55fd1 100644
--- a/linden/indra/llcommon/llframetimer.h
+++ b/linden/indra/llcommon/llframetimer.h
@@ -3,6 +3,8 @@
3 * @brief A lightweight timer that measures seconds and is only 3 * @brief A lightweight timer that measures seconds and is only
4 * updated once per frame. 4 * updated once per frame.
5 * 5 *
6 * $LicenseInfo:firstyear=2002&license=viewergpl$
7 *
6 * Copyright (c) 2002-2007, Linden Research, Inc. 8 * Copyright (c) 2002-2007, Linden Research, Inc.
7 * 9 *
8 * Second Life Viewer Source Code 10 * Second Life Viewer Source Code
@@ -25,6 +27,7 @@
25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 27 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 28 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
27 * COMPLETENESS OR PERFORMANCE. 29 * COMPLETENESS OR PERFORMANCE.
30 * $/LicenseInfo$
28 */ 31 */
29 32
30#ifndef LL_LLFRAMETIMER_H 33#ifndef LL_LLFRAMETIMER_H
diff --git a/linden/indra/llcommon/llhash.h b/linden/indra/llcommon/llhash.h
index 793783f..f4b0586 100644
--- a/linden/indra/llcommon/llhash.h
+++ b/linden/indra/llcommon/llhash.h
@@ -2,6 +2,8 @@
2 * @file llhash.h 2 * @file llhash.h
3 * @brief Wrapper for a hash function. 3 * @brief Wrapper for a hash function.
4 * 4 *
5 * $LicenseInfo:firstyear=2004&license=viewergpl$
6 *
5 * Copyright (c) 2004-2007, Linden Research, Inc. 7 * Copyright (c) 2004-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLHASH_H 32#ifndef LL_LLHASH_H
diff --git a/linden/indra/llcommon/llindexedqueue.h b/linden/indra/llcommon/llindexedqueue.h
index 13e9f7a..d689f1c 100644
--- a/linden/indra/llcommon/llindexedqueue.h
+++ b/linden/indra/llcommon/llindexedqueue.h
@@ -3,6 +3,8 @@
3 * @brief An indexed FIFO queue, where only one element with each key 3 * @brief An indexed FIFO queue, where only one element with each key
4 * can be in the queue. 4 * can be in the queue.
5 * 5 *
6 * $LicenseInfo:firstyear=2003&license=viewergpl$
7 *
6 * Copyright (c) 2003-2007, Linden Research, Inc. 8 * Copyright (c) 2003-2007, Linden Research, Inc.
7 * 9 *
8 * Second Life Viewer Source Code 10 * Second Life Viewer Source Code
@@ -25,6 +27,7 @@
25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 27 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 28 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
27 * COMPLETENESS OR PERFORMANCE. 29 * COMPLETENESS OR PERFORMANCE.
30 * $/LicenseInfo$
28 */ 31 */
29 32
30#ifndef LL_LLINDEXEDQUEUE_H 33#ifndef LL_LLINDEXEDQUEUE_H
diff --git a/linden/indra/llcommon/lllinkedqueue.h b/linden/indra/llcommon/lllinkedqueue.h
index 9ce5a1b..dcd13a2 100644
--- a/linden/indra/llcommon/lllinkedqueue.h
+++ b/linden/indra/llcommon/lllinkedqueue.h
@@ -2,6 +2,8 @@
2 * @file lllinkedqueue.h 2 * @file lllinkedqueue.h
3 * @brief Declaration of linked queue classes. 3 * @brief Declaration of linked queue classes.
4 * 4 *
5 * $LicenseInfo:firstyear=2003&license=viewergpl$
6 *
5 * Copyright (c) 2003-2007, Linden Research, Inc. 7 * Copyright (c) 2003-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLLINKEDQUEUE_H 32#ifndef LL_LLLINKEDQUEUE_H
diff --git a/linden/indra/llcommon/llliveappconfig.cpp b/linden/indra/llcommon/llliveappconfig.cpp
index 7923126..7643277 100644
--- a/linden/indra/llcommon/llliveappconfig.cpp
+++ b/linden/indra/llcommon/llliveappconfig.cpp
@@ -2,6 +2,8 @@
2 * @file llliveappconfig.cpp 2 * @file llliveappconfig.cpp
3 * @brief Configuration information for an LLApp that overrides indra.xml 3 * @brief Configuration information for an LLApp that overrides indra.xml
4 * 4 *
5 * $LicenseInfo:firstyear=2003&license=viewergpl$
6 *
5 * Copyright (c) 2003-2007, Linden Research, Inc. 7 * Copyright (c) 2003-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#include "linden_common.h" 32#include "linden_common.h"
diff --git a/linden/indra/llcommon/llliveappconfig.h b/linden/indra/llcommon/llliveappconfig.h
index f5c73d0..dd6dbfb 100644
--- a/linden/indra/llcommon/llliveappconfig.h
+++ b/linden/indra/llcommon/llliveappconfig.h
@@ -2,6 +2,8 @@
2 * @file llliveappconfig.h 2 * @file llliveappconfig.h
3 * @brief Configuration information for an LLApp that overrides indra.xml 3 * @brief Configuration information for an LLApp that overrides indra.xml
4 * 4 *
5 * $LicenseInfo:firstyear=2003&license=viewergpl$
6 *
5 * Copyright (c) 2003-2007, Linden Research, Inc. 7 * Copyright (c) 2003-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LLLIVEAPPCONFIG_H 32#ifndef LLLIVEAPPCONFIG_H
diff --git a/linden/indra/llcommon/lllivefile.cpp b/linden/indra/llcommon/lllivefile.cpp
index 17fe210..cb3ce0f 100644
--- a/linden/indra/llcommon/lllivefile.cpp
+++ b/linden/indra/llcommon/lllivefile.cpp
@@ -1,6 +1,8 @@
1/** 1/**
2 * @file lllivefile.cpp 2 * @file lllivefile.cpp
3 * 3 *
4 * $LicenseInfo:firstyear=2006&license=viewergpl$
5 *
4 * Copyright (c) 2006-2007, Linden Research, Inc. 6 * Copyright (c) 2006-2007, Linden Research, Inc.
5 * 7 *
6 * Second Life Viewer Source Code 8 * Second Life Viewer Source Code
@@ -23,6 +25,7 @@
23 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
24 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
25 * COMPLETENESS OR PERFORMANCE. 27 * COMPLETENESS OR PERFORMANCE.
28 * $/LicenseInfo$
26 */ 29 */
27 30
28#include "linden_common.h" 31#include "linden_common.h"
diff --git a/linden/indra/llcommon/lllivefile.h b/linden/indra/llcommon/lllivefile.h
index d8381bf..689590e 100644
--- a/linden/indra/llcommon/lllivefile.h
+++ b/linden/indra/llcommon/lllivefile.h
@@ -2,6 +2,8 @@
2 * @file lllivefile.h 2 * @file lllivefile.h
3 * @brief Automatically reloads a file whenever it changes or is removed. 3 * @brief Automatically reloads a file whenever it changes or is removed.
4 * 4 *
5 * $LicenseInfo:firstyear=2006&license=viewergpl$
6 *
5 * Copyright (c) 2006-2007, Linden Research, Inc. 7 * Copyright (c) 2006-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLLIVEFILE_H 32#ifndef LL_LLLIVEFILE_H
diff --git a/linden/indra/llcommon/lllocalidhashmap.h b/linden/indra/llcommon/lllocalidhashmap.h
index aae0bd9..12df73d 100644
--- a/linden/indra/llcommon/lllocalidhashmap.h
+++ b/linden/indra/llcommon/lllocalidhashmap.h
@@ -2,6 +2,8 @@
2 * @file lllocalidhashmap.h 2 * @file lllocalidhashmap.h
3 * @brief Map specialized for dealing with local ids 3 * @brief Map specialized for dealing with local ids
4 * 4 *
5 * $LicenseInfo:firstyear=2003&license=viewergpl$
6 *
5 * Copyright (c) 2003-2007, Linden Research, Inc. 7 * Copyright (c) 2003-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLLOCALIDHASHMAP_H 32#ifndef LL_LLLOCALIDHASHMAP_H
diff --git a/linden/indra/llcommon/lllslconstants.h b/linden/indra/llcommon/lllslconstants.h
index 372c54e..c970161 100644
--- a/linden/indra/llcommon/lllslconstants.h
+++ b/linden/indra/llcommon/lllslconstants.h
@@ -3,6 +3,8 @@
3 * @author James Cook 3 * @author James Cook
4 * @brief Constants used in lsl. 4 * @brief Constants used in lsl.
5 * 5 *
6 * $LicenseInfo:firstyear=2006&license=viewergpl$
7 *
6 * Copyright (c) 2006-2007, Linden Research, Inc. 8 * Copyright (c) 2006-2007, Linden Research, Inc.
7 * 9 *
8 * Second Life Viewer Source Code 10 * Second Life Viewer Source Code
@@ -25,6 +27,7 @@
25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 27 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 28 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
27 * COMPLETENESS OR PERFORMANCE. 29 * COMPLETENESS OR PERFORMANCE.
30 * $/LicenseInfo$
28 */ 31 */
29 32
30#ifndef LL_LLLSLCONSTANTS_H 33#ifndef LL_LLLSLCONSTANTS_H
diff --git a/linden/indra/llcommon/llmap.h b/linden/indra/llcommon/llmap.h
index 65e3da7..9ad93b2 100644
--- a/linden/indra/llcommon/llmap.h
+++ b/linden/indra/llcommon/llmap.h
@@ -2,6 +2,8 @@
2 * @file llmap.h 2 * @file llmap.h
3 * @brief LLMap class header file 3 * @brief LLMap class header file
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,15 +26,12 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLMAP_H 32#ifndef LL_LLMAP_H
30#define LL_LLMAP_H 33#define LL_LLMAP_H
31 34
32#include <stdio.h>
33#include <utility>
34#include <map>
35
36// llmap uses the fast stl library code in a manner consistant with LLSkipMap, et. al. 35// llmap uses the fast stl library code in a manner consistant with LLSkipMap, et. al.
37 36
38template<class INDEX_TYPE, class MAPPED_TYPE> class LLMap 37template<class INDEX_TYPE, class MAPPED_TYPE> class LLMap
diff --git a/linden/indra/llcommon/llmemory.cpp b/linden/indra/llcommon/llmemory.cpp
index 65f3409..e52a137 100644
--- a/linden/indra/llcommon/llmemory.cpp
+++ b/linden/indra/llcommon/llmemory.cpp
@@ -2,6 +2,8 @@
2 * @file llmemory.cpp 2 * @file llmemory.cpp
3 * @brief Very special memory allocation/deallocation stuff here 3 * @brief Very special memory allocation/deallocation stuff here
4 * 4 *
5 * $LicenseInfo:firstyear=2002&license=viewergpl$
6 *
5 * Copyright (c) 2002-2007, Linden Research, Inc. 7 * Copyright (c) 2002-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,10 +26,26 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#include "linden_common.h" 32#include "linden_common.h"
30 33
34#if defined(LL_WINDOWS)
35# include <windows.h>
36# include <psapi.h>
37#elif defined(LL_DARWIN)
38# include <sys/types.h>
39# include <sys/sysctl.h>
40# include <mach/task.h>
41# include <mach/vm_map.h>
42# include <mach/mach_init.h>
43# include <mach/vm_region.h>
44# include <mach/mach_port.h>
45#elif defined(LL_LINUX)
46# include <unistd.h>
47#endif
48
31#include "llmemory.h" 49#include "llmemory.h"
32#include "llmemtype.h" 50#include "llmemtype.h"
33 51
@@ -278,3 +296,131 @@ LLRefCount::~LLRefCount()
278 296
279//---------------------------------------------------------------------------- 297//----------------------------------------------------------------------------
280 298
299#if defined(LL_WINDOWS)
300
301U64 getCurrentRSS()
302{
303 HANDLE self = GetCurrentProcess();
304 PROCESS_MEMORY_COUNTERS counters;
305
306 if (!GetProcessMemoryInfo(self, &counters, sizeof(counters)))
307 {
308 llwarns << "GetProcessMemoryInfo failed" << llendl;
309 return 0;
310 }
311
312 return counters.WorkingSetSize;
313}
314
315#elif defined(LL_DARWIN)
316
317static U32 getPageSize()
318{
319 int ctl[2] = { CTL_HW, HW_PAGESIZE };
320 int page_size;
321 size_t size = sizeof(page_size);
322
323 if (sysctl(ctl, 2, &page_size, &size, NULL, 0) == -1)
324 {
325 llwarns << "Couldn't get page size" << llendl;
326 return 0;
327 } else {
328 return page_size;
329 }
330}
331
332U64 getCurrentRSS()
333{
334 task_t task = mach_task_self();
335 vm_address_t addr = VM_MIN_ADDRESS;
336 vm_size_t size = 0;
337 U64 residentPages = 0;
338
339 while (true)
340 {
341 mach_msg_type_number_t bcount = VM_REGION_BASIC_INFO_COUNT;
342 vm_region_basic_info binfo;
343 mach_port_t bobj;
344 kern_return_t ret;
345
346 addr += size;
347
348 ret = vm_region(task, &addr, &size, VM_REGION_BASIC_INFO,
349 (vm_region_info_t) &binfo, &bcount, &bobj);
350
351 if (ret != KERN_SUCCESS)
352 {
353 break;
354 }
355
356 if (bobj != MACH_PORT_NULL)
357 {
358 mach_port_deallocate(task, bobj);
359 }
360
361 mach_msg_type_number_t ecount = VM_REGION_EXTENDED_INFO_COUNT;
362 vm_region_extended_info einfo;
363 mach_port_t eobj;
364
365 ret = vm_region(task, &addr, &size, VM_REGION_EXTENDED_INFO,
366 (vm_region_info_t) &einfo, &ecount, &eobj);
367
368 if (ret != KERN_SUCCESS)
369 {
370 llwarns << "vm_region failed" << llendl;
371 return 0;
372 }
373
374 if (eobj != MACH_PORT_NULL)
375 {
376 mach_port_deallocate(task, eobj);
377 }
378
379 residentPages += einfo.pages_resident;
380 }
381
382 return residentPages * getPageSize();
383}
384
385#elif defined(LL_LINUX)
386
387U64 getCurrentRSS()
388{
389 static const char statPath[] = "/proc/self/stat";
390 FILE *fp = fopen(statPath, "r");
391 U64 rss = 0;
392
393 if (fp == NULL)
394 {
395 llwarns << "couldn't open " << statPath << llendl;
396 goto bail;
397 }
398
399 // Eee-yew! See Documentation/filesystems/proc.txt in your
400 // nearest friendly kernel tree for details.
401
402 {
403 int ret = fscanf(fp, "%*d (%*[^)]) %*c %*d %*d %*d %*d %*d %*d %*d "
404 "%*d %*d %*d %*d %*d %*d %*d %*d %*d %*d %*d %Lu",
405 &rss);
406 if (ret != 1)
407 {
408 llwarns << "couldn't parse contents of " << statPath << llendl;
409 rss = 0;
410 }
411 }
412
413 fclose(fp);
414
415bail:
416 return rss;
417}
418
419#else
420
421U64 getCurrentRSS()
422{
423 return 0;
424}
425
426#endif
diff --git a/linden/indra/llcommon/llmemory.h b/linden/indra/llcommon/llmemory.h
index b6f42e3..b72046c 100644
--- a/linden/indra/llcommon/llmemory.h
+++ b/linden/indra/llcommon/llmemory.h
@@ -2,6 +2,8 @@
2 * @file llmemory.h 2 * @file llmemory.h
3 * @brief Memory allocation/deallocation header-stuff goes here. 3 * @brief Memory allocation/deallocation header-stuff goes here.
4 * 4 *
5 * $LicenseInfo:firstyear=2002&license=viewergpl$
6 *
5 * Copyright (c) 2002-2007, Linden Research, Inc. 7 * Copyright (c) 2002-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28#ifndef LL_MEMORY_H 31#ifndef LL_MEMORY_H
29#define LL_MEMORY_H 32#define LL_MEMORY_H
@@ -415,5 +418,8 @@ public:
415 418
416//---------------------------------------------------------------------------- 419//----------------------------------------------------------------------------
417 420
418#endif 421// Return the resident set size of the current process, in bytes.
422// Return value is zero if not known.
423U64 getCurrentRSS();
419 424
425#endif
diff --git a/linden/indra/llcommon/llmemorystream.cpp b/linden/indra/llcommon/llmemorystream.cpp
index ac9e61c..e487252 100644
--- a/linden/indra/llcommon/llmemorystream.cpp
+++ b/linden/indra/llcommon/llmemorystream.cpp
@@ -4,6 +4,8 @@
4 * @date 2005-06-03 4 * @date 2005-06-03
5 * @brief Buffer and stream for a fixed linear memory segment. 5 * @brief Buffer and stream for a fixed linear memory segment.
6 * 6 *
7 * $LicenseInfo:firstyear=2005&license=viewergpl$
8 *
7 * Copyright (c) 2005-2007, Linden Research, Inc. 9 * Copyright (c) 2005-2007, Linden Research, Inc.
8 * 10 *
9 * Second Life Viewer Source Code 11 * Second Life Viewer Source Code
@@ -26,6 +28,7 @@
26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 28 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 29 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
28 * COMPLETENESS OR PERFORMANCE. 30 * COMPLETENESS OR PERFORMANCE.
31 * $/LicenseInfo$
29 */ 32 */
30 33
31#include "linden_common.h" 34#include "linden_common.h"
diff --git a/linden/indra/llcommon/llmemorystream.h b/linden/indra/llcommon/llmemorystream.h
index f00bc28..317e86d 100644
--- a/linden/indra/llcommon/llmemorystream.h
+++ b/linden/indra/llcommon/llmemorystream.h
@@ -4,6 +4,8 @@
4 * @date 2005-06-03 4 * @date 2005-06-03
5 * @brief Implementation of a simple fixed memory stream 5 * @brief Implementation of a simple fixed memory stream
6 * 6 *
7 * $LicenseInfo:firstyear=2005&license=viewergpl$
8 *
7 * Copyright (c) 2005-2007, Linden Research, Inc. 9 * Copyright (c) 2005-2007, Linden Research, Inc.
8 * 10 *
9 * Second Life Viewer Source Code 11 * Second Life Viewer Source Code
@@ -26,6 +28,7 @@
26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 28 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 29 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
28 * COMPLETENESS OR PERFORMANCE. 30 * COMPLETENESS OR PERFORMANCE.
31 * $/LicenseInfo$
29 */ 32 */
30 33
31#ifndef LL_LLMEMORYSTREAM_H 34#ifndef LL_LLMEMORYSTREAM_H
diff --git a/linden/indra/llcommon/llmemtype.h b/linden/indra/llcommon/llmemtype.h
index 9bab72e..9bf6cad 100644
--- a/linden/indra/llcommon/llmemtype.h
+++ b/linden/indra/llcommon/llmemtype.h
@@ -2,6 +2,8 @@
2 * @file llmemtype.h 2 * @file llmemtype.h
3 * @brief Runtime memory usage debugging utilities. 3 * @brief Runtime memory usage debugging utilities.
4 * 4 *
5 * $LicenseInfo:firstyear=2005&license=viewergpl$
6 *
5 * Copyright (c) 2005-2007, Linden Research, Inc. 7 * Copyright (c) 2005-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_MEMTYPE_H 32#ifndef LL_MEMTYPE_H
diff --git a/linden/indra/llcommon/llmetrics.cpp b/linden/indra/llcommon/llmetrics.cpp
index 74bd13d..90a0517 100644
--- a/linden/indra/llcommon/llmetrics.cpp
+++ b/linden/indra/llcommon/llmetrics.cpp
@@ -4,7 +4,9 @@
4 * @date 2007-05-25 4 * @date 2007-05-25
5 * @brief Metrics accumulation and associated functions 5 * @brief Metrics accumulation and associated functions
6 * 6 *
7 * Copyright (c) 2007-2007, Linden Research, Inc. 7 * $LicenseInfo:firstyear=2007&license=viewergpl$
8 *
9 * Copyright (c) 2007, Linden Research, Inc.
8 * 10 *
9 * Second Life Viewer Source Code 11 * Second Life Viewer Source Code
10 * The source code in this file ("Source Code") is provided by Linden Lab 12 * The source code in this file ("Source Code") is provided by Linden Lab
@@ -26,6 +28,7 @@
26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 28 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 29 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
28 * COMPLETENESS OR PERFORMANCE. 30 * COMPLETENESS OR PERFORMANCE.
31 * $/LicenseInfo$
29 */ 32 */
30 33
31#include "linden_common.h" 34#include "linden_common.h"
diff --git a/linden/indra/llcommon/llmetrics.h b/linden/indra/llcommon/llmetrics.h
index 2c216c3..f19bce5 100644
--- a/linden/indra/llcommon/llmetrics.h
+++ b/linden/indra/llcommon/llmetrics.h
@@ -4,7 +4,9 @@
4 * @date 2007-05-25 4 * @date 2007-05-25
5 * @brief Declaration of metrics accumulation and associated functions 5 * @brief Declaration of metrics accumulation and associated functions
6 * 6 *
7 * Copyright (c) 2007-2007, Linden Research, Inc. 7 * $LicenseInfo:firstyear=2007&license=viewergpl$
8 *
9 * Copyright (c) 2007, Linden Research, Inc.
8 * 10 *
9 * Second Life Viewer Source Code 11 * Second Life Viewer Source Code
10 * The source code in this file ("Source Code") is provided by Linden Lab 12 * The source code in this file ("Source Code") is provided by Linden Lab
@@ -26,6 +28,7 @@
26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 28 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 29 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
28 * COMPLETENESS OR PERFORMANCE. 30 * COMPLETENESS OR PERFORMANCE.
31 * $/LicenseInfo$
29 */ 32 */
30 33
31#ifndef LL_LLMETRICS_H 34#ifndef LL_LLMETRICS_H
diff --git a/linden/indra/llcommon/llmortician.cpp b/linden/indra/llcommon/llmortician.cpp
index be362bf..cab3a7f 100644
--- a/linden/indra/llcommon/llmortician.cpp
+++ b/linden/indra/llcommon/llmortician.cpp
@@ -1,6 +1,8 @@
1/** 1/**
2 * @file llmortician.cpp 2 * @file llmortician.cpp
3 * 3 *
4 * $LicenseInfo:firstyear=2005&license=viewergpl$
5 *
4 * Copyright (c) 2005-2007, Linden Research, Inc. 6 * Copyright (c) 2005-2007, Linden Research, Inc.
5 * 7 *
6 * Second Life Viewer Source Code 8 * Second Life Viewer Source Code
@@ -23,6 +25,7 @@
23 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
24 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
25 * COMPLETENESS OR PERFORMANCE. 27 * COMPLETENESS OR PERFORMANCE.
28 * $/LicenseInfo$
26 */ 29 */
27 30
28#include "linden_common.h" 31#include "linden_common.h"
diff --git a/linden/indra/llcommon/llmortician.h b/linden/indra/llcommon/llmortician.h
index 353f263..24a3852 100644
--- a/linden/indra/llcommon/llmortician.h
+++ b/linden/indra/llcommon/llmortician.h
@@ -2,6 +2,8 @@
2 * @file llmortician.h 2 * @file llmortician.h
3 * @brief Base class for delayed deletions. 3 * @brief Base class for delayed deletions.
4 * 4 *
5 * $LicenseInfo:firstyear=2005&license=viewergpl$
6 *
5 * Copyright (c) 2005-2007, Linden Research, Inc. 7 * Copyright (c) 2005-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LLMORTICIAN_H 32#ifndef LLMORTICIAN_H
diff --git a/linden/indra/llcommon/llnametable.h b/linden/indra/llcommon/llnametable.h
index c3bdfbd..fd6f879 100644
--- a/linden/indra/llcommon/llnametable.h
+++ b/linden/indra/llcommon/llnametable.h
@@ -2,6 +2,8 @@
2 * @file llnametable.h 2 * @file llnametable.h
3 * @brief LLNameTable class is a table to associate pointers with string names 3 * @brief LLNameTable class is a table to associate pointers with string names
4 * 4 *
5 * $LicenseInfo:firstyear=2000&license=viewergpl$
6 *
5 * Copyright (c) 2000-2007, Linden Research, Inc. 7 * Copyright (c) 2000-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLNAMETABLE_H 32#ifndef LL_LLNAMETABLE_H
diff --git a/linden/indra/llcommon/llpreprocessor.h b/linden/indra/llcommon/llpreprocessor.h
index f19d5a0..b3b79d0 100644
--- a/linden/indra/llcommon/llpreprocessor.h
+++ b/linden/indra/llcommon/llpreprocessor.h
@@ -3,6 +3,8 @@
3 * @brief This file should be included in all Linden Lab files and 3 * @brief This file should be included in all Linden Lab files and
4 * should only contain special preprocessor directives 4 * should only contain special preprocessor directives
5 * 5 *
6 * $LicenseInfo:firstyear=2001&license=viewergpl$
7 *
6 * Copyright (c) 2001-2007, Linden Research, Inc. 8 * Copyright (c) 2001-2007, Linden Research, Inc.
7 * 9 *
8 * Second Life Viewer Source Code 10 * Second Life Viewer Source Code
@@ -25,6 +27,7 @@
25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 27 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 28 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
27 * COMPLETENESS OR PERFORMANCE. 29 * COMPLETENESS OR PERFORMANCE.
30 * $/LicenseInfo$
28 */ 31 */
29 32
30#ifndef LLPREPROCESSOR_H 33#ifndef LLPREPROCESSOR_H
diff --git a/linden/indra/llcommon/llpriqueuemap.h b/linden/indra/llcommon/llpriqueuemap.h
index deda338..96da935 100644
--- a/linden/indra/llcommon/llpriqueuemap.h
+++ b/linden/indra/llcommon/llpriqueuemap.h
@@ -2,6 +2,8 @@
2 * @file llpriqueuemap.h 2 * @file llpriqueuemap.h
3 * @brief Priority queue implementation 3 * @brief Priority queue implementation
4 * 4 *
5 * $LicenseInfo:firstyear=2003&license=viewergpl$
6 *
5 * Copyright (c) 2003-2007, Linden Research, Inc. 7 * Copyright (c) 2003-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28#ifndef LL_LLPRIQUEUEMAP_H 31#ifndef LL_LLPRIQUEUEMAP_H
29#define LL_LLPRIQUEUEMAP_H 32#define LL_LLPRIQUEUEMAP_H
diff --git a/linden/indra/llcommon/llprocessor.cpp b/linden/indra/llcommon/llprocessor.cpp
index 4d00ab5..4977ead 100644
--- a/linden/indra/llcommon/llprocessor.cpp
+++ b/linden/indra/llcommon/llprocessor.cpp
@@ -2,6 +2,8 @@
2 * @file llprocessor.cpp 2 * @file llprocessor.cpp
3 * @brief Code to figure out the processor. Originally by Benjamin Jurke. 3 * @brief Code to figure out the processor. Originally by Benjamin Jurke.
4 * 4 *
5 * $LicenseInfo:firstyear=2002&license=viewergpl$
6 *
5 * Copyright (c) 2002-2007, Linden Research, Inc. 7 * Copyright (c) 2002-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29// Filename: Processor.cpp 32// Filename: Processor.cpp
@@ -48,9 +51,7 @@
48 51
49#include "processor.h" 52#include "processor.h"
50 53
51#include <stdio.h> 54#include <memory>
52#include <string.h>
53#include <memory.h>
54 55
55#if LL_WINDOWS 56#if LL_WINDOWS
56# define WIN32_LEAN_AND_MEAN 57# define WIN32_LEAN_AND_MEAN
diff --git a/linden/indra/llcommon/llprocessor.h b/linden/indra/llcommon/llprocessor.h
index 79dd1e8..6b966c5 100644
--- a/linden/indra/llcommon/llprocessor.h
+++ b/linden/indra/llcommon/llprocessor.h
@@ -2,6 +2,8 @@
2 * @file llprocessor.h 2 * @file llprocessor.h
3 * @brief Code to figure out the processor. Originally by Benjamin Jurke. 3 * @brief Code to figure out the processor. Originally by Benjamin Jurke.
4 * 4 *
5 * $LicenseInfo:firstyear=2002&license=viewergpl$
6 *
5 * Copyright (c) 2002-2007, Linden Research, Inc. 7 * Copyright (c) 2002-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29// Author: Benjamin Jurke 32// Author: Benjamin Jurke
diff --git a/linden/indra/llcommon/llptrskiplist.h b/linden/indra/llcommon/llptrskiplist.h
index f695f88..81c8ca3 100644
--- a/linden/indra/llcommon/llptrskiplist.h
+++ b/linden/indra/llcommon/llptrskiplist.h
@@ -2,6 +2,8 @@
2 * @file llptrskiplist.h 2 * @file llptrskiplist.h
3 * @brief Skip list implementation. 3 * @brief Skip list implementation.
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLPTRSKIPLIST_H 32#ifndef LL_LLPTRSKIPLIST_H
diff --git a/linden/indra/llcommon/llptrskipmap.h b/linden/indra/llcommon/llptrskipmap.h
index e2fdc7f..e505004 100644
--- a/linden/indra/llcommon/llptrskipmap.h
+++ b/linden/indra/llcommon/llptrskipmap.h
@@ -3,6 +3,8 @@
3 * @brief Just like a LLSkipMap, but since it's pointers, you can call 3 * @brief Just like a LLSkipMap, but since it's pointers, you can call
4 * deleteAllData 4 * deleteAllData
5 * 5 *
6 * $LicenseInfo:firstyear=2003&license=viewergpl$
7 *
6 * Copyright (c) 2003-2007, Linden Research, Inc. 8 * Copyright (c) 2003-2007, Linden Research, Inc.
7 * 9 *
8 * Second Life Viewer Source Code 10 * Second Life Viewer Source Code
@@ -25,6 +27,7 @@
25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 27 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 28 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
27 * COMPLETENESS OR PERFORMANCE. 29 * COMPLETENESS OR PERFORMANCE.
30 * $/LicenseInfo$
28 */ 31 */
29#ifndef LL_LLPTRSKIPMAP_H 32#ifndef LL_LLPTRSKIPMAP_H
30#define LL_LLPTRSKIPMAP_H 33#define LL_LLPTRSKIPMAP_H
diff --git a/linden/indra/llcommon/llqueuedthread.cpp b/linden/indra/llcommon/llqueuedthread.cpp
index 7eaaf68..8dfba0b 100644
--- a/linden/indra/llcommon/llqueuedthread.cpp
+++ b/linden/indra/llcommon/llqueuedthread.cpp
@@ -1,6 +1,8 @@
1/** 1/**
2 * @file llqueuedthread.cpp 2 * @file llqueuedthread.cpp
3 * 3 *
4 * $LicenseInfo:firstyear=2004&license=viewergpl$
5 *
4 * Copyright (c) 2004-2007, Linden Research, Inc. 6 * Copyright (c) 2004-2007, Linden Research, Inc.
5 * 7 *
6 * Second Life Viewer Source Code 8 * Second Life Viewer Source Code
@@ -23,6 +25,7 @@
23 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
24 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
25 * COMPLETENESS OR PERFORMANCE. 27 * COMPLETENESS OR PERFORMANCE.
28 * $/LicenseInfo$
26 */ 29 */
27 30
28#include "linden_common.h" 31#include "linden_common.h"
diff --git a/linden/indra/llcommon/llqueuedthread.h b/linden/indra/llcommon/llqueuedthread.h
index 18a44c5..a5919c8 100644
--- a/linden/indra/llcommon/llqueuedthread.h
+++ b/linden/indra/llcommon/llqueuedthread.h
@@ -2,6 +2,8 @@
2 * @file llqueuedthread.h 2 * @file llqueuedthread.h
3 * @brief 3 * @brief
4 * 4 *
5 * $LicenseInfo:firstyear=2004&license=viewergpl$
6 *
5 * Copyright (c) 2004-2007, Linden Research, Inc. 7 * Copyright (c) 2004-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLQUEUEDTHREAD_H 32#ifndef LL_LLQUEUEDTHREAD_H
diff --git a/linden/indra/llcommon/llrun.cpp b/linden/indra/llcommon/llrun.cpp
index 131030e..5d0e98a 100644
--- a/linden/indra/llcommon/llrun.cpp
+++ b/linden/indra/llcommon/llrun.cpp
@@ -4,6 +4,8 @@
4 * @date 2006-02-16 4 * @date 2006-02-16
5 * @brief Implementation of the LLRunner and related classes 5 * @brief Implementation of the LLRunner and related classes
6 * 6 *
7 * $LicenseInfo:firstyear=2006&license=viewergpl$
8 *
7 * Copyright (c) 2006-2007, Linden Research, Inc. 9 * Copyright (c) 2006-2007, Linden Research, Inc.
8 * 10 *
9 * Second Life Viewer Source Code 11 * Second Life Viewer Source Code
@@ -26,6 +28,7 @@
26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 28 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 29 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
28 * COMPLETENESS OR PERFORMANCE. 30 * COMPLETENESS OR PERFORMANCE.
31 * $/LicenseInfo$
29 */ 32 */
30 33
31#include "linden_common.h" 34#include "linden_common.h"
diff --git a/linden/indra/llcommon/llrun.h b/linden/indra/llcommon/llrun.h
index 649c7b0..1c9f6c1 100644
--- a/linden/indra/llcommon/llrun.h
+++ b/linden/indra/llcommon/llrun.h
@@ -4,6 +4,8 @@
4 * @date 2006-02-16 4 * @date 2006-02-16
5 * @brief Declaration of LLRunner and LLRunnable classes. 5 * @brief Declaration of LLRunner and LLRunnable classes.
6 * 6 *
7 * $LicenseInfo:firstyear=2006&license=viewergpl$
8 *
7 * Copyright (c) 2006-2007, Linden Research, Inc. 9 * Copyright (c) 2006-2007, Linden Research, Inc.
8 * 10 *
9 * Second Life Viewer Source Code 11 * Second Life Viewer Source Code
@@ -26,6 +28,7 @@
26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 28 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 29 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
28 * COMPLETENESS OR PERFORMANCE. 30 * COMPLETENESS OR PERFORMANCE.
31 * $/LicenseInfo$
29 */ 32 */
30 33
31#ifndef LL_LLRUN_H 34#ifndef LL_LLRUN_H
diff --git a/linden/indra/llcommon/llsd.cpp b/linden/indra/llcommon/llsd.cpp
index f6d8d0e..305531b 100644
--- a/linden/indra/llcommon/llsd.cpp
+++ b/linden/indra/llcommon/llsd.cpp
@@ -2,6 +2,8 @@
2 * @file llsd.cpp 2 * @file llsd.cpp
3 * @brief LLSD flexible data system 3 * @brief LLSD flexible data system
4 * 4 *
5 * $LicenseInfo:firstyear=2005&license=viewergpl$
6 *
5 * Copyright (c) 2005-2007, Linden Research, Inc. 7 * Copyright (c) 2005-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,14 +26,12 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#include "linden_common.h" 32#include "linden_common.h"
30#include "llsd.h" 33#include "llsd.h"
31 34
32#include <sstream>
33#include <math.h>
34
35#include "llerror.h" 35#include "llerror.h"
36#include "../llmath/llmath.h" 36#include "../llmath/llmath.h"
37#include "llformat.h" 37#include "llformat.h"
diff --git a/linden/indra/llcommon/llsd.h b/linden/indra/llcommon/llsd.h
index bd24ecf..1fb917f 100644
--- a/linden/indra/llcommon/llsd.h
+++ b/linden/indra/llcommon/llsd.h
@@ -2,6 +2,8 @@
2 * @file llsd.h 2 * @file llsd.h
3 * @brief LLSD flexible data system. 3 * @brief LLSD flexible data system.
4 * 4 *
5 * $LicenseInfo:firstyear=2005&license=viewergpl$
6 *
5 * Copyright (c) 2005-2007, Linden Research, Inc. 7 * Copyright (c) 2005-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLSD_NEW_H 32#ifndef LL_LLSD_NEW_H
diff --git a/linden/indra/llcommon/llsdserialize.cpp b/linden/indra/llcommon/llsdserialize.cpp
index d262ca1..a7470be 100644
--- a/linden/indra/llcommon/llsdserialize.cpp
+++ b/linden/indra/llcommon/llsdserialize.cpp
@@ -4,6 +4,8 @@
4 * @date 2006-03-05 4 * @date 2006-03-05
5 * @brief Implementation of LLSD parsers and formatters 5 * @brief Implementation of LLSD parsers and formatters
6 * 6 *
7 * $LicenseInfo:firstyear=2006&license=viewergpl$
8 *
7 * Copyright (c) 2006-2007, Linden Research, Inc. 9 * Copyright (c) 2006-2007, Linden Research, Inc.
8 * 10 *
9 * Second Life Viewer Source Code 11 * Second Life Viewer Source Code
@@ -26,6 +28,7 @@
26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 28 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 29 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
28 * COMPLETENESS OR PERFORMANCE. 30 * COMPLETENESS OR PERFORMANCE.
31 * $/LicenseInfo$
29 */ 32 */
30 33
31#include "linden_common.h" 34#include "linden_common.h"
diff --git a/linden/indra/llcommon/llsdserialize.h b/linden/indra/llcommon/llsdserialize.h
index 4a73b60..b4d6683 100644
--- a/linden/indra/llcommon/llsdserialize.h
+++ b/linden/indra/llcommon/llsdserialize.h
@@ -4,6 +4,8 @@
4 * @date 2006-02-26 4 * @date 2006-02-26
5 * @brief Declaration of parsers and formatters for LLSD 5 * @brief Declaration of parsers and formatters for LLSD
6 * 6 *
7 * $LicenseInfo:firstyear=2006&license=viewergpl$
8 *
7 * Copyright (c) 2006-2007, Linden Research, Inc. 9 * Copyright (c) 2006-2007, Linden Research, Inc.
8 * 10 *
9 * Second Life Viewer Source Code 11 * Second Life Viewer Source Code
@@ -26,6 +28,7 @@
26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 28 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 29 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
28 * COMPLETENESS OR PERFORMANCE. 30 * COMPLETENESS OR PERFORMANCE.
31 * $/LicenseInfo$
29 */ 32 */
30 33
31#ifndef LL_LLSDSERIALIZE_H 34#ifndef LL_LLSDSERIALIZE_H
diff --git a/linden/indra/llcommon/llsdserialize_xml.cpp b/linden/indra/llcommon/llsdserialize_xml.cpp
index 6d2f583..6232622 100644
--- a/linden/indra/llcommon/llsdserialize_xml.cpp
+++ b/linden/indra/llcommon/llsdserialize_xml.cpp
@@ -2,6 +2,8 @@
2 * @file llsdserialize_xml.cpp 2 * @file llsdserialize_xml.cpp
3 * @brief XML parsers and formatters for LLSD 3 * @brief XML parsers and formatters for LLSD
4 * 4 *
5 * $LicenseInfo:firstyear=2006&license=viewergpl$
6 *
5 * Copyright (c) 2006-2007, Linden Research, Inc. 7 * Copyright (c) 2006-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#include "linden_common.h" 32#include "linden_common.h"
diff --git a/linden/indra/llcommon/llsdserialize_xml.h b/linden/indra/llcommon/llsdserialize_xml.h
index 0546ea4..bb55a46 100644
--- a/linden/indra/llcommon/llsdserialize_xml.h
+++ b/linden/indra/llcommon/llsdserialize_xml.h
@@ -2,6 +2,8 @@
2 * @file llsdserialize_xml.h 2 * @file llsdserialize_xml.h
3 * @brief XML parsers and formatters for LLSD 3 * @brief XML parsers and formatters for LLSD
4 * 4 *
5 * $LicenseInfo:firstyear=2006&license=viewergpl$
6 *
5 * Copyright (c) 2006-2007, Linden Research, Inc. 7 * Copyright (c) 2006-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLSDSERIALIZE_XML_H 32#ifndef LL_LLSDSERIALIZE_XML_H
diff --git a/linden/indra/llcommon/llsdutil.cpp b/linden/indra/llcommon/llsdutil.cpp
index 0e23054..a0f337c 100644
--- a/linden/indra/llcommon/llsdutil.cpp
+++ b/linden/indra/llcommon/llsdutil.cpp
@@ -4,6 +4,8 @@
4 * @date 2006-05-24 4 * @date 2006-05-24
5 * @brief Implementation of classes, functions, etc, for using structured data. 5 * @brief Implementation of classes, functions, etc, for using structured data.
6 * 6 *
7 * $LicenseInfo:firstyear=2006&license=viewergpl$
8 *
7 * Copyright (c) 2006-2007, Linden Research, Inc. 9 * Copyright (c) 2006-2007, Linden Research, Inc.
8 * 10 *
9 * Second Life Viewer Source Code 11 * Second Life Viewer Source Code
@@ -26,6 +28,7 @@
26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 28 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 29 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
28 * COMPLETENESS OR PERFORMANCE. 30 * COMPLETENESS OR PERFORMANCE.
31 * $/LicenseInfo$
29 */ 32 */
30 33
31#include "linden_common.h" 34#include "linden_common.h"
diff --git a/linden/indra/llcommon/llsdutil.h b/linden/indra/llcommon/llsdutil.h
index 38a7b83..699d509 100644
--- a/linden/indra/llcommon/llsdutil.h
+++ b/linden/indra/llcommon/llsdutil.h
@@ -4,6 +4,8 @@
4 * @date 2006-05-24 4 * @date 2006-05-24
5 * @brief Utility classes, functions, etc, for using structured data. 5 * @brief Utility classes, functions, etc, for using structured data.
6 * 6 *
7 * $LicenseInfo:firstyear=2006&license=viewergpl$
8 *
7 * Copyright (c) 2006-2007, Linden Research, Inc. 9 * Copyright (c) 2006-2007, Linden Research, Inc.
8 * 10 *
9 * Second Life Viewer Source Code 11 * Second Life Viewer Source Code
@@ -26,6 +28,7 @@
26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 28 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 29 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
28 * COMPLETENESS OR PERFORMANCE. 30 * COMPLETENESS OR PERFORMANCE.
31 * $/LicenseInfo$
29 */ 32 */
30 33
31#ifndef LL_LLSDUTIL_H 34#ifndef LL_LLSDUTIL_H
diff --git a/linden/indra/llcommon/llsecondlifeurls.cpp b/linden/indra/llcommon/llsecondlifeurls.cpp
index 53a1906..4417b09 100644
--- a/linden/indra/llcommon/llsecondlifeurls.cpp
+++ b/linden/indra/llcommon/llsecondlifeurls.cpp
@@ -2,6 +2,8 @@
2 * @file llsecondlifeurls.cpp 2 * @file llsecondlifeurls.cpp
3 * @brief Urls used in the product 3 * @brief Urls used in the product
4 * 4 *
5 * $LicenseInfo:firstyear=2005&license=viewergpl$
6 *
5 * Copyright (c) 2005-2007, Linden Research, Inc. 7 * Copyright (c) 2005-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#include "linden_common.h" 32#include "linden_common.h"
diff --git a/linden/indra/llcommon/llsecondlifeurls.h b/linden/indra/llcommon/llsecondlifeurls.h
index d4d296b..0eb3d64 100644
--- a/linden/indra/llcommon/llsecondlifeurls.h
+++ b/linden/indra/llcommon/llsecondlifeurls.h
@@ -2,6 +2,8 @@
2 * @file llsecondlifeurls.h 2 * @file llsecondlifeurls.h
3 * @brief Global URLs to pages on our web site 3 * @brief Global URLs to pages on our web site
4 * 4 *
5 * $LicenseInfo:firstyear=2004&license=viewergpl$
6 *
5 * Copyright (c) 2004-2007, Linden Research, Inc. 7 * Copyright (c) 2004-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLSECONDLIFEURLS_H 32#ifndef LL_LLSECONDLIFEURLS_H
diff --git a/linden/indra/llcommon/llsimplehash.h b/linden/indra/llcommon/llsimplehash.h
index 4e0d5ea..ae5a31e 100644
--- a/linden/indra/llcommon/llsimplehash.h
+++ b/linden/indra/llcommon/llsimplehash.h
@@ -1,6 +1,8 @@
1/** 1/**
2 * @file llsimplehash.h 2 * @file llsimplehash.h
3 * 3 *
4 * $LicenseInfo:firstyear=2003&license=viewergpl$
5 *
4 * Copyright (c) 2003-2007, Linden Research, Inc. 6 * Copyright (c) 2003-2007, Linden Research, Inc.
5 * 7 *
6 * Second Life Viewer Source Code 8 * Second Life Viewer Source Code
@@ -23,6 +25,7 @@
23 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
24 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
25 * COMPLETENESS OR PERFORMANCE. 27 * COMPLETENESS OR PERFORMANCE.
28 * $/LicenseInfo$
26 */ 29 */
27 30
28#ifndef LL_LLSIMPLEHASH_H 31#ifndef LL_LLSIMPLEHASH_H
diff --git a/linden/indra/llcommon/llskiplist.h b/linden/indra/llcommon/llskiplist.h
index 40d0c8a..314043e 100644
--- a/linden/indra/llcommon/llskiplist.h
+++ b/linden/indra/llcommon/llskiplist.h
@@ -2,6 +2,8 @@
2 * @file llskiplist.h 2 * @file llskiplist.h
3 * @brief skip list implementation 3 * @brief skip list implementation
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28#ifndef LL_LLSKIPLIST_H 31#ifndef LL_LLSKIPLIST_H
29#define LL_LLSKIPLIST_H 32#define LL_LLSKIPLIST_H
diff --git a/linden/indra/llcommon/llskipmap.h b/linden/indra/llcommon/llskipmap.h
index c2c0092..65e1617 100644
--- a/linden/indra/llcommon/llskipmap.h
+++ b/linden/indra/llcommon/llskipmap.h
@@ -2,6 +2,8 @@
2 * @file llskipmap.h 2 * @file llskipmap.h
3 * @brief Associative container based on the skiplist algorithm. 3 * @brief Associative container based on the skiplist algorithm.
4 * 4 *
5 * $LicenseInfo:firstyear=2003&license=viewergpl$
6 *
5 * Copyright (c) 2003-2007, Linden Research, Inc. 7 * Copyright (c) 2003-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLSKIPMAP_H 32#ifndef LL_LLSKIPMAP_H
diff --git a/linden/indra/llcommon/llstack.h b/linden/indra/llcommon/llstack.h
index 36c2e1e..5fb65f2 100644
--- a/linden/indra/llcommon/llstack.h
+++ b/linden/indra/llcommon/llstack.h
@@ -2,6 +2,8 @@
2 * @file llstack.h 2 * @file llstack.h
3 * @brief LLStack template class 3 * @brief LLStack template class
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLSTACK_H 32#ifndef LL_LLSTACK_H
diff --git a/linden/indra/llcommon/llstat.cpp b/linden/indra/llcommon/llstat.cpp
index 7e6090f..e999934 100644
--- a/linden/indra/llcommon/llstat.cpp
+++ b/linden/indra/llcommon/llstat.cpp
@@ -1,6 +1,8 @@
1/** 1/**
2 * @file llstat.cpp 2 * @file llstat.cpp
3 * 3 *
4 * $LicenseInfo:firstyear=2001&license=viewergpl$
5 *
4 * Copyright (c) 2001-2007, Linden Research, Inc. 6 * Copyright (c) 2001-2007, Linden Research, Inc.
5 * 7 *
6 * Second Life Viewer Source Code 8 * Second Life Viewer Source Code
@@ -23,6 +25,7 @@
23 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
24 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
25 * COMPLETENESS OR PERFORMANCE. 27 * COMPLETENESS OR PERFORMANCE.
28 * $/LicenseInfo$
26 */ 29 */
27 30
28#include "linden_common.h" 31#include "linden_common.h"
diff --git a/linden/indra/llcommon/llstat.h b/linden/indra/llcommon/llstat.h
index 9266b60..e20c01f 100644
--- a/linden/indra/llcommon/llstat.h
+++ b/linden/indra/llcommon/llstat.h
@@ -2,6 +2,8 @@
2 * @file llstat.h 2 * @file llstat.h
3 * @brief Runtime statistics accumulation. 3 * @brief Runtime statistics accumulation.
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLSTAT_H 32#ifndef LL_LLSTAT_H
diff --git a/linden/indra/llcommon/llstatenums.h b/linden/indra/llcommon/llstatenums.h
index fc618df..e9876f8 100644
--- a/linden/indra/llcommon/llstatenums.h
+++ b/linden/indra/llcommon/llstatenums.h
@@ -1,6 +1,8 @@
1/** 1/**
2 * @file llstatenums.h 2 * @file llstatenums.h
3 * 3 *
4 * $LicenseInfo:firstyear=2001&license=viewergpl$
5 *
4 * Copyright (c) 2001-2007, Linden Research, Inc. 6 * Copyright (c) 2001-2007, Linden Research, Inc.
5 * 7 *
6 * Second Life Viewer Source Code 8 * Second Life Viewer Source Code
@@ -23,6 +25,7 @@
23 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
24 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
25 * COMPLETENESS OR PERFORMANCE. 27 * COMPLETENESS OR PERFORMANCE.
28 * $/LicenseInfo$
26 */ 29 */
27 30
28#ifndef LL_LLSTATENUMS_H 31#ifndef LL_LLSTATENUMS_H
diff --git a/linden/indra/llcommon/llstl.h b/linden/indra/llcommon/llstl.h
index 06980a1..b692dae 100644
--- a/linden/indra/llcommon/llstl.h
+++ b/linden/indra/llcommon/llstl.h
@@ -2,6 +2,8 @@
2 * @file llstl.h 2 * @file llstl.h
3 * @brief helper object & functions for use with the stl. 3 * @brief helper object & functions for use with the stl.
4 * 4 *
5 * $LicenseInfo:firstyear=2003&license=viewergpl$
6 *
5 * Copyright (c) 2003-2007, Linden Research, Inc. 7 * Copyright (c) 2003-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,21 +26,16 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLSTL_H 32#ifndef LL_LLSTL_H
30#define LL_LLSTL_H 33#define LL_LLSTL_H
31 34
32#include <functional> 35#include <functional>
33#include <algorithm>
34#include <map>
35#include <vector>
36#include <set> 36#include <set>
37#include <deque> 37#include <deque>
38 38
39#include <stdio.h>
40#include <stdarg.h>
41
42// Use to compare the first element only of a pair 39// Use to compare the first element only of a pair
43// e.g. typedef std::set<std::pair<int, Data*>, compare_pair<int, Data*> > some_pair_set_t; 40// e.g. typedef std::set<std::pair<int, Data*>, compare_pair<int, Data*> > some_pair_set_t;
44template <typename T1, typename T2> 41template <typename T1, typename T2>
diff --git a/linden/indra/llcommon/llstreamtools.cpp b/linden/indra/llcommon/llstreamtools.cpp
index e6cd909..bfe1765 100644
--- a/linden/indra/llcommon/llstreamtools.cpp
+++ b/linden/indra/llcommon/llstreamtools.cpp
@@ -2,6 +2,8 @@
2 * @file llstreamtools.cpp 2 * @file llstreamtools.cpp
3 * @brief some helper functions for parsing legacy simstate and asset files. 3 * @brief some helper functions for parsing legacy simstate and asset files.
4 * 4 *
5 * $LicenseInfo:firstyear=2005&license=viewergpl$
6 *
5 * Copyright (c) 2005-2007, Linden Research, Inc. 7 * Copyright (c) 2005-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#include "linden_common.h" 32#include "linden_common.h"
diff --git a/linden/indra/llcommon/llstreamtools.h b/linden/indra/llcommon/llstreamtools.h
index d64bd57..0708447 100644
--- a/linden/indra/llcommon/llstreamtools.h
+++ b/linden/indra/llcommon/llstreamtools.h
@@ -2,6 +2,8 @@
2 * @file llstreamtools.h 2 * @file llstreamtools.h
3 * @brief some helper functions for parsing legacy simstate and asset files. 3 * @brief some helper functions for parsing legacy simstate and asset files.
4 * 4 *
5 * $LicenseInfo:firstyear=2005&license=viewergpl$
6 *
5 * Copyright (c) 2005-2007, Linden Research, Inc. 7 * Copyright (c) 2005-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_STREAM_TOOLS_H 32#ifndef LL_STREAM_TOOLS_H
diff --git a/linden/indra/llcommon/llstrider.h b/linden/indra/llcommon/llstrider.h
index 707d10e..e619ceb 100644
--- a/linden/indra/llcommon/llstrider.h
+++ b/linden/indra/llcommon/llstrider.h
@@ -1,6 +1,8 @@
1/** 1/**
2 * @file llstrider.h 2 * @file llstrider.h
3 * 3 *
4 * $LicenseInfo:firstyear=2001&license=viewergpl$
5 *
4 * Copyright (c) 2001-2007, Linden Research, Inc. 6 * Copyright (c) 2001-2007, Linden Research, Inc.
5 * 7 *
6 * Second Life Viewer Source Code 8 * Second Life Viewer Source Code
@@ -23,6 +25,7 @@
23 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
24 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
25 * COMPLETENESS OR PERFORMANCE. 27 * COMPLETENESS OR PERFORMANCE.
28 * $/LicenseInfo$
26 */ 29 */
27 30
28#ifndef LL_LLSTRIDER_H 31#ifndef LL_LLSTRIDER_H
diff --git a/linden/indra/llcommon/llstring.cpp b/linden/indra/llcommon/llstring.cpp
index b5e307f..6dab598 100644
--- a/linden/indra/llcommon/llstring.cpp
+++ b/linden/indra/llcommon/llstring.cpp
@@ -2,6 +2,8 @@
2 * @file llstring.cpp 2 * @file llstring.cpp
3 * @brief String utility functions and the LLString class. 3 * @brief String utility functions and the LLString class.
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#include "linden_common.h" 32#include "linden_common.h"
@@ -55,6 +58,26 @@ U8 hex_as_nybble(char hex)
55} 58}
56 59
57 60
61bool _read_file_into_string(std::string& str, const char* filename)
62{
63 llifstream ifs(filename, llifstream::binary);
64 if (!ifs.is_open())
65 {
66 llinfos << "Unable to open file" << filename << llendl;
67 return false;
68 }
69
70 std::ostringstream oss;
71
72 oss << ifs.rdbuf();
73 str = oss.str();
74 ifs.close();
75 return true;
76}
77
78
79
80
58// See http://www.unicode.org/Public/BETA/CVTUTF-1-2/ConvertUTF.c 81// See http://www.unicode.org/Public/BETA/CVTUTF-1-2/ConvertUTF.c
59// for the Unicode implementation - this doesn't match because it was written before finding 82// for the Unicode implementation - this doesn't match because it was written before finding
60// it. 83// it.
diff --git a/linden/indra/llcommon/llstring.h b/linden/indra/llcommon/llstring.h
index 5f48580..70f7d54 100644
--- a/linden/indra/llcommon/llstring.h
+++ b/linden/indra/llcommon/llstring.h
@@ -2,6 +2,8 @@
2 * @file llstring.h 2 * @file llstring.h
3 * @brief String utility functions and LLString class. 3 * @brief String utility functions and LLString class.
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,22 +26,12 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLSTRING_H 32#ifndef LL_LLSTRING_H
30#define LL_LLSTRING_H 33#define LL_LLSTRING_H
31 34
32#include "stdtypes.h"
33#include "llerror.h"
34#include "llfile.h"
35#include <algorithm>
36#include <map>
37#include <stdio.h>
38#include <ctype.h>
39#include <stdlib.h>
40#include <errno.h>
41#include <math.h>
42#include <stdarg.h> /* for vsnprintf */
43#if LL_LINUX || LL_SOLARIS 35#if LL_LINUX || LL_SOLARIS
44#include <wctype.h> 36#include <wctype.h>
45#include <wchar.h> 37#include <wchar.h>
@@ -280,9 +272,6 @@ public:
280 */ 272 */
281 static void _makeASCII(std::basic_string<T>& string); 273 static void _makeASCII(std::basic_string<T>& string);
282 274
283 static BOOL read(std::basic_string<T>& string, const char* filename); /*Flawfinder: ignore*/
284 static BOOL write(std::basic_string<T>& string, const char* filename);
285
286 // Conversion to other data types 275 // Conversion to other data types
287 static BOOL convertToBOOL(const std::basic_string<T>& string, BOOL& value); 276 static BOOL convertToBOOL(const std::basic_string<T>& string, BOOL& value);
288 static BOOL convertToU8(const std::basic_string<T>& string, U8& value); 277 static BOOL convertToU8(const std::basic_string<T>& string, U8& value);
@@ -332,6 +321,18 @@ template<class T> LLStringBase<T> LLStringBase<T>::null;
332typedef LLStringBase<char> LLString; 321typedef LLStringBase<char> LLString;
333typedef LLStringBase<llwchar> LLWString; 322typedef LLStringBase<llwchar> LLWString;
334 323
324//@ Use this where we want to disallow input in the form of "foo"
325// This is used to catch places where english text is embedded in the code
326// instead of in a translatable XUI file.
327class LLStringExplicit : public LLString
328{
329public:
330 explicit LLStringExplicit(const char* s) : LLString(s) {}
331 LLStringExplicit(const LLString& s) : LLString(s) {}
332 LLStringExplicit(const std::string& s) : LLString(s) {}
333 LLStringExplicit(const std::string& s, size_type pos, size_type n = std::string::npos) : LLString(s, pos, n) {}
334};
335
335struct LLDictionaryLess 336struct LLDictionaryLess
336{ 337{
337public: 338public:
@@ -347,7 +348,7 @@ public:
347 */ 348 */
348 349
349/** 350/**
350 * @breif chop off the trailing characters in a string. 351 * @brief chop off the trailing characters in a string.
351 * 352 *
352 * This function works on bytes rather than glyphs, so this will 353 * This function works on bytes rather than glyphs, so this will
353 * incorrectly truncate non-single byte strings. 354 * incorrectly truncate non-single byte strings.
@@ -373,6 +374,16 @@ std::string ll_safe_string(const char* in);
373 */ 374 */
374U8 hex_as_nybble(char hex); 375U8 hex_as_nybble(char hex);
375 376
377/**
378 * @brief read the contents of a file into a string.
379 *
380 * Since this function has no concept of character encoding, most
381 * anything you do with this method ill-advised. Please avoid.
382 * @param str [out] The string which will have.
383 * @param filename The full name of the file to read.
384 * @return Returns true on success. If false, str is unmodified.
385 */
386bool _read_file_into_string(std::string& str, const char* filename);
376 387
377/** 388/**
378 * Unicode support 389 * Unicode support
@@ -933,8 +944,6 @@ void LLStringBase<T>::replaceNonstandardASCII( std::basic_string<T>& string, T r
933template<class T> 944template<class T>
934void LLStringBase<T>::replaceTabsWithSpaces( std::basic_string<T>& str, size_type spaces_per_tab ) 945void LLStringBase<T>::replaceTabsWithSpaces( std::basic_string<T>& str, size_type spaces_per_tab )
935{ 946{
936 llassert( spaces_per_tab >= 0 );
937
938 const T TAB = '\t'; 947 const T TAB = '\t';
939 const T SPACE = ' '; 948 const T SPACE = ' ';
940 949
@@ -1037,11 +1046,10 @@ void LLStringBase<T>::copy( T* dst, const T* src, size_type dst_size )
1037template<class T> 1046template<class T>
1038void LLStringBase<T>::copyInto(std::basic_string<T>& dst, const std::basic_string<T>& src, size_type offset) 1047void LLStringBase<T>::copyInto(std::basic_string<T>& dst, const std::basic_string<T>& src, size_type offset)
1039{ 1048{
1040 llassert( offset <= dst.length() );
1041
1042 // special case - append to end of string and avoid expensive (when strings are large) string manipulations
1043 if ( offset == dst.length() ) 1049 if ( offset == dst.length() )
1044 { 1050 {
1051 // special case - append to end of string and avoid expensive
1052 // (when strings are large) string manipulations
1045 dst += src; 1053 dst += src;
1046 } 1054 }
1047 else 1055 else
@@ -1070,48 +1078,6 @@ BOOL LLStringBase<T>::isHead( const std::basic_string<T>& string, const T* s )
1070 } 1078 }
1071} 1079}
1072 1080
1073//static
1074template<class T>
1075BOOL LLStringBase<T>::read(std::basic_string<T>& string, const char* filename) /*Flawfinder: ignore*/
1076{
1077 llifstream ifs(filename, llifstream::binary);
1078 if (!ifs.is_open())
1079 {
1080 llinfos << "Unable to open file" << filename << llendl;
1081 return FALSE;
1082 }
1083
1084 std::basic_ostringstream<T> oss;
1085
1086 oss << ifs.rdbuf();
1087
1088 string = oss.str();
1089
1090 ifs.close();
1091 return TRUE;
1092}
1093
1094//static
1095template<class T>
1096BOOL LLStringBase<T>::write(std::basic_string<T>& string, const char* filename)
1097{
1098#if LL_LINUX || LL_SOLARIS
1099 printf("STUBBED: LLStringBase<T>::write at %s:%d\n", __FILE__, __LINE__);
1100#else
1101 llofstream ofs(filename, llofstream::binary);
1102 if (!ofs.is_open())
1103 {
1104 llinfos << "Unable to open file" << filename << llendl;
1105 return FALSE;
1106 }
1107
1108 ofs << string;
1109
1110 ofs.close();
1111#endif
1112 return TRUE;
1113}
1114
1115template<class T> 1081template<class T>
1116BOOL LLStringBase<T>::convertToBOOL(const std::basic_string<T>& string, BOOL& value) 1082BOOL LLStringBase<T>::convertToBOOL(const std::basic_string<T>& string, BOOL& value)
1117{ 1083{
diff --git a/linden/indra/llcommon/llstringtable.cpp b/linden/indra/llcommon/llstringtable.cpp
index 30db4f7..f6da802 100644
--- a/linden/indra/llcommon/llstringtable.cpp
+++ b/linden/indra/llcommon/llstringtable.cpp
@@ -3,6 +3,8 @@
3 * @brief The LLStringTable class provides a _fast_ method for finding 3 * @brief The LLStringTable class provides a _fast_ method for finding
4 * unique copies of strings. 4 * unique copies of strings.
5 * 5 *
6 * $LicenseInfo:firstyear=2001&license=viewergpl$
7 *
6 * Copyright (c) 2001-2007, Linden Research, Inc. 8 * Copyright (c) 2001-2007, Linden Research, Inc.
7 * 9 *
8 * Second Life Viewer Source Code 10 * Second Life Viewer Source Code
@@ -25,6 +27,7 @@
25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 27 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 28 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
27 * COMPLETENESS OR PERFORMANCE. 29 * COMPLETENESS OR PERFORMANCE.
30 * $/LicenseInfo$
28 */ 31 */
29 32
30#include "linden_common.h" 33#include "linden_common.h"
diff --git a/linden/indra/llcommon/llstringtable.h b/linden/indra/llcommon/llstringtable.h
index 8d91680..b7412ef 100644
--- a/linden/indra/llcommon/llstringtable.h
+++ b/linden/indra/llcommon/llstringtable.h
@@ -3,6 +3,8 @@
3 * @brief The LLStringTable class provides a _fast_ method for finding 3 * @brief The LLStringTable class provides a _fast_ method for finding
4 * unique copies of strings. 4 * unique copies of strings.
5 * 5 *
6 * $LicenseInfo:firstyear=2001&license=viewergpl$
7 *
6 * Copyright (c) 2001-2007, Linden Research, Inc. 8 * Copyright (c) 2001-2007, Linden Research, Inc.
7 * 9 *
8 * Second Life Viewer Source Code 10 * Second Life Viewer Source Code
@@ -25,6 +27,7 @@
25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 27 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 28 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
27 * COMPLETENESS OR PERFORMANCE. 29 * COMPLETENESS OR PERFORMANCE.
30 * $/LicenseInfo$
28 */ 31 */
29 32
30#ifndef LL_STRING_TABLE_H 33#ifndef LL_STRING_TABLE_H
diff --git a/linden/indra/llcommon/llsys.cpp b/linden/indra/llcommon/llsys.cpp
index 95b6b55..3b57db7 100644
--- a/linden/indra/llcommon/llsys.cpp
+++ b/linden/indra/llcommon/llsys.cpp
@@ -2,6 +2,8 @@
2 * @file llsys.cpp 2 * @file llsys.cpp
3 * @brief Impelementation of the basic system query functions. 3 * @brief Impelementation of the basic system query functions.
4 * 4 *
5 * $LicenseInfo:firstyear=2002&license=viewergpl$
6 *
5 * Copyright (c) 2002-2007, Linden Research, Inc. 7 * Copyright (c) 2002-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#include "linden_common.h" 32#include "linden_common.h"
@@ -44,10 +47,12 @@
44# include <winsock2.h> 47# include <winsock2.h>
45# include <windows.h> 48# include <windows.h>
46#elif LL_DARWIN 49#elif LL_DARWIN
50# include <errno.h>
47# include <sys/sysctl.h> 51# include <sys/sysctl.h>
48# include <sys/utsname.h> 52# include <sys/utsname.h>
49# include <stdint.h> 53# include <stdint.h>
50#elif LL_LINUX 54#elif LL_LINUX
55# include <errno.h>
51# include <sys/utsname.h> 56# include <sys/utsname.h>
52# include <unistd.h> 57# include <unistd.h>
53# include <sys/sysinfo.h> 58# include <sys/sysinfo.h>
diff --git a/linden/indra/llcommon/llsys.h b/linden/indra/llcommon/llsys.h
index 66a3465..fc4e027 100644
--- a/linden/indra/llcommon/llsys.h
+++ b/linden/indra/llcommon/llsys.h
@@ -2,6 +2,8 @@
2 * @file llsys.h 2 * @file llsys.h
3 * @brief System information debugging classes. 3 * @brief System information debugging classes.
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_SYS_H 32#ifndef LL_SYS_H
diff --git a/linden/indra/llcommon/llthread.cpp b/linden/indra/llcommon/llthread.cpp
index d261c8b..ea877bd 100644
--- a/linden/indra/llcommon/llthread.cpp
+++ b/linden/indra/llcommon/llthread.cpp
@@ -1,6 +1,8 @@
1/** 1/**
2 * @file llthread.cpp 2 * @file llthread.cpp
3 * 3 *
4 * $LicenseInfo:firstyear=2004&license=viewergpl$
5 *
4 * Copyright (c) 2004-2007, Linden Research, Inc. 6 * Copyright (c) 2004-2007, Linden Research, Inc.
5 * 7 *
6 * Second Life Viewer Source Code 8 * Second Life Viewer Source Code
@@ -23,6 +25,7 @@
23 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
24 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
25 * COMPLETENESS OR PERFORMANCE. 27 * COMPLETENESS OR PERFORMANCE.
28 * $/LicenseInfo$
26 */ 29 */
27 30
28#include "linden_common.h" 31#include "linden_common.h"
@@ -266,7 +269,7 @@ LLMutex::LLMutex(apr_pool_t *poolp) :
266 mIsLocalPool = TRUE; 269 mIsLocalPool = TRUE;
267 apr_pool_create(&mAPRPoolp, NULL); // Create a subpool for this thread 270 apr_pool_create(&mAPRPoolp, NULL); // Create a subpool for this thread
268 } 271 }
269 apr_thread_mutex_create(&mAPRMutexp, APR_THREAD_MUTEX_DEFAULT, mAPRPoolp); 272 apr_thread_mutex_create(&mAPRMutexp, APR_THREAD_MUTEX_UNNESTED, mAPRPoolp);
270} 273}
271 274
272 275
diff --git a/linden/indra/llcommon/llthread.h b/linden/indra/llcommon/llthread.h
index d700592..8106c08 100644
--- a/linden/indra/llcommon/llthread.h
+++ b/linden/indra/llcommon/llthread.h
@@ -2,6 +2,8 @@
2 * @file llthread.h 2 * @file llthread.h
3 * @brief Base classes for thread, mutex and condition handling. 3 * @brief Base classes for thread, mutex and condition handling.
4 * 4 *
5 * $LicenseInfo:firstyear=2004&license=viewergpl$
6 *
5 * Copyright (c) 2004-2007, Linden Research, Inc. 7 * Copyright (c) 2004-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLTHREAD_H 32#ifndef LL_LLTHREAD_H
diff --git a/linden/indra/llcommon/lltimer.cpp b/linden/indra/llcommon/lltimer.cpp
index 177f1de..9786d44 100644
--- a/linden/indra/llcommon/lltimer.cpp
+++ b/linden/indra/llcommon/lltimer.cpp
@@ -2,6 +2,8 @@
2 * @file lltimer.cpp 2 * @file lltimer.cpp
3 * @brief Cross-platform objects for doing timing 3 * @brief Cross-platform objects for doing timing
4 * 4 *
5 * $LicenseInfo:firstyear=2000&license=viewergpl$
6 *
5 * Copyright (c) 2000-2007, Linden Research, Inc. 7 * Copyright (c) 2000-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#include "linden_common.h" 32#include "linden_common.h"
@@ -36,13 +39,10 @@
36# define WIN32_LEAN_AND_MEAN 39# define WIN32_LEAN_AND_MEAN
37# include <winsock2.h> 40# include <winsock2.h>
38# include <windows.h> 41# include <windows.h>
39# include <time.h>
40#elif LL_LINUX || LL_SOLARIS 42#elif LL_LINUX || LL_SOLARIS
41# include <time.h>
42# include <sys/time.h> 43# include <sys/time.h>
43# include <sched.h> 44# include <sched.h>
44#elif LL_DARWIN 45#elif LL_DARWIN
45# include <time.h>
46# include <sys/time.h> 46# include <sys/time.h>
47#else 47#else
48# error "architecture not supported" 48# error "architecture not supported"
diff --git a/linden/indra/llcommon/lltimer.h b/linden/indra/llcommon/lltimer.h
index 35f0a7b..4ffb9c8 100644
--- a/linden/indra/llcommon/lltimer.h
+++ b/linden/indra/llcommon/lltimer.h
@@ -2,6 +2,8 @@
2 * @file lltimer.h 2 * @file lltimer.h
3 * @brief Cross-platform objects for doing timing 3 * @brief Cross-platform objects for doing timing
4 * 4 *
5 * $LicenseInfo:firstyear=2000&license=viewergpl$
6 *
5 * Copyright (c) 2000-2007, Linden Research, Inc. 7 * Copyright (c) 2000-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,18 +26,16 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_TIMER_H 32#ifndef LL_TIMER_H
30#define LL_TIMER_H 33#define LL_TIMER_H
31 34
32#if LL_LINUX || LL_DARWIN 35#if LL_LINUX || LL_DARWIN
33# include <time.h> 36#include <sys/time.h>
34# include <sys/time.h>
35#endif 37#endif
36 38
37#include <list>
38
39// units conversions 39// units conversions
40#ifndef USEC_PER_SEC 40#ifndef USEC_PER_SEC
41 const U32 USEC_PER_SEC = 1000000; 41 const U32 USEC_PER_SEC = 1000000;
diff --git a/linden/indra/llcommon/lluri.cpp b/linden/indra/llcommon/lluri.cpp
index 892ac02..df79043 100644
--- a/linden/indra/llcommon/lluri.cpp
+++ b/linden/indra/llcommon/lluri.cpp
@@ -4,6 +4,8 @@
4 * @date 2006-02-08 4 * @date 2006-02-08
5 * @brief Implementation of the LLURI class. 5 * @brief Implementation of the LLURI class.
6 * 6 *
7 * $LicenseInfo:firstyear=2006&license=viewergpl$
8 *
7 * Copyright (c) 2006-2007, Linden Research, Inc. 9 * Copyright (c) 2006-2007, Linden Research, Inc.
8 * 10 *
9 * Second Life Viewer Source Code 11 * Second Life Viewer Source Code
@@ -26,6 +28,7 @@
26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 28 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 29 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
28 * COMPLETENESS OR PERFORMANCE. 30 * COMPLETENESS OR PERFORMANCE.
31 * $/LicenseInfo$
29 */ 32 */
30 33
31#include "linden_common.h" 34#include "linden_common.h"
diff --git a/linden/indra/llcommon/lluri.h b/linden/indra/llcommon/lluri.h
index 1044c48..3246dcd 100644
--- a/linden/indra/llcommon/lluri.h
+++ b/linden/indra/llcommon/lluri.h
@@ -4,6 +4,8 @@
4 * @date 2006-02-05 4 * @date 2006-02-05
5 * @brief Declaration of the URI class. 5 * @brief Declaration of the URI class.
6 * 6 *
7 * $LicenseInfo:firstyear=2006&license=viewergpl$
8 *
7 * Copyright (c) 2006-2007, Linden Research, Inc. 9 * Copyright (c) 2006-2007, Linden Research, Inc.
8 * 10 *
9 * Second Life Viewer Source Code 11 * Second Life Viewer Source Code
@@ -26,6 +28,7 @@
26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 28 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 29 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
28 * COMPLETENESS OR PERFORMANCE. 30 * COMPLETENESS OR PERFORMANCE.
31 * $/LicenseInfo$
29 */ 32 */
30 33
31#ifndef LL_LLURI_H 34#ifndef LL_LLURI_H
diff --git a/linden/indra/llcommon/lluuidhashmap.h b/linden/indra/llcommon/lluuidhashmap.h
index 77609e0..d8d3cff 100644
--- a/linden/indra/llcommon/lluuidhashmap.h
+++ b/linden/indra/llcommon/lluuidhashmap.h
@@ -2,6 +2,8 @@
2 * @file lluuidhashmap.h 2 * @file lluuidhashmap.h
3 * @brief A uuid based hash map. 3 * @brief A uuid based hash map.
4 * 4 *
5 * $LicenseInfo:firstyear=2003&license=viewergpl$
6 *
5 * Copyright (c) 2003-2007, Linden Research, Inc. 7 * Copyright (c) 2003-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLUUIDHASHMAP_H 32#ifndef LL_LLUUIDHASHMAP_H
diff --git a/linden/indra/llcommon/llversionserver.h b/linden/indra/llcommon/llversionserver.h
index 0680501..8891b47 100644
--- a/linden/indra/llcommon/llversionserver.h
+++ b/linden/indra/llcommon/llversionserver.h
@@ -2,6 +2,8 @@
2 * @file llversionserver.h 2 * @file llversionserver.h
3 * @brief 3 * @brief
4 * 4 *
5 * $LicenseInfo:firstyear=2002&license=viewergpl$
6 *
5 * Copyright (c) 2002-2007, Linden Research, Inc. 7 * Copyright (c) 2002-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLVERSIONSERVER_H 32#ifndef LL_LLVERSIONSERVER_H
@@ -31,7 +34,7 @@
31 34
32const S32 LL_VERSION_MAJOR = 1; 35const S32 LL_VERSION_MAJOR = 1;
33const S32 LL_VERSION_MINOR = 18; 36const S32 LL_VERSION_MINOR = 18;
34const S32 LL_VERSION_PATCH = 2; 37const S32 LL_VERSION_PATCH = 4;
35const S32 LL_VERSION_BUILD = 0; 38const S32 LL_VERSION_BUILD = 0;
36 39
37const char * const LL_CHANNEL = "Second Life Server"; 40const char * const LL_CHANNEL = "Second Life Server";
diff --git a/linden/indra/llcommon/llversionviewer.h b/linden/indra/llcommon/llversionviewer.h
index 747381f..46573f4 100644
--- a/linden/indra/llcommon/llversionviewer.h
+++ b/linden/indra/llcommon/llversionviewer.h
@@ -2,6 +2,8 @@
2 * @file llversionviewer.h 2 * @file llversionviewer.h
3 * @brief 3 * @brief
4 * 4 *
5 * $LicenseInfo:firstyear=2002&license=viewergpl$
6 *
5 * Copyright (c) 2002-2007, Linden Research, Inc. 7 * Copyright (c) 2002-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_LLVERSIONVIEWER_H 32#ifndef LL_LLVERSIONVIEWER_H
@@ -31,8 +34,8 @@
31 34
32const S32 LL_VERSION_MAJOR = 1; 35const S32 LL_VERSION_MAJOR = 1;
33const S32 LL_VERSION_MINOR = 18; 36const S32 LL_VERSION_MINOR = 18;
34const S32 LL_VERSION_PATCH = 3; 37const S32 LL_VERSION_PATCH = 4;
35const S32 LL_VERSION_BUILD = 5; 38const S32 LL_VERSION_BUILD = 0;
36 39
37const char * const LL_CHANNEL = "Second Life Release"; 40const char * const LL_CHANNEL = "Second Life Release";
38 41
diff --git a/linden/indra/llcommon/llworkerthread.cpp b/linden/indra/llcommon/llworkerthread.cpp
index b4d9485..d828ed9 100644
--- a/linden/indra/llcommon/llworkerthread.cpp
+++ b/linden/indra/llcommon/llworkerthread.cpp
@@ -1,6 +1,8 @@
1/** 1/**
2 * @file llworkerthread.cpp 2 * @file llworkerthread.cpp
3 * 3 *
4 * $LicenseInfo:firstyear=2004&license=viewergpl$
5 *
4 * Copyright (c) 2004-2007, Linden Research, Inc. 6 * Copyright (c) 2004-2007, Linden Research, Inc.
5 * 7 *
6 * Second Life Viewer Source Code 8 * Second Life Viewer Source Code
@@ -23,6 +25,7 @@
23 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
24 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
25 * COMPLETENESS OR PERFORMANCE. 27 * COMPLETENESS OR PERFORMANCE.
28 * $/LicenseInfo$
26 */ 29 */
27 30
28#include "linden_common.h" 31#include "linden_common.h"
diff --git a/linden/indra/llcommon/llworkerthread.h b/linden/indra/llcommon/llworkerthread.h
index 278f8e0..be06bc2 100644
--- a/linden/indra/llcommon/llworkerthread.h
+++ b/linden/indra/llcommon/llworkerthread.h
@@ -1,6 +1,8 @@
1/** 1/**
2 * @file llworkerthread.h 2 * @file llworkerthread.h
3 * 3 *
4 * $LicenseInfo:firstyear=2004&license=viewergpl$
5 *
4 * Copyright (c) 2004-2007, Linden Research, Inc. 6 * Copyright (c) 2004-2007, Linden Research, Inc.
5 * 7 *
6 * Second Life Viewer Source Code 8 * Second Life Viewer Source Code
@@ -23,6 +25,7 @@
23 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
24 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
25 * COMPLETENESS OR PERFORMANCE. 27 * COMPLETENESS OR PERFORMANCE.
28 * $/LicenseInfo$
26 */ 29 */
27 30
28#ifndef LL_LLWORKERTHREAD_H 31#ifndef LL_LLWORKERTHREAD_H
diff --git a/linden/indra/llcommon/metaclass.cpp b/linden/indra/llcommon/metaclass.cpp
index e545411..aa62cef 100644
--- a/linden/indra/llcommon/metaclass.cpp
+++ b/linden/indra/llcommon/metaclass.cpp
@@ -4,6 +4,8 @@
4 * @date 2006-05-15 4 * @date 2006-05-15
5 * @brief Implementation of LLMetaClass 5 * @brief Implementation of LLMetaClass
6 * 6 *
7 * $LicenseInfo:firstyear=2006&license=viewergpl$
8 *
7 * Copyright (c) 2006-2007, Linden Research, Inc. 9 * Copyright (c) 2006-2007, Linden Research, Inc.
8 * 10 *
9 * Second Life Viewer Source Code 11 * Second Life Viewer Source Code
@@ -26,6 +28,7 @@
26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 28 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 29 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
28 * COMPLETENESS OR PERFORMANCE. 30 * COMPLETENESS OR PERFORMANCE.
31 * $/LicenseInfo$
29 */ 32 */
30 33
31#include "linden_common.h" 34#include "linden_common.h"
diff --git a/linden/indra/llcommon/metaclass.h b/linden/indra/llcommon/metaclass.h
index 1e255b0..fa22107 100644
--- a/linden/indra/llcommon/metaclass.h
+++ b/linden/indra/llcommon/metaclass.h
@@ -4,6 +4,8 @@
4 * @date 2006-05-15 4 * @date 2006-05-15
5 * @brief Reflective meta information describing a class. 5 * @brief Reflective meta information describing a class.
6 * 6 *
7 * $LicenseInfo:firstyear=2006&license=viewergpl$
8 *
7 * Copyright (c) 2006-2007, Linden Research, Inc. 9 * Copyright (c) 2006-2007, Linden Research, Inc.
8 * 10 *
9 * Second Life Viewer Source Code 11 * Second Life Viewer Source Code
@@ -26,6 +28,7 @@
26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 28 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 29 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
28 * COMPLETENESS OR PERFORMANCE. 30 * COMPLETENESS OR PERFORMANCE.
31 * $/LicenseInfo$
29 */ 32 */
30 33
31#ifndef LL_METACLASS_H 34#ifndef LL_METACLASS_H
diff --git a/linden/indra/llcommon/metaclasst.h b/linden/indra/llcommon/metaclasst.h
index 5a110ba..d8d10bd 100644
--- a/linden/indra/llcommon/metaclasst.h
+++ b/linden/indra/llcommon/metaclasst.h
@@ -1,6 +1,8 @@
1/** 1/**
2 * @file metaclasst.h 2 * @file metaclasst.h
3 * 3 *
4 * $LicenseInfo:firstyear=2006&license=viewergpl$
5 *
4 * Copyright (c) 2006-2007, Linden Research, Inc. 6 * Copyright (c) 2006-2007, Linden Research, Inc.
5 * 7 *
6 * Second Life Viewer Source Code 8 * Second Life Viewer Source Code
@@ -23,6 +25,7 @@
23 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
24 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
25 * COMPLETENESS OR PERFORMANCE. 27 * COMPLETENESS OR PERFORMANCE.
28 * $/LicenseInfo$
26 */ 29 */
27 30
28#ifndef LL_METACLASST_H 31#ifndef LL_METACLASST_H
diff --git a/linden/indra/llcommon/metaproperty.cpp b/linden/indra/llcommon/metaproperty.cpp
index 221f7a7..fb4720f 100644
--- a/linden/indra/llcommon/metaproperty.cpp
+++ b/linden/indra/llcommon/metaproperty.cpp
@@ -4,6 +4,8 @@
4 * @date 2006-05-15 4 * @date 2006-05-15
5 * @brief Implementation of LLMetaProperty. 5 * @brief Implementation of LLMetaProperty.
6 * 6 *
7 * $LicenseInfo:firstyear=2006&license=viewergpl$
8 *
7 * Copyright (c) 2006-2007, Linden Research, Inc. 9 * Copyright (c) 2006-2007, Linden Research, Inc.
8 * 10 *
9 * Second Life Viewer Source Code 11 * Second Life Viewer Source Code
@@ -26,6 +28,7 @@
26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 28 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 29 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
28 * COMPLETENESS OR PERFORMANCE. 30 * COMPLETENESS OR PERFORMANCE.
31 * $/LicenseInfo$
29 */ 32 */
30 33
31#include "linden_common.h" 34#include "linden_common.h"
diff --git a/linden/indra/llcommon/metaproperty.h b/linden/indra/llcommon/metaproperty.h
index d8272fe..9664e99 100644
--- a/linden/indra/llcommon/metaproperty.h
+++ b/linden/indra/llcommon/metaproperty.h
@@ -4,6 +4,8 @@
4 * @date 2006-05-15 4 * @date 2006-05-15
5 * @brief Reflective meta information describing a property of a class. 5 * @brief Reflective meta information describing a property of a class.
6 * 6 *
7 * $LicenseInfo:firstyear=2006&license=viewergpl$
8 *
7 * Copyright (c) 2006-2007, Linden Research, Inc. 9 * Copyright (c) 2006-2007, Linden Research, Inc.
8 * 10 *
9 * Second Life Viewer Source Code 11 * Second Life Viewer Source Code
@@ -26,6 +28,7 @@
26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 28 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 29 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
28 * COMPLETENESS OR PERFORMANCE. 30 * COMPLETENESS OR PERFORMANCE.
31 * $/LicenseInfo$
29 */ 32 */
30 33
31#ifndef LL_METAPROPERTY_H 34#ifndef LL_METAPROPERTY_H
diff --git a/linden/indra/llcommon/metapropertyt.h b/linden/indra/llcommon/metapropertyt.h
index 1b444bd..488a60c 100644
--- a/linden/indra/llcommon/metapropertyt.h
+++ b/linden/indra/llcommon/metapropertyt.h
@@ -1,6 +1,8 @@
1/** 1/**
2 * @file metapropertyt.h 2 * @file metapropertyt.h
3 * 3 *
4 * $LicenseInfo:firstyear=2006&license=viewergpl$
5 *
4 * Copyright (c) 2006-2007, Linden Research, Inc. 6 * Copyright (c) 2006-2007, Linden Research, Inc.
5 * 7 *
6 * Second Life Viewer Source Code 8 * Second Life Viewer Source Code
@@ -23,6 +25,7 @@
23 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
24 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
25 * COMPLETENESS OR PERFORMANCE. 27 * COMPLETENESS OR PERFORMANCE.
28 * $/LicenseInfo$
26 */ 29 */
27 30
28#ifndef LL_METAPROPERTYT_H 31#ifndef LL_METAPROPERTYT_H
diff --git a/linden/indra/llcommon/processor.h b/linden/indra/llcommon/processor.h
index 34d970e..af8af40 100644
--- a/linden/indra/llcommon/processor.h
+++ b/linden/indra/llcommon/processor.h
@@ -2,6 +2,8 @@
2 * @file processor.h 2 * @file processor.h
3 * @brief Legacy wrapper header. 3 * @brief Legacy wrapper header.
4 * 4 *
5 * $LicenseInfo:firstyear=2000&license=viewergpl$
6 *
5 * Copyright (c) 2000-2007, Linden Research, Inc. 7 * Copyright (c) 2000-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#include "llprocessor.h" 32#include "llprocessor.h"
diff --git a/linden/indra/llcommon/reflective.cpp b/linden/indra/llcommon/reflective.cpp
index c8050e0..942ed0e 100644
--- a/linden/indra/llcommon/reflective.cpp
+++ b/linden/indra/llcommon/reflective.cpp
@@ -4,6 +4,8 @@
4 * @date 2006-05-15 4 * @date 2006-05-15
5 * @brief Implementation of LLReflective. 5 * @brief Implementation of LLReflective.
6 * 6 *
7 * $LicenseInfo:firstyear=2006&license=viewergpl$
8 *
7 * Copyright (c) 2006-2007, Linden Research, Inc. 9 * Copyright (c) 2006-2007, Linden Research, Inc.
8 * 10 *
9 * Second Life Viewer Source Code 11 * Second Life Viewer Source Code
@@ -26,6 +28,7 @@
26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 28 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 29 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
28 * COMPLETENESS OR PERFORMANCE. 30 * COMPLETENESS OR PERFORMANCE.
31 * $/LicenseInfo$
29 */ 32 */
30 33
31#include "linden_common.h" 34#include "linden_common.h"
diff --git a/linden/indra/llcommon/reflective.h b/linden/indra/llcommon/reflective.h
index 10cecb0..6ed2b43 100644
--- a/linden/indra/llcommon/reflective.h
+++ b/linden/indra/llcommon/reflective.h
@@ -4,6 +4,8 @@
4 * @date 2006-05-15 4 * @date 2006-05-15
5 * @brief Interface that must be implemented by all reflective classes. 5 * @brief Interface that must be implemented by all reflective classes.
6 * 6 *
7 * $LicenseInfo:firstyear=2006&license=viewergpl$
8 *
7 * Copyright (c) 2006-2007, Linden Research, Inc. 9 * Copyright (c) 2006-2007, Linden Research, Inc.
8 * 10 *
9 * Second Life Viewer Source Code 11 * Second Life Viewer Source Code
@@ -26,6 +28,7 @@
26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 28 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 29 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
28 * COMPLETENESS OR PERFORMANCE. 30 * COMPLETENESS OR PERFORMANCE.
31 * $/LicenseInfo$
29 */ 32 */
30 33
31#ifndef LL_REFLECTIVE_H 34#ifndef LL_REFLECTIVE_H
diff --git a/linden/indra/llcommon/reflectivet.h b/linden/indra/llcommon/reflectivet.h
index e81d76a..85c7206 100644
--- a/linden/indra/llcommon/reflectivet.h
+++ b/linden/indra/llcommon/reflectivet.h
@@ -1,6 +1,8 @@
1/** 1/**
2 * @file reflectivet.h 2 * @file reflectivet.h
3 * 3 *
4 * $LicenseInfo:firstyear=2006&license=viewergpl$
5 *
4 * Copyright (c) 2006-2007, Linden Research, Inc. 6 * Copyright (c) 2006-2007, Linden Research, Inc.
5 * 7 *
6 * Second Life Viewer Source Code 8 * Second Life Viewer Source Code
@@ -23,6 +25,7 @@
23 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 25 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
24 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 26 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
25 * COMPLETENESS OR PERFORMANCE. 27 * COMPLETENESS OR PERFORMANCE.
28 * $/LicenseInfo$
26 */ 29 */
27 30
28#ifndef LL_REFLECTIVET_H 31#ifndef LL_REFLECTIVET_H
diff --git a/linden/indra/llcommon/roles_constants.h b/linden/indra/llcommon/roles_constants.h
index 3c885ab..54e6827 100644
--- a/linden/indra/llcommon/roles_constants.h
+++ b/linden/indra/llcommon/roles_constants.h
@@ -2,6 +2,8 @@
2 * @file roles_constants.h 2 * @file roles_constants.h
3 * @brief General Roles Constants 3 * @brief General Roles Constants
4 * 4 *
5 * $LicenseInfo:firstyear=2006&license=viewergpl$
6 *
5 * Copyright (c) 2006-2007, Linden Research, Inc. 7 * Copyright (c) 2006-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_ROLES_CONSTANTS_H 32#ifndef LL_ROLES_CONSTANTS_H
diff --git a/linden/indra/llcommon/stdenums.h b/linden/indra/llcommon/stdenums.h
index b910570..92de405 100644
--- a/linden/indra/llcommon/stdenums.h
+++ b/linden/indra/llcommon/stdenums.h
@@ -2,6 +2,8 @@
2 * @file stdenums.h 2 * @file stdenums.h
3 * @brief Enumerations for indra. 3 * @brief Enumerations for indra.
4 * 4 *
5 * $LicenseInfo:firstyear=2002&license=viewergpl$
6 *
5 * Copyright (c) 2002-2007, Linden Research, Inc. 7 * Copyright (c) 2002-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_STDENUMS_H 32#ifndef LL_STDENUMS_H
diff --git a/linden/indra/llcommon/stdtypes.h b/linden/indra/llcommon/stdtypes.h
index 118278f..f8982d7 100644
--- a/linden/indra/llcommon/stdtypes.h
+++ b/linden/indra/llcommon/stdtypes.h
@@ -2,6 +2,8 @@
2 * @file stdtypes.h 2 * @file stdtypes.h
3 * @brief Basic type declarations for cross platform compatibility. 3 * @brief Basic type declarations for cross platform compatibility.
4 * 4 *
5 * $LicenseInfo:firstyear=2000&license=viewergpl$
6 *
5 * Copyright (c) 2000-2007, Linden Research, Inc. 7 * Copyright (c) 2000-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,13 +26,11 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28#ifndef LL_STDTYPES_H 31#ifndef LL_STDTYPES_H
29#define LL_STDTYPES_H 32#define LL_STDTYPES_H
30 33
31#include <limits.h>
32#include <float.h>
33
34typedef signed char S8; 34typedef signed char S8;
35typedef unsigned char U8; 35typedef unsigned char U8;
36typedef signed short S16; 36typedef signed short S16;
diff --git a/linden/indra/llcommon/string_table.h b/linden/indra/llcommon/string_table.h
index 3d30c9f..f057007 100644
--- a/linden/indra/llcommon/string_table.h
+++ b/linden/indra/llcommon/string_table.h
@@ -2,6 +2,8 @@
2 * @file string_table.h 2 * @file string_table.h
3 * @brief Legacy wrapper header. 3 * @brief Legacy wrapper header.
4 * 4 *
5 * $LicenseInfo:firstyear=2000&license=viewergpl$
6 *
5 * Copyright (c) 2000-2007, Linden Research, Inc. 7 * Copyright (c) 2000-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,5 +26,6 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28#include "llstringtable.h" 31#include "llstringtable.h"
diff --git a/linden/indra/llcommon/timer.h b/linden/indra/llcommon/timer.h
index 3a098ec..ec3b62f 100644
--- a/linden/indra/llcommon/timer.h
+++ b/linden/indra/llcommon/timer.h
@@ -2,6 +2,8 @@
2 * @file timer.h 2 * @file timer.h
3 * @brief Legacy wrapper header. 3 * @brief Legacy wrapper header.
4 * 4 *
5 * $LicenseInfo:firstyear=2000&license=viewergpl$
6 *
5 * Copyright (c) 2000-2007, Linden Research, Inc. 7 * Copyright (c) 2000-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,5 +26,6 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28#include "lltimer.h" 31#include "lltimer.h"
diff --git a/linden/indra/llcommon/timing.cpp b/linden/indra/llcommon/timing.cpp
index 0737beb..4115932 100644
--- a/linden/indra/llcommon/timing.cpp
+++ b/linden/indra/llcommon/timing.cpp
@@ -2,6 +2,8 @@
2 * @file timing.cpp 2 * @file timing.cpp
3 * @brief This file will be deprecated in the future. 3 * @brief This file will be deprecated in the future.
4 * 4 *
5 * $LicenseInfo:firstyear=2000&license=viewergpl$
6 *
5 * Copyright (c) 2000-2007, Linden Research, Inc. 7 * Copyright (c) 2000-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,4 +26,5 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
diff --git a/linden/indra/llcommon/timing.h b/linden/indra/llcommon/timing.h
index b799001..3ea2a0e 100644
--- a/linden/indra/llcommon/timing.h
+++ b/linden/indra/llcommon/timing.h
@@ -2,6 +2,8 @@
2 * @file timing.h 2 * @file timing.h
3 * @brief Cross-platform routines for doing timing. 3 * @brief Cross-platform routines for doing timing.
4 * 4 *
5 * $LicenseInfo:firstyear=2000&license=viewergpl$
6 *
5 * Copyright (c) 2000-2007, Linden Research, Inc. 7 * Copyright (c) 2000-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,15 +26,15 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_TIMING_H 32#ifndef LL_TIMING_H
30#define LL_TIMING_H 33#define LL_TIMING_H
31 34
32#include <time.h>
33 35
34#if LL_LINUX || LL_DARWIN || LL_SOLARIS 36#if LL_LINUX || LL_DARWIN || LL_SOLARIS
35# include <sys/time.h> 37#include <sys/time.h>
36#endif 38#endif
37 39
38 40
diff --git a/linden/indra/llcommon/u64.cpp b/linden/indra/llcommon/u64.cpp
index 204c6c8..f2efef1 100644
--- a/linden/indra/llcommon/u64.cpp
+++ b/linden/indra/llcommon/u64.cpp
@@ -2,6 +2,8 @@
2 * @file u64.cpp 2 * @file u64.cpp
3 * @brief Utilities to deal with U64s. 3 * @brief Utilities to deal with U64s.
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#include "linden_common.h" 32#include "linden_common.h"
diff --git a/linden/indra/llcommon/u64.h b/linden/indra/llcommon/u64.h
index da83e28..ad93ebf 100644
--- a/linden/indra/llcommon/u64.h
+++ b/linden/indra/llcommon/u64.h
@@ -2,6 +2,8 @@
2 * @file u64.h 2 * @file u64.h
3 * @brief Utilities to deal with U64s. 3 * @brief Utilities to deal with U64s.
4 * 4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 7 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 8 *
7 * Second Life Viewer Source Code 9 * Second Life Viewer Source Code
@@ -24,6 +26,7 @@
24 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO 26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE. 28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
27 */ 30 */
28 31
29#ifndef LL_U64_H 32#ifndef LL_U64_H