diff options
author | Jacek Antonelli | 2009-04-30 13:04:20 -0500 |
---|---|---|
committer | Jacek Antonelli | 2009-04-30 13:07:16 -0500 |
commit | ca8149ca6d157eb4b5fc8ba0e5ba3a6e56f72e7e (patch) | |
tree | 8348301d0ac44a524f1819b777686bf086907d76 /linden/indra/lscript/lscript_execute | |
parent | Second Life viewer sources 1.22.11 (diff) | |
download | meta-impy-ca8149ca6d157eb4b5fc8ba0e5ba3a6e56f72e7e.zip meta-impy-ca8149ca6d157eb4b5fc8ba0e5ba3a6e56f72e7e.tar.gz meta-impy-ca8149ca6d157eb4b5fc8ba0e5ba3a6e56f72e7e.tar.bz2 meta-impy-ca8149ca6d157eb4b5fc8ba0e5ba3a6e56f72e7e.tar.xz |
Second Life viewer sources 1.23.0-RC
Diffstat (limited to 'linden/indra/lscript/lscript_execute')
9 files changed, 313 insertions, 11 deletions
diff --git a/linden/indra/lscript/lscript_execute/CMakeLists.txt b/linden/indra/lscript/lscript_execute/CMakeLists.txt index f30915b..3a16ffd 100644 --- a/linden/indra/lscript/lscript_execute/CMakeLists.txt +++ b/linden/indra/lscript/lscript_execute/CMakeLists.txt | |||
@@ -12,6 +12,9 @@ include_directories( | |||
12 | ) | 12 | ) |
13 | 13 | ||
14 | set(lscript_execute_SOURCE_FILES | 14 | set(lscript_execute_SOURCE_FILES |
15 | llscriptresource.cpp | ||
16 | llscriptresourceconsumer.cpp | ||
17 | llscriptresourcepool.cpp | ||
15 | lscript_execute.cpp | 18 | lscript_execute.cpp |
16 | lscript_heapruntime.cpp | 19 | lscript_heapruntime.cpp |
17 | lscript_readlso.cpp | 20 | lscript_readlso.cpp |
@@ -20,6 +23,9 @@ set(lscript_execute_SOURCE_FILES | |||
20 | set(lscript_execute_HEADER_FILES | 23 | set(lscript_execute_HEADER_FILES |
21 | CMakeLists.txt | 24 | CMakeLists.txt |
22 | 25 | ||
26 | ../llscriptresource.h | ||
27 | ../llscriptresourceconsumer.h | ||
28 | ../llscriptresourcepool.h | ||
23 | ../lscript_execute.h | 29 | ../lscript_execute.h |
24 | ../lscript_rt_interface.h | 30 | ../lscript_rt_interface.h |
25 | lscript_heapruntime.h | 31 | lscript_heapruntime.h |
diff --git a/linden/indra/lscript/lscript_execute/llscriptresource.cpp b/linden/indra/lscript/lscript_execute/llscriptresource.cpp new file mode 100644 index 0000000..6c4776c --- /dev/null +++ b/linden/indra/lscript/lscript_execute/llscriptresource.cpp | |||
@@ -0,0 +1,97 @@ | |||
1 | /** | ||
2 | * @file llscriptresource.cpp | ||
3 | * @brief LLScriptResource class implementation for managing limited resources | ||
4 | * | ||
5 | * $LicenseInfo:firstyear=2008&license=viewergpl$ | ||
6 | * | ||
7 | * Copyright (c) 2008-2009, Linden Research, Inc. | ||
8 | * | ||
9 | * Second Life Viewer Source Code | ||
10 | * The source code in this file ("Source Code") is provided by Linden Lab | ||
11 | * to you under the terms of the GNU General Public License, version 2.0 | ||
12 | * ("GPL"), unless you have obtained a separate licensing agreement | ||
13 | * ("Other License"), formally executed by you and Linden Lab. Terms of | ||
14 | * the GPL can be found in doc/GPL-license.txt in this distribution, or | ||
15 | * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 | ||
16 | * | ||
17 | * There are special exceptions to the terms and conditions of the GPL as | ||
18 | * it is applied to this Source Code. View the full text of the exception | ||
19 | * in the file doc/FLOSS-exception.txt in this software distribution, or | ||
20 | * online at | ||
21 | * http://secondlifegrid.net/programs/open_source/licensing/flossexception | ||
22 | * | ||
23 | * By copying, modifying or distributing this software, you acknowledge | ||
24 | * that you have read and understood your obligations described above, | ||
25 | * and agree to abide by those obligations. | ||
26 | * | ||
27 | * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO | ||
28 | * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, | ||
29 | * COMPLETENESS OR PERFORMANCE. | ||
30 | * $/LicenseInfo$ | ||
31 | */ | ||
32 | |||
33 | #include "llscriptresource.h" | ||
34 | #include "llerror.h" | ||
35 | |||
36 | LLScriptResource::LLScriptResource() | ||
37 | : mTotal(0), | ||
38 | mUsed(0) | ||
39 | { | ||
40 | } | ||
41 | |||
42 | bool LLScriptResource::request(S32 amount /* = 1 */) | ||
43 | { | ||
44 | if (mUsed + amount <= mTotal) | ||
45 | { | ||
46 | mUsed += amount; | ||
47 | return true; | ||
48 | } | ||
49 | |||
50 | return false; | ||
51 | } | ||
52 | |||
53 | bool LLScriptResource::release(S32 amount /* = 1 */) | ||
54 | { | ||
55 | if (mUsed >= amount) | ||
56 | { | ||
57 | mUsed -= amount; | ||
58 | return true; | ||
59 | } | ||
60 | |||
61 | return false; | ||
62 | } | ||
63 | |||
64 | S32 LLScriptResource::getAvailable() const | ||
65 | { | ||
66 | if (mUsed > mTotal) | ||
67 | { | ||
68 | // It is possible after a parcel ownership change for more than total to be used | ||
69 | // In this case the user of this class just wants to know | ||
70 | // whether or not they can use a resource | ||
71 | return 0; | ||
72 | } | ||
73 | return (mTotal - mUsed); | ||
74 | } | ||
75 | |||
76 | void LLScriptResource::setTotal(S32 amount) | ||
77 | { | ||
78 | // This may cause this resource to be over spent | ||
79 | // such that more are in use than total allowed | ||
80 | // Until those resources are released getAvailable will return 0. | ||
81 | mTotal = amount; | ||
82 | } | ||
83 | |||
84 | S32 LLScriptResource::getTotal() const | ||
85 | { | ||
86 | return mTotal; | ||
87 | } | ||
88 | |||
89 | S32 LLScriptResource::getUsed() const | ||
90 | { | ||
91 | return mUsed; | ||
92 | } | ||
93 | |||
94 | bool LLScriptResource::isOverLimit() const | ||
95 | { | ||
96 | return (mUsed > mTotal); | ||
97 | } | ||
diff --git a/linden/indra/lscript/lscript_execute/llscriptresourceconsumer.cpp b/linden/indra/lscript/lscript_execute/llscriptresourceconsumer.cpp new file mode 100644 index 0000000..5bade41 --- /dev/null +++ b/linden/indra/lscript/lscript_execute/llscriptresourceconsumer.cpp | |||
@@ -0,0 +1,112 @@ | |||
1 | /** | ||
2 | * @file llscriptresourceconsumer.cpp | ||
3 | * @brief An interface for a script resource consumer. | ||
4 | * | ||
5 | * $LicenseInfo:firstyear=2008&license=viewergpl$ | ||
6 | * | ||
7 | * Copyright (c) 2008-2009, Linden Research, Inc. | ||
8 | * | ||
9 | * Second Life Viewer Source Code | ||
10 | * The source code in this file ("Source Code") is provided by Linden Lab | ||
11 | * to you under the terms of the GNU General Public License, version 2.0 | ||
12 | * ("GPL"), unless you have obtained a separate licensing agreement | ||
13 | * ("Other License"), formally executed by you and Linden Lab. Terms of | ||
14 | * the GPL can be found in doc/GPL-license.txt in this distribution, or | ||
15 | * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 | ||
16 | * | ||
17 | * There are special exceptions to the terms and conditions of the GPL as | ||
18 | * it is applied to this Source Code. View the full text of the exception | ||
19 | * in the file doc/FLOSS-exception.txt in this software distribution, or | ||
20 | * online at | ||
21 | * http://secondlifegrid.net/programs/open_source/licensing/flossexception | ||
22 | * | ||
23 | * By copying, modifying or distributing this software, you acknowledge | ||
24 | * that you have read and understood your obligations described above, | ||
25 | * and agree to abide by those obligations. | ||
26 | * | ||
27 | * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO | ||
28 | * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, | ||
29 | * COMPLETENESS OR PERFORMANCE. | ||
30 | * $/LicenseInfo$ | ||
31 | */ | ||
32 | |||
33 | #include "llscriptresourceconsumer.h" | ||
34 | |||
35 | #include "llscriptresourcepool.h" | ||
36 | |||
37 | LLScriptResourceConsumer::LLScriptResourceConsumer() | ||
38 | : mScriptResourcePool(&LLScriptResourcePool::null) | ||
39 | { } | ||
40 | |||
41 | // Get the resource pool this consumer is currently using. | ||
42 | // virtual | ||
43 | LLScriptResourcePool& LLScriptResourceConsumer::getScriptResourcePool() | ||
44 | { | ||
45 | return *mScriptResourcePool; | ||
46 | } | ||
47 | |||
48 | // Get the resource pool this consumer is currently using. | ||
49 | // virtual | ||
50 | const LLScriptResourcePool& LLScriptResourceConsumer::getScriptResourcePool() const | ||
51 | { | ||
52 | return *mScriptResourcePool; | ||
53 | } | ||
54 | |||
55 | // virtual | ||
56 | void LLScriptResourceConsumer::setScriptResourcePool(LLScriptResourcePool& new_pool) | ||
57 | { | ||
58 | mScriptResourcePool = &new_pool; | ||
59 | } | ||
60 | |||
61 | bool LLScriptResourceConsumer::switchScriptResourcePools(LLScriptResourcePool& new_pool) | ||
62 | { | ||
63 | if (&new_pool == &LLScriptResourcePool::null) | ||
64 | { | ||
65 | llwarns << "New pool is null" << llendl; | ||
66 | } | ||
67 | |||
68 | if (isInPool(new_pool)) | ||
69 | { | ||
70 | return true; | ||
71 | } | ||
72 | |||
73 | if (!canUseScriptResourcePool(new_pool)) | ||
74 | { | ||
75 | return false; | ||
76 | } | ||
77 | |||
78 | S32 used_urls = getUsedPublicURLs(); | ||
79 | |||
80 | getScriptResourcePool().getPublicURLResource().release( used_urls ); | ||
81 | setScriptResourcePool(new_pool); | ||
82 | getScriptResourcePool().getPublicURLResource().request( used_urls ); | ||
83 | |||
84 | return true; | ||
85 | } | ||
86 | |||
87 | bool LLScriptResourceConsumer::canUseScriptResourcePool(const LLScriptResourcePool& resource_pool) | ||
88 | { | ||
89 | if (isInPool(resource_pool)) | ||
90 | { | ||
91 | return true; | ||
92 | } | ||
93 | |||
94 | if (resource_pool.getPublicURLResource().getAvailable() < getUsedPublicURLs()) | ||
95 | { | ||
96 | return false; | ||
97 | } | ||
98 | |||
99 | return true; | ||
100 | } | ||
101 | |||
102 | bool LLScriptResourceConsumer::isInPool(const LLScriptResourcePool& resource_pool) | ||
103 | { | ||
104 | const LLScriptResourcePool& current_pool = getScriptResourcePool(); | ||
105 | if ( &resource_pool == ¤t_pool ) | ||
106 | { | ||
107 | // This consumer is already in this pool | ||
108 | return true; | ||
109 | } | ||
110 | return false; | ||
111 | } | ||
112 | |||
diff --git a/linden/indra/lscript/lscript_execute/llscriptresourcepool.cpp b/linden/indra/lscript/lscript_execute/llscriptresourcepool.cpp new file mode 100644 index 0000000..3052152 --- /dev/null +++ b/linden/indra/lscript/lscript_execute/llscriptresourcepool.cpp | |||
@@ -0,0 +1,50 @@ | |||
1 | /** | ||
2 | * @file llscriptresourcepool.cpp | ||
3 | * @brief Collection of limited script resources | ||
4 | * | ||
5 | * $LicenseInfo:firstyear=2008&license=viewergpl$ | ||
6 | * | ||
7 | * Copyright (c) 2008-2009, Linden Research, Inc. | ||
8 | * | ||
9 | * Second Life Viewer Source Code | ||
10 | * The source code in this file ("Source Code") is provided by Linden Lab | ||
11 | * to you under the terms of the GNU General Public License, version 2.0 | ||
12 | * ("GPL"), unless you have obtained a separate licensing agreement | ||
13 | * ("Other License"), formally executed by you and Linden Lab. Terms of | ||
14 | * the GPL can be found in doc/GPL-license.txt in this distribution, or | ||
15 | * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 | ||
16 | * | ||
17 | * There are special exceptions to the terms and conditions of the GPL as | ||
18 | * it is applied to this Source Code. View the full text of the exception | ||
19 | * in the file doc/FLOSS-exception.txt in this software distribution, or | ||
20 | * online at | ||
21 | * http://secondlifegrid.net/programs/open_source/licensing/flossexception | ||
22 | * | ||
23 | * By copying, modifying or distributing this software, you acknowledge | ||
24 | * that you have read and understood your obligations described above, | ||
25 | * and agree to abide by those obligations. | ||
26 | * | ||
27 | * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO | ||
28 | * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, | ||
29 | * COMPLETENESS OR PERFORMANCE. | ||
30 | * $/LicenseInfo$ | ||
31 | */ | ||
32 | |||
33 | #include "llscriptresourcepool.h" | ||
34 | |||
35 | LLScriptResourcePool LLScriptResourcePool::null; | ||
36 | |||
37 | LLScriptResourcePool::LLScriptResourcePool() | ||
38 | { | ||
39 | |||
40 | } | ||
41 | |||
42 | LLScriptResource& LLScriptResourcePool::getPublicURLResource() | ||
43 | { | ||
44 | return mLSLPublicURLs; | ||
45 | } | ||
46 | |||
47 | const LLScriptResource& LLScriptResourcePool::getPublicURLResource() const | ||
48 | { | ||
49 | return mLSLPublicURLs; | ||
50 | } | ||
diff --git a/linden/indra/lscript/lscript_execute/lscript_execute.cpp b/linden/indra/lscript/lscript_execute/lscript_execute.cpp index d178a16..b2b54cd 100644 --- a/linden/indra/lscript/lscript_execute/lscript_execute.cpp +++ b/linden/indra/lscript/lscript_execute/lscript_execute.cpp | |||
@@ -17,7 +17,8 @@ | |||
17 | * There are special exceptions to the terms and conditions of the GPL as | 17 | * There are special exceptions to the terms and conditions of the GPL as |
18 | * it is applied to this Source Code. View the full text of the exception | 18 | * it is applied to this Source Code. View the full text of the exception |
19 | * in the file doc/FLOSS-exception.txt in this software distribution, or | 19 | * in the file doc/FLOSS-exception.txt in this software distribution, or |
20 | * online at http://secondlifegrid.net/programs/open_source/licensing/flossexception | 20 | * online at |
21 | * http://secondlifegrid.net/programs/open_source/licensing/flossexception | ||
21 | * | 22 | * |
22 | * By copying, modifying or distributing this software, you acknowledge | 23 | * By copying, modifying or distributing this software, you acknowledge |
23 | * that you have read and understood your obligations described above, | 24 | * that you have read and understood your obligations described above, |
@@ -41,6 +42,10 @@ | |||
41 | #include "lscript_heapruntime.h" | 42 | #include "lscript_heapruntime.h" |
42 | #include "lscript_alloc.h" | 43 | #include "lscript_alloc.h" |
43 | 44 | ||
45 | // Static | ||
46 | const S32 DEFAULT_SCRIPT_TIMER_CHECK_SKIP = 4; | ||
47 | S32 LLScriptExecute::sTimerCheckSkip = DEFAULT_SCRIPT_TIMER_CHECK_SKIP; | ||
48 | |||
44 | void (*binary_operations[LST_EOF][LST_EOF])(U8 *buffer, LSCRIPTOpCodesEnum opcode); | 49 | void (*binary_operations[LST_EOF][LST_EOF])(U8 *buffer, LSCRIPTOpCodesEnum opcode); |
45 | void (*unary_operations[LST_EOF])(U8 *buffer, LSCRIPTOpCodesEnum opcode); | 50 | void (*unary_operations[LST_EOF])(U8 *buffer, LSCRIPTOpCodesEnum opcode); |
46 | 51 | ||
@@ -63,6 +68,12 @@ const char* LSCRIPTRunTimeFaultStrings[LSRF_EOF] = /*Flawfinder: ignore*/ | |||
63 | void LLScriptExecuteLSL2::startRunning() {} | 68 | void LLScriptExecuteLSL2::startRunning() {} |
64 | void LLScriptExecuteLSL2::stopRunning() {} | 69 | void LLScriptExecuteLSL2::stopRunning() {} |
65 | 70 | ||
71 | const char* URL_REQUEST_GRANTED = "URL_REQUEST_GRANTED"; | ||
72 | const char* URL_REQUEST_DENIED = "URL_REQUEST_DENIED"; | ||
73 | |||
74 | // HTTP Requests to LSL scripts will time out after 25 seconds. | ||
75 | const U64 LSL_HTTP_REQUEST_TIMEOUT = 25 * USEC_PER_SEC; | ||
76 | |||
66 | LLScriptExecuteLSL2::LLScriptExecuteLSL2(LLFILE *fp) | 77 | LLScriptExecuteLSL2::LLScriptExecuteLSL2(LLFILE *fp) |
67 | { | 78 | { |
68 | U8 sizearray[4]; | 79 | U8 sizearray[4]; |
@@ -744,6 +755,11 @@ S32 LLScriptExecuteLSL2::getMajorVersion() const | |||
744 | return major_version; | 755 | return major_version; |
745 | } | 756 | } |
746 | 757 | ||
758 | U32 LLScriptExecuteLSL2::getUsedMemory() | ||
759 | { | ||
760 | return getBytecodeSize(); | ||
761 | } | ||
762 | |||
747 | LLScriptExecute::LLScriptExecute() : | 763 | LLScriptExecute::LLScriptExecute() : |
748 | mReset(FALSE) | 764 | mReset(FALSE) |
749 | { | 765 | { |
@@ -891,14 +907,13 @@ void LLScriptExecute::runInstructions(BOOL b_print, const LLUUID &id, | |||
891 | b_done = TRUE; | 907 | b_done = TRUE; |
892 | } | 908 | } |
893 | 909 | ||
894 | while (!b_done) | 910 | if (!b_done) |
895 | { | 911 | { |
896 | // Call handler for next queued event. | 912 | // Call handler for next queued event. |
897 | if(getEventCount() > 0) | 913 | if(getEventCount() > 0) |
898 | { | 914 | { |
899 | ++events_processed; | 915 | ++events_processed; |
900 | callNextQueuedEventHandler(event_register, id, quanta); | 916 | callNextQueuedEventHandler(event_register, id, quanta); |
901 | b_done = TRUE; | ||
902 | } | 917 | } |
903 | else | 918 | else |
904 | { | 919 | { |
@@ -910,8 +925,8 @@ void LLScriptExecute::runInstructions(BOOL b_print, const LLUUID &id, | |||
910 | ++events_processed; | 925 | ++events_processed; |
911 | callEventHandler(event, id, quanta); | 926 | callEventHandler(event, id, quanta); |
912 | } | 927 | } |
913 | b_done = TRUE; | ||
914 | } | 928 | } |
929 | b_done = TRUE; | ||
915 | } | 930 | } |
916 | } | 931 | } |
917 | } | 932 | } |
@@ -919,7 +934,7 @@ void LLScriptExecute::runInstructions(BOOL b_print, const LLUUID &id, | |||
919 | // Run for a single timeslice, or until a yield or state transition is due | 934 | // Run for a single timeslice, or until a yield or state transition is due |
920 | F32 LLScriptExecute::runQuanta(BOOL b_print, const LLUUID &id, const char **errorstr, F32 quanta, U32& events_processed, LLTimer& timer) | 935 | F32 LLScriptExecute::runQuanta(BOOL b_print, const LLUUID &id, const char **errorstr, F32 quanta, U32& events_processed, LLTimer& timer) |
921 | { | 936 | { |
922 | U32 timer_checks = 0; | 937 | S32 timer_checks = 0; |
923 | F32 inloop = 0; | 938 | F32 inloop = 0; |
924 | 939 | ||
925 | // Loop while not finished, yield not due and time remaining | 940 | // Loop while not finished, yield not due and time remaining |
@@ -931,12 +946,11 @@ F32 LLScriptExecute::runQuanta(BOOL b_print, const LLUUID &id, const char **erro | |||
931 | runInstructions(b_print, id, errorstr, | 946 | runInstructions(b_print, id, errorstr, |
932 | events_processed, quanta); | 947 | events_processed, quanta); |
933 | 948 | ||
934 | static const S32 lsl_timer_check_skip = 4; | ||
935 | if(isYieldDue()) | 949 | if(isYieldDue()) |
936 | { | 950 | { |
937 | break; | 951 | break; |
938 | } | 952 | } |
939 | else if(timer_checks++ == lsl_timer_check_skip) | 953 | else if(timer_checks++ >= LLScriptExecute::sTimerCheckSkip) |
940 | { | 954 | { |
941 | inloop = timer.getElapsedTimeF32(); | 955 | inloop = timer.getElapsedTimeF32(); |
942 | if(inloop > quanta) | 956 | if(inloop > quanta) |
@@ -946,9 +960,18 @@ F32 LLScriptExecute::runQuanta(BOOL b_print, const LLUUID &id, const char **erro | |||
946 | timer_checks = 0; | 960 | timer_checks = 0; |
947 | } | 961 | } |
948 | } | 962 | } |
963 | if (inloop == 0.0f) | ||
964 | { | ||
965 | inloop = timer.getElapsedTimeF32(); | ||
966 | } | ||
949 | return inloop; | 967 | return inloop; |
950 | } | 968 | } |
951 | 969 | ||
970 | F32 LLScriptExecute::runNested(BOOL b_print, const LLUUID &id, const char **errorstr, F32 quanta, U32& events_processed, LLTimer& timer) | ||
971 | { | ||
972 | return LLScriptExecute::runQuanta(b_print, id, errorstr, quanta, events_processed, timer); | ||
973 | } | ||
974 | |||
952 | BOOL run_noop(U8 *buffer, S32 &offset, BOOL b_print, const LLUUID &id) | 975 | BOOL run_noop(U8 *buffer, S32 &offset, BOOL b_print, const LLUUID &id) |
953 | { | 976 | { |
954 | if (b_print) | 977 | if (b_print) |
diff --git a/linden/indra/lscript/lscript_execute/lscript_heapruntime.cpp b/linden/indra/lscript/lscript_execute/lscript_heapruntime.cpp index d502275..df2e489 100644 --- a/linden/indra/lscript/lscript_execute/lscript_heapruntime.cpp +++ b/linden/indra/lscript/lscript_execute/lscript_heapruntime.cpp | |||
@@ -17,7 +17,8 @@ | |||
17 | * There are special exceptions to the terms and conditions of the GPL as | 17 | * There are special exceptions to the terms and conditions of the GPL as |
18 | * it is applied to this Source Code. View the full text of the exception | 18 | * it is applied to this Source Code. View the full text of the exception |
19 | * in the file doc/FLOSS-exception.txt in this software distribution, or | 19 | * in the file doc/FLOSS-exception.txt in this software distribution, or |
20 | * online at http://secondlifegrid.net/programs/open_source/licensing/flossexception | 20 | * online at |
21 | * http://secondlifegrid.net/programs/open_source/licensing/flossexception | ||
21 | * | 22 | * |
22 | * By copying, modifying or distributing this software, you acknowledge | 23 | * By copying, modifying or distributing this software, you acknowledge |
23 | * that you have read and understood your obligations described above, | 24 | * that you have read and understood your obligations described above, |
diff --git a/linden/indra/lscript/lscript_execute/lscript_heapruntime.h b/linden/indra/lscript/lscript_execute/lscript_heapruntime.h index 69bd80f..ec3d2f9 100644 --- a/linden/indra/lscript/lscript_execute/lscript_heapruntime.h +++ b/linden/indra/lscript/lscript_execute/lscript_heapruntime.h | |||
@@ -17,7 +17,8 @@ | |||
17 | * There are special exceptions to the terms and conditions of the GPL as | 17 | * There are special exceptions to the terms and conditions of the GPL as |
18 | * it is applied to this Source Code. View the full text of the exception | 18 | * it is applied to this Source Code. View the full text of the exception |
19 | * in the file doc/FLOSS-exception.txt in this software distribution, or | 19 | * in the file doc/FLOSS-exception.txt in this software distribution, or |
20 | * online at http://secondlifegrid.net/programs/open_source/licensing/flossexception | 20 | * online at |
21 | * http://secondlifegrid.net/programs/open_source/licensing/flossexception | ||
21 | * | 22 | * |
22 | * By copying, modifying or distributing this software, you acknowledge | 23 | * By copying, modifying or distributing this software, you acknowledge |
23 | * that you have read and understood your obligations described above, | 24 | * that you have read and understood your obligations described above, |
diff --git a/linden/indra/lscript/lscript_execute/lscript_readlso.cpp b/linden/indra/lscript/lscript_execute/lscript_readlso.cpp index 6dc1474..3b10cc6 100644 --- a/linden/indra/lscript/lscript_execute/lscript_readlso.cpp +++ b/linden/indra/lscript/lscript_execute/lscript_readlso.cpp | |||
@@ -17,7 +17,8 @@ | |||
17 | * There are special exceptions to the terms and conditions of the GPL as | 17 | * There are special exceptions to the terms and conditions of the GPL as |
18 | * it is applied to this Source Code. View the full text of the exception | 18 | * it is applied to this Source Code. View the full text of the exception |
19 | * in the file doc/FLOSS-exception.txt in this software distribution, or | 19 | * in the file doc/FLOSS-exception.txt in this software distribution, or |
20 | * online at http://secondlifegrid.net/programs/open_source/licensing/flossexception | 20 | * online at |
21 | * http://secondlifegrid.net/programs/open_source/licensing/flossexception | ||
21 | * | 22 | * |
22 | * By copying, modifying or distributing this software, you acknowledge | 23 | * By copying, modifying or distributing this software, you acknowledge |
23 | * that you have read and understood your obligations described above, | 24 | * that you have read and understood your obligations described above, |
@@ -624,6 +625,16 @@ void LLScriptLSOParse::printStates(LLFILE *fp) | |||
624 | bytestream2char(name, mRawData, event_offset, sizeof(name)); | 625 | bytestream2char(name, mRawData, event_offset, sizeof(name)); |
625 | fprintf(fp, "\t\tstring %s\n", name); | 626 | fprintf(fp, "\t\tstring %s\n", name); |
626 | break; | 627 | break; |
628 | case LSTT_HTTP_REQUEST: // LSTT_HTTP_REQUEST | ||
629 | bytestream2char(name, mRawData, event_offset, sizeof(name)); | ||
630 | fprintf(fp, "%s\n", name); | ||
631 | bytestream2char(name, mRawData, event_offset, sizeof(name)); | ||
632 | fprintf(fp, "\t\tkey %s\n", name); | ||
633 | bytestream2char(name, mRawData, event_offset, sizeof(name)); | ||
634 | fprintf(fp, "\t\tstring %s\n", name); | ||
635 | bytestream2char(name, mRawData, event_offset, sizeof(name)); | ||
636 | fprintf(fp, "\t\tstring %s\n", name); | ||
637 | break; | ||
627 | default: | 638 | default: |
628 | break; | 639 | break; |
629 | } | 640 | } |
diff --git a/linden/indra/lscript/lscript_execute/lscript_readlso.h b/linden/indra/lscript/lscript_execute/lscript_readlso.h index 90ebb7b..3b0b75c 100644 --- a/linden/indra/lscript/lscript_execute/lscript_readlso.h +++ b/linden/indra/lscript/lscript_execute/lscript_readlso.h | |||
@@ -17,7 +17,8 @@ | |||
17 | * There are special exceptions to the terms and conditions of the GPL as | 17 | * There are special exceptions to the terms and conditions of the GPL as |
18 | * it is applied to this Source Code. View the full text of the exception | 18 | * it is applied to this Source Code. View the full text of the exception |
19 | * in the file doc/FLOSS-exception.txt in this software distribution, or | 19 | * in the file doc/FLOSS-exception.txt in this software distribution, or |
20 | * online at http://secondlifegrid.net/programs/open_source/licensing/flossexception | 20 | * online at |
21 | * http://secondlifegrid.net/programs/open_source/licensing/flossexception | ||
21 | * | 22 | * |
22 | * By copying, modifying or distributing this software, you acknowledge | 23 | * By copying, modifying or distributing this software, you acknowledge |
23 | * that you have read and understood your obligations described above, | 24 | * that you have read and understood your obligations described above, |