diff options
author | Jacek Antonelli | 2008-08-15 23:44:50 -0500 |
---|---|---|
committer | Jacek Antonelli | 2008-08-15 23:44:50 -0500 |
commit | 89fe5dab825a62a0e3fd8d248cbc91c65eb2a426 (patch) | |
tree | bcff14b7888d04a2fec799c59369f6095224bd08 /linden/indra/lscript/lscript_execute | |
parent | Second Life viewer sources 1.13.3.2 (diff) | |
download | meta-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')
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 @@ | |||
39 | void (*binary_operations[LST_EOF][LST_EOF])(U8 *buffer, LSCRIPTOpCodesEnum opcode); | 39 | void (*binary_operations[LST_EOF][LST_EOF])(U8 *buffer, LSCRIPTOpCodesEnum opcode); |
40 | void (*unary_operations[LST_EOF])(U8 *buffer, LSCRIPTOpCodesEnum opcode); | 40 | void (*unary_operations[LST_EOF])(U8 *buffer, LSCRIPTOpCodesEnum opcode); |
41 | 41 | ||
42 | char *LSCRIPTRunTimeFaultStrings[LSRF_EOF] = | 42 | char* 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 | |||
2599 | BOOL run_jumpif(U8 *buffer, S32 &offset, BOOL b_print, const LLUUID &id) | 2600 | BOOL 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 | |||
2714 | BOOL run_jumpnif(U8 *buffer, S32 &offset, BOOL b_print, const LLUUID &id) | 2727 | BOOL 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 | ||
2955 | BOOL run_cast(U8 *buffer, S32 &offset, BOOL b_print, const LLUUID &id) | 2983 | BOOL 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;"..\..\..\libraries\i686-win32\include";..\..\..\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;"..\..\..\libraries\i686-win32\include";..\..\..\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;"..\..\..\libraries\i686-win32\include";..\..\..\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 | ||
1197 | void print_pushargs(FILE *fp, U8 *buffer, S32 &offset, S32 tabs) | 1197 | void 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); |