aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/lscript/lscript_execute
diff options
context:
space:
mode:
authorJacek Antonelli2008-08-15 23:44:50 -0500
committerJacek Antonelli2008-08-15 23:44:50 -0500
commit89fe5dab825a62a0e3fd8d248cbc91c65eb2a426 (patch)
treebcff14b7888d04a2fec799c59369f6095224bd08 /linden/indra/lscript/lscript_execute
parentSecond Life viewer sources 1.13.3.2 (diff)
downloadmeta-impy-89fe5dab825a62a0e3fd8d248cbc91c65eb2a426.zip
meta-impy-89fe5dab825a62a0e3fd8d248cbc91c65eb2a426.tar.gz
meta-impy-89fe5dab825a62a0e3fd8d248cbc91c65eb2a426.tar.bz2
meta-impy-89fe5dab825a62a0e3fd8d248cbc91c65eb2a426.tar.xz
Second Life viewer sources 1.14.0.0
Diffstat (limited to 'linden/indra/lscript/lscript_execute')
-rw-r--r--linden/indra/lscript/lscript_execute/lscript_execute.cpp111
-rw-r--r--linden/indra/lscript/lscript_execute/lscript_execute_vc8.vcproj276
-rw-r--r--linden/indra/lscript/lscript_execute/lscript_readlso.cpp8
3 files changed, 353 insertions, 42 deletions
diff --git a/linden/indra/lscript/lscript_execute/lscript_execute.cpp b/linden/indra/lscript/lscript_execute/lscript_execute.cpp
index a81d706..b5d395e 100644
--- a/linden/indra/lscript/lscript_execute/lscript_execute.cpp
+++ b/linden/indra/lscript/lscript_execute/lscript_execute.cpp
@@ -39,7 +39,7 @@
39void (*binary_operations[LST_EOF][LST_EOF])(U8 *buffer, LSCRIPTOpCodesEnum opcode); 39void (*binary_operations[LST_EOF][LST_EOF])(U8 *buffer, LSCRIPTOpCodesEnum opcode);
40void (*unary_operations[LST_EOF])(U8 *buffer, LSCRIPTOpCodesEnum opcode); 40void (*unary_operations[LST_EOF])(U8 *buffer, LSCRIPTOpCodesEnum opcode);
41 41
42char *LSCRIPTRunTimeFaultStrings[LSRF_EOF] = 42char* LSCRIPTRunTimeFaultStrings[LSRF_EOF] = /*Flawfinder: ignore*/
43{ 43{
44 "invalid", // LSRF_INVALID, 44 "invalid", // LSRF_INVALID,
45 "Math Error", // LSRF_MATH, 45 "Math Error", // LSRF_MATH,
@@ -2596,6 +2596,7 @@ BOOL run_jump(U8 *buffer, S32 &offset, BOOL b_print, const LLUUID &id)
2596 offset += arg; 2596 offset += arg;
2597 return FALSE; 2597 return FALSE;
2598} 2598}
2599
2599BOOL run_jumpif(U8 *buffer, S32 &offset, BOOL b_print, const LLUUID &id) 2600BOOL run_jumpif(U8 *buffer, S32 &offset, BOOL b_print, const LLUUID &id)
2600{ 2601{
2601 if (b_print) 2602 if (b_print)
@@ -2648,8 +2649,10 @@ BOOL run_jumpif(U8 *buffer, S32 &offset, BOOL b_print, const LLUUID &id)
2648 else if (type == LST_STRING) 2649 else if (type == LST_STRING)
2649 { 2650 {
2650 S32 base_address = lscript_pop_int(buffer); 2651 S32 base_address = lscript_pop_int(buffer);
2651 // this bit of nastiness is to get around that code paths to local variables can result in lack of initialization 2652 // this bit of nastiness is to get around that code paths to
2652 // and function clean up of ref counts isn't based on scope (a mistake, I know) 2653 // local variables can result in lack of initialization and
2654 // function clean up of ref counts isn't based on scope (a
2655 // mistake, I know)
2653 S32 address = base_address + get_register(buffer, LREG_HR) - 1; 2656 S32 address = base_address + get_register(buffer, LREG_HR) - 1;
2654 if (address) 2657 if (address)
2655 { 2658 {
@@ -2662,7 +2665,7 @@ BOOL run_jumpif(U8 *buffer, S32 &offset, BOOL b_print, const LLUUID &id)
2662 S32 size = toffset - string; 2665 S32 size = toffset - string;
2663 char *sdata = new char[size]; 2666 char *sdata = new char[size];
2664 bytestream2char(sdata, buffer, string); 2667 bytestream2char(sdata, buffer, string);
2665 if (strlen(sdata)) 2668 if (strlen(sdata)) /*Flawfinder: ignore*/
2666 { 2669 {
2667 offset += arg; 2670 offset += arg;
2668 } 2671 }
@@ -2674,8 +2677,10 @@ BOOL run_jumpif(U8 *buffer, S32 &offset, BOOL b_print, const LLUUID &id)
2674 else if (type == LST_KEY) 2677 else if (type == LST_KEY)
2675 { 2678 {
2676 S32 base_address = lscript_pop_int(buffer); 2679 S32 base_address = lscript_pop_int(buffer);
2677 // this bit of nastiness is to get around that code paths to local variables can result in lack of initialization 2680 // this bit of nastiness is to get around that code paths to
2678 // and function clean up of ref counts isn't based on scope (a mistake, I know) 2681 // local variables can result in lack of initialization and
2682 // function clean up of ref counts isn't based on scope (a
2683 // mistake, I know)
2679 S32 address = base_address + get_register(buffer, LREG_HR) - 1; 2684 S32 address = base_address + get_register(buffer, LREG_HR) - 1;
2680 if (address) 2685 if (address)
2681 { 2686 {
@@ -2688,29 +2693,37 @@ BOOL run_jumpif(U8 *buffer, S32 &offset, BOOL b_print, const LLUUID &id)
2688 S32 size = toffset - string; 2693 S32 size = toffset - string;
2689 char *sdata = new char[size]; 2694 char *sdata = new char[size];
2690 bytestream2char(sdata, buffer, string); 2695 bytestream2char(sdata, buffer, string);
2691 if (strlen(sdata)) 2696 if (strlen(sdata)) /*Flawfinder: ignore*/
2692 { 2697 {
2693 LLUUID id; 2698 LLUUID id;
2694 id.set(sdata); 2699 if (id.set(sdata) && id.notNull())
2695 if (id != LLUUID::null)
2696 offset += arg; 2700 offset += arg;
2697 } 2701 }
2698 delete [] sdata; 2702 delete [] sdata;
2699 } 2703 }
2700 lsa_decrease_ref_count(buffer, base_address); 2704 lsa_decrease_ref_count(buffer, base_address);
2701 } 2705 }
2702 else if (type == LST_LIST) 2706 }
2707 else if (type == LST_LIST)
2708 {
2709 S32 base_address = lscript_pop_int(buffer);
2710 S32 address = base_address + get_register(buffer, LREG_HR) - 1;
2711 if (address)
2703 { 2712 {
2704 S32 address = lscript_pop_int(buffer); 2713 if (safe_heap_check_address(buffer, address + SIZEOF_SCRIPT_ALLOC_ENTRY, 1))
2705 LLScriptLibData *list = lsa_get_data(buffer, address, TRUE);
2706 if (list->getListLength())
2707 { 2714 {
2708 offset += arg; 2715 LLScriptLibData *list = lsa_get_list_ptr(buffer, base_address, TRUE);
2716 if (list && list->getListLength())
2717 {
2718 offset += arg;
2719 }
2720 delete list;
2709 } 2721 }
2710 } 2722 }
2711 } 2723 }
2712 return FALSE; 2724 return FALSE;
2713} 2725}
2726
2714BOOL run_jumpnif(U8 *buffer, S32 &offset, BOOL b_print, const LLUUID &id) 2727BOOL run_jumpnif(U8 *buffer, S32 &offset, BOOL b_print, const LLUUID &id)
2715{ 2728{
2716 if (b_print) 2729 if (b_print)
@@ -2763,8 +2776,10 @@ BOOL run_jumpnif(U8 *buffer, S32 &offset, BOOL b_print, const LLUUID &id)
2763 else if (type == LST_STRING) 2776 else if (type == LST_STRING)
2764 { 2777 {
2765 S32 base_address = lscript_pop_int(buffer); 2778 S32 base_address = lscript_pop_int(buffer);
2766 // this bit of nastiness is to get around that code paths to local variables can result in lack of initialization 2779 // this bit of nastiness is to get around that code paths to
2767 // and function clean up of ref counts isn't based on scope (a mistake, I know) 2780 // local variables can result in lack of initialization and
2781 // function clean up of ref counts isn't based on scope (a
2782 // mistake, I know)
2768 S32 address = base_address + get_register(buffer, LREG_HR) - 1; 2783 S32 address = base_address + get_register(buffer, LREG_HR) - 1;
2769 if (address) 2784 if (address)
2770 { 2785 {
@@ -2777,7 +2792,7 @@ BOOL run_jumpnif(U8 *buffer, S32 &offset, BOOL b_print, const LLUUID &id)
2777 S32 size = toffset - string; 2792 S32 size = toffset - string;
2778 char *sdata = new char[size]; 2793 char *sdata = new char[size];
2779 bytestream2char(sdata, buffer, string); 2794 bytestream2char(sdata, buffer, string);
2780 if (!strlen(sdata)) 2795 if (!strlen(sdata)) /*Flawfinder: ignore*/
2781 { 2796 {
2782 offset += arg; 2797 offset += arg;
2783 } 2798 }
@@ -2789,8 +2804,10 @@ BOOL run_jumpnif(U8 *buffer, S32 &offset, BOOL b_print, const LLUUID &id)
2789 else if (type == LST_KEY) 2804 else if (type == LST_KEY)
2790 { 2805 {
2791 S32 base_address = lscript_pop_int(buffer); 2806 S32 base_address = lscript_pop_int(buffer);
2792 // this bit of nastiness is to get around that code paths to local variables can result in lack of initialization 2807 // this bit of nastiness is to get around that code paths to
2793 // and function clean up of ref counts isn't based on scope (a mistake, I know) 2808 // local variables can result in lack of initialization and
2809 // function clean up of ref counts isn't based on scope (a
2810 // mistake, I know)
2794 S32 address = base_address + get_register(buffer, LREG_HR) - 1; 2811 S32 address = base_address + get_register(buffer, LREG_HR) - 1;
2795 if (address) 2812 if (address)
2796 { 2813 {
@@ -2803,11 +2820,10 @@ BOOL run_jumpnif(U8 *buffer, S32 &offset, BOOL b_print, const LLUUID &id)
2803 S32 size = toffset - string; 2820 S32 size = toffset - string;
2804 char *sdata = new char[size]; 2821 char *sdata = new char[size];
2805 bytestream2char(sdata, buffer, string); 2822 bytestream2char(sdata, buffer, string);
2806 if (strlen(sdata)) 2823 if (strlen(sdata)) /*Flawfinder: ignore*/
2807 { 2824 {
2808 LLUUID id; 2825 LLUUID id;
2809 id.set(sdata); 2826 if (!id.set(sdata) || id.isNull())
2810 if (id == LLUUID::null)
2811 offset += arg; 2827 offset += arg;
2812 } 2828 }
2813 else 2829 else
@@ -2818,13 +2834,25 @@ BOOL run_jumpnif(U8 *buffer, S32 &offset, BOOL b_print, const LLUUID &id)
2818 } 2834 }
2819 lsa_decrease_ref_count(buffer, base_address); 2835 lsa_decrease_ref_count(buffer, base_address);
2820 } 2836 }
2821 else if (type == LST_LIST) 2837 }
2838 else if (type == LST_LIST)
2839 {
2840 S32 base_address = lscript_pop_int(buffer);
2841 // this bit of nastiness is to get around that code paths to
2842 // local variables can result in lack of initialization and
2843 // function clean up of ref counts isn't based on scope (a
2844 // mistake, I know)
2845 S32 address = base_address + get_register(buffer, LREG_HR) - 1;
2846 if (address)
2822 { 2847 {
2823 S32 address = lscript_pop_int(buffer); 2848 if (safe_heap_check_address(buffer, address + SIZEOF_SCRIPT_ALLOC_ENTRY, 1))
2824 LLScriptLibData *list = lsa_get_data(buffer, address, TRUE);
2825 if (!list->getListLength())
2826 { 2849 {
2827 offset += arg; 2850 LLScriptLibData *list = lsa_get_list_ptr(buffer, base_address, TRUE);
2851 if (!list || !list->getListLength())
2852 {
2853 offset += arg;
2854 }
2855 delete list;
2828 } 2856 }
2829 } 2857 }
2830 } 2858 }
@@ -2954,7 +2982,7 @@ S32 axtoi(char *hexStg)
2954 2982
2955BOOL run_cast(U8 *buffer, S32 &offset, BOOL b_print, const LLUUID &id) 2983BOOL run_cast(U8 *buffer, S32 &offset, BOOL b_print, const LLUUID &id)
2956{ 2984{
2957 char caststr[1024]; 2985 char caststr[1024]; /*Flawfinder: ignore*/
2958 if (b_print) 2986 if (b_print)
2959 printf("[0x%X]\tCAST ", offset); 2987 printf("[0x%X]\tCAST ", offset);
2960 offset++; 2988 offset++;
@@ -2987,7 +3015,7 @@ BOOL run_cast(U8 *buffer, S32 &offset, BOOL b_print, const LLUUID &id)
2987 case LST_STRING: 3015 case LST_STRING:
2988 { 3016 {
2989 S32 address, source = lscript_pop_int(buffer); 3017 S32 address, source = lscript_pop_int(buffer);
2990 sprintf(caststr, "%d", source); 3018 snprintf(caststr, sizeof(caststr), "%d", source); /*Flawfinder: ignore*/
2991 address = lsa_heap_add_data(buffer, new LLScriptLibData(caststr), get_max_heap_size(buffer), TRUE); 3019 address = lsa_heap_add_data(buffer, new LLScriptLibData(caststr), get_max_heap_size(buffer), TRUE);
2992 lscript_push(buffer, address); 3020 lscript_push(buffer, address);
2993 } 3021 }
@@ -3024,7 +3052,7 @@ BOOL run_cast(U8 *buffer, S32 &offset, BOOL b_print, const LLUUID &id)
3024 { 3052 {
3025 S32 address; 3053 S32 address;
3026 F32 source = lscript_pop_float(buffer); 3054 F32 source = lscript_pop_float(buffer);
3027 sprintf(caststr, "%f", source); 3055 snprintf(caststr, sizeof(caststr), "%f", source); /*Flawfinder: ignore*/
3028 address = lsa_heap_add_data(buffer, new LLScriptLibData(caststr), get_max_heap_size(buffer), TRUE); 3056 address = lsa_heap_add_data(buffer, new LLScriptLibData(caststr), get_max_heap_size(buffer), TRUE);
3029 lscript_push(buffer, address); 3057 lscript_push(buffer, address);
3030 } 3058 }
@@ -3233,7 +3261,7 @@ BOOL run_cast(U8 *buffer, S32 &offset, BOOL b_print, const LLUUID &id)
3233 S32 address; 3261 S32 address;
3234 LLVector3 source; 3262 LLVector3 source;
3235 lscript_pop_vector(buffer, source); 3263 lscript_pop_vector(buffer, source);
3236 sprintf(caststr, "<%5.5f, %5.5f, %5.5f>", source.mV[VX], source.mV[VY], source.mV[VZ]); 3264 snprintf(caststr, sizeof(caststr), "<%5.5f, %5.5f, %5.5f>", source.mV[VX], source.mV[VY], source.mV[VZ]); /*Flawfinder: ignore*/
3237 address = lsa_heap_add_data(buffer, new LLScriptLibData(caststr), get_max_heap_size(buffer), TRUE); 3265 address = lsa_heap_add_data(buffer, new LLScriptLibData(caststr), get_max_heap_size(buffer), TRUE);
3238 lscript_push(buffer, address); 3266 lscript_push(buffer, address);
3239 } 3267 }
@@ -3266,7 +3294,7 @@ BOOL run_cast(U8 *buffer, S32 &offset, BOOL b_print, const LLUUID &id)
3266 S32 address; 3294 S32 address;
3267 LLQuaternion source; 3295 LLQuaternion source;
3268 lscript_pop_quaternion(buffer, source); 3296 lscript_pop_quaternion(buffer, source);
3269 sprintf(caststr, "<%5.5f, %5.5f, %5.5f, %5.5f>", source.mQ[VX], source.mQ[VY], source.mQ[VZ], source.mQ[VS]); 3297 snprintf(caststr, sizeof(caststr), "<%5.5f, %5.5f, %5.5f, %5.5f>", source.mQ[VX], source.mQ[VY], source.mQ[VZ], source.mQ[VS]); /*Flawfinder: ignore*/
3270 address = lsa_heap_add_data(buffer, new LLScriptLibData(caststr), get_max_heap_size(buffer), TRUE); 3298 address = lsa_heap_add_data(buffer, new LLScriptLibData(caststr), get_max_heap_size(buffer), TRUE);
3271 lscript_push(buffer, address); 3299 lscript_push(buffer, address);
3272 } 3300 }
@@ -3590,22 +3618,29 @@ void lscript_run(char *filename, BOOL b_debug)
3590 char *error; 3618 char *error;
3591 BOOL b_state; 3619 BOOL b_state;
3592 LLScriptExecute *execute = NULL; 3620 LLScriptExecute *execute = NULL;
3593 FILE *file = LLFile::fopen(filename, "r"); 3621 if (filename == NULL)
3622 {
3623 llerrs << "filename is empty" << llendl;
3624 // Just reporting error is likely not enough. Need
3625 // to check how to abort or error out gracefully
3626 // from this function. XXXTBD
3627 }
3628 FILE* file = LLFile::fopen(filename, "r"); /* Flawfinder: ignore */
3594 if (file) 3629 if (file)
3595 { 3630 {
3596 execute = new LLScriptExecute(file); 3631 execute = new LLScriptExecute(file);
3597 fclose(file); 3632 fclose(file);
3598 } 3633 }
3599 file = LLFile::fopen(filename, "r"); 3634 file = LLFile::fopen(filename, "r"); /* Flawfinder: ignore */
3600 if (file) 3635 if (file)
3601 { 3636 {
3602 FILE *fp = LLFile::fopen("lscript.parse", "w"); 3637 FILE* fp = LLFile::fopen("lscript.parse", "w"); /*Flawfinder: ignore*/
3603 LLScriptLSOParse *parse = new LLScriptLSOParse(file); 3638 LLScriptLSOParse *parse = new LLScriptLSOParse(file);
3604 parse->printData(fp); 3639 parse->printData(fp);
3605 fclose(file); 3640 fclose(file);
3606 fclose(fp); 3641 fclose(fp);
3607 } 3642 }
3608 file = LLFile::fopen(filename, "r"); 3643 file = LLFile::fopen(filename, "r"); /*Flawfinder: ignore*/
3609 if (file && execute) 3644 if (file && execute)
3610 { 3645 {
3611 timer.reset(); 3646 timer.reset();
@@ -3814,7 +3849,7 @@ BOOL run_calllib(U8 *buffer, S32 &offset, BOOL b_print, const LLUUID &id)
3814 3849
3815 if (gScriptLibrary.mFunctions[arg]->mArgs) 3850 if (gScriptLibrary.mFunctions[arg]->mArgs)
3816 { 3851 {
3817 number = (S32)strlen(gScriptLibrary.mFunctions[arg]->mArgs); 3852 number = (S32)strlen(gScriptLibrary.mFunctions[arg]->mArgs); /*Flawfinder: ignore*/
3818 arguments = new LLScriptLibData[number]; 3853 arguments = new LLScriptLibData[number];
3819 } 3854 }
3820 else 3855 else
@@ -3885,7 +3920,7 @@ BOOL run_calllib_two_byte(U8 *buffer, S32 &offset, BOOL b_print, const LLUUID &i
3885 3920
3886 if (gScriptLibrary.mFunctions[arg]->mArgs) 3921 if (gScriptLibrary.mFunctions[arg]->mArgs)
3887 { 3922 {
3888 number = (S32)strlen(gScriptLibrary.mFunctions[arg]->mArgs); 3923 number = (S32)strlen(gScriptLibrary.mFunctions[arg]->mArgs); /*Flawfinder: ignore*/
3889 arguments = new LLScriptLibData[number]; 3924 arguments = new LLScriptLibData[number];
3890 } 3925 }
3891 else 3926 else
diff --git a/linden/indra/lscript/lscript_execute/lscript_execute_vc8.vcproj b/linden/indra/lscript/lscript_execute/lscript_execute_vc8.vcproj
new file mode 100644
index 0000000..0a987c8
--- /dev/null
+++ b/linden/indra/lscript/lscript_execute/lscript_execute_vc8.vcproj
@@ -0,0 +1,276 @@
1<?xml version="1.0" encoding="Windows-1252"?>
2<VisualStudioProject
3 ProjectType="Visual C++"
4 Version="8.00"
5 Name="lscript_execute"
6 ProjectGUID="{F882263E-4F2A-43D9-A45A-FA4C8EC66552}"
7 Keyword="Win32Proj"
8 >
9 <Platforms>
10 <Platform
11 Name="Win32"
12 />
13 </Platforms>
14 <ToolFiles>
15 </ToolFiles>
16 <Configurations>
17 <Configuration
18 Name="Debug|Win32"
19 OutputDirectory="../../lib_$(ConfigurationName)/i686-win32"
20 IntermediateDirectory="Debug"
21 ConfigurationType="4"
22 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
23 CharacterSet="1"
24 >
25 <Tool
26 Name="VCPreBuildEventTool"
27 />
28 <Tool
29 Name="VCCustomBuildTool"
30 />
31 <Tool
32 Name="VCXMLDataGeneratorTool"
33 />
34 <Tool
35 Name="VCWebServiceProxyGeneratorTool"
36 />
37 <Tool
38 Name="VCMIDLTool"
39 />
40 <Tool
41 Name="VCCLCompilerTool"
42 Optimization="0"
43 AdditionalIncludeDirectories="..;..\..\llcommon;..\..\llmath;&quot;..\..\..\libraries\i686-win32\include&quot;;..\..\..\libraries\include"
44 PreprocessorDefinitions="WIN32;_DEBUG;_LIB;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_DEBUG"
45 MinimalRebuild="true"
46 BasicRuntimeChecks="3"
47 RuntimeLibrary="1"
48 StructMemberAlignment="4"
49 TreatWChar_tAsBuiltInType="false"
50 ForceConformanceInForLoopScope="true"
51 UsePrecompiledHeader="0"
52 WarningLevel="3"
53 WarnAsError="true"
54 Detect64BitPortabilityProblems="false"
55 DebugInformationFormat="4"
56 />
57 <Tool
58 Name="VCManagedResourceCompilerTool"
59 />
60 <Tool
61 Name="VCResourceCompilerTool"
62 />
63 <Tool
64 Name="VCPreLinkEventTool"
65 />
66 <Tool
67 Name="VCLibrarianTool"
68 OutputFile="$(OutDir)/lscript_execute.lib"
69 />
70 <Tool
71 Name="VCALinkTool"
72 />
73 <Tool
74 Name="VCXDCMakeTool"
75 />
76 <Tool
77 Name="VCBscMakeTool"
78 />
79 <Tool
80 Name="VCFxCopTool"
81 />
82 <Tool
83 Name="VCPostBuildEventTool"
84 />
85 </Configuration>
86 <Configuration
87 Name="Release|Win32"
88 OutputDirectory="../../lib_$(ConfigurationName)/i686-win32"
89 IntermediateDirectory="Release"
90 ConfigurationType="4"
91 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
92 CharacterSet="1"
93 >
94 <Tool
95 Name="VCPreBuildEventTool"
96 />
97 <Tool
98 Name="VCCustomBuildTool"
99 />
100 <Tool
101 Name="VCXMLDataGeneratorTool"
102 />
103 <Tool
104 Name="VCWebServiceProxyGeneratorTool"
105 />
106 <Tool
107 Name="VCMIDLTool"
108 />
109 <Tool
110 Name="VCCLCompilerTool"
111 AdditionalIncludeDirectories="..;..\..\llcommon;..\..\llmath;&quot;..\..\..\libraries\i686-win32\include&quot;;..\..\..\libraries\include"
112 PreprocessorDefinitions="WIN32;NDEBUG;_LIB;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_RELEASE"
113 RuntimeLibrary="0"
114 StructMemberAlignment="0"
115 TreatWChar_tAsBuiltInType="false"
116 ForceConformanceInForLoopScope="true"
117 UsePrecompiledHeader="0"
118 WarningLevel="3"
119 WarnAsError="true"
120 Detect64BitPortabilityProblems="false"
121 DebugInformationFormat="3"
122 />
123 <Tool
124 Name="VCManagedResourceCompilerTool"
125 />
126 <Tool
127 Name="VCResourceCompilerTool"
128 />
129 <Tool
130 Name="VCPreLinkEventTool"
131 />
132 <Tool
133 Name="VCLibrarianTool"
134 OutputFile="$(OutDir)/lscript_execute.lib"
135 />
136 <Tool
137 Name="VCALinkTool"
138 />
139 <Tool
140 Name="VCXDCMakeTool"
141 />
142 <Tool
143 Name="VCBscMakeTool"
144 />
145 <Tool
146 Name="VCFxCopTool"
147 />
148 <Tool
149 Name="VCPostBuildEventTool"
150 />
151 </Configuration>
152 <Configuration
153 Name="ReleaseNoOpt|Win32"
154 OutputDirectory="../../lib_$(ConfigurationName)/i686-win32"
155 IntermediateDirectory="$(ConfigurationName)"
156 ConfigurationType="4"
157 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
158 CharacterSet="1"
159 >
160 <Tool
161 Name="VCPreBuildEventTool"
162 />
163 <Tool
164 Name="VCCustomBuildTool"
165 />
166 <Tool
167 Name="VCXMLDataGeneratorTool"
168 />
169 <Tool
170 Name="VCWebServiceProxyGeneratorTool"
171 />
172 <Tool
173 Name="VCMIDLTool"
174 />
175 <Tool
176 Name="VCCLCompilerTool"
177 Optimization="0"
178 AdditionalIncludeDirectories="..;..\..\llcommon;..\..\llmath;&quot;..\..\..\libraries\i686-win32\include&quot;;..\..\..\libraries\include"
179 PreprocessorDefinitions="WIN32;NDEBUG;_LIB;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_RELEASE"
180 RuntimeLibrary="0"
181 StructMemberAlignment="0"
182 TreatWChar_tAsBuiltInType="false"
183 ForceConformanceInForLoopScope="true"
184 UsePrecompiledHeader="0"
185 WarningLevel="3"
186 WarnAsError="true"
187 Detect64BitPortabilityProblems="false"
188 DebugInformationFormat="3"
189 />
190 <Tool
191 Name="VCManagedResourceCompilerTool"
192 />
193 <Tool
194 Name="VCResourceCompilerTool"
195 />
196 <Tool
197 Name="VCPreLinkEventTool"
198 />
199 <Tool
200 Name="VCLibrarianTool"
201 OutputFile="$(OutDir)/lscript_execute.lib"
202 />
203 <Tool
204 Name="VCALinkTool"
205 />
206 <Tool
207 Name="VCXDCMakeTool"
208 />
209 <Tool
210 Name="VCBscMakeTool"
211 />
212 <Tool
213 Name="VCFxCopTool"
214 />
215 <Tool
216 Name="VCPostBuildEventTool"
217 />
218 </Configuration>
219 </Configurations>
220 <References>
221 </References>
222 <Files>
223 <Filter
224 Name="Source Files"
225 Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
226 UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
227 >
228 <File
229 RelativePath=".\lscript_execute.cpp"
230 >
231 </File>
232 <File
233 RelativePath=".\lscript_heapruntime.cpp"
234 >
235 </File>
236 <File
237 RelativePath=".\lscript_readlso.cpp"
238 >
239 </File>
240 </Filter>
241 <Filter
242 Name="Header Files"
243 Filter="h;hpp;hxx;hm;inl;inc;xsd"
244 UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
245 >
246 <File
247 RelativePath="..\lscript_byteconvert.h"
248 >
249 </File>
250 <File
251 RelativePath="..\lscript_byteformat.h"
252 >
253 </File>
254 <File
255 RelativePath="..\lscript_execute.h"
256 >
257 </File>
258 <File
259 RelativePath=".\lscript_heapruntime.h"
260 >
261 </File>
262 <File
263 RelativePath=".\lscript_readlso.h"
264 >
265 </File>
266 </Filter>
267 <Filter
268 Name="Resource Files"
269 Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
270 UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
271 >
272 </Filter>
273 </Files>
274 <Globals>
275 </Globals>
276</VisualStudioProject>
diff --git a/linden/indra/lscript/lscript_execute/lscript_readlso.cpp b/linden/indra/lscript/lscript_execute/lscript_readlso.cpp
index 6734d58..ea40892 100644
--- a/linden/indra/lscript/lscript_execute/lscript_readlso.cpp
+++ b/linden/indra/lscript/lscript_execute/lscript_readlso.cpp
@@ -122,7 +122,7 @@ void LLScriptLSOParse::printGlobals(FILE *fp)
122 F32 fpvalue; 122 F32 fpvalue;
123 LLVector3 vvalue; 123 LLVector3 vvalue;
124 LLQuaternion qvalue; 124 LLQuaternion qvalue;
125 char name[256]; 125 char name[256]; /*Flawfinder: ignore*/
126 U8 type; 126 U8 type;
127 127
128 S32 global_v_offset = get_register(mRawData, LREG_GVR); 128 S32 global_v_offset = get_register(mRawData, LREG_GVR);
@@ -190,7 +190,7 @@ void LLScriptLSOParse::printGlobalFunctions(FILE *fp)
190 S32 i, offset; 190 S32 i, offset;
191// LLVector3 vvalue; unused 191// LLVector3 vvalue; unused
192// LLQuaternion qvalue; unused 192// LLQuaternion qvalue; unused
193 char name[256]; 193 char name[256]; /*Flawfinder: ignore*/
194 U8 type; 194 U8 type;
195 195
196 offset = get_register(mRawData, LREG_GFR); 196 offset = get_register(mRawData, LREG_GFR);
@@ -280,7 +280,7 @@ void LLScriptLSOParse::printStates(FILE *fp)
280 U32 j, k; 280 U32 j, k;
281// LLVector3 vvalue; unused 281// LLVector3 vvalue; unused
282// LLQuaternion qvalue; unused 282// LLQuaternion qvalue; unused
283 char name[256]; 283 char name[256]; /*Flawfinder: ignore*/
284 284
285 S32 state_offset = get_register(mRawData, LREG_SR); 285 S32 state_offset = get_register(mRawData, LREG_SR);
286 286
@@ -1196,7 +1196,7 @@ void print_pushargf(FILE *fp, U8 *buffer, S32 &offset, S32 tabs)
1196 1196
1197void print_pushargs(FILE *fp, U8 *buffer, S32 &offset, S32 tabs) 1197void print_pushargs(FILE *fp, U8 *buffer, S32 &offset, S32 tabs)
1198{ 1198{
1199 char arg[1024]; 1199 char arg[1024]; /*Flawfinder: ignore*/
1200 lso_print_tabs(fp, tabs); 1200 lso_print_tabs(fp, tabs);
1201 fprintf(fp, "[0x%X]\tPUSHARGS ", offset++); 1201 fprintf(fp, "[0x%X]\tPUSHARGS ", offset++);
1202 bytestream2char(arg, buffer, offset); 1202 bytestream2char(arg, buffer, offset);