Implemented a method where LANG_* strings can be referenced

by constant id's - reducing code overhead associated with
looking up the global strings variables.  Kind of.  Just compare
the assembly output...


git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@685 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
eccles 2002-08-11 18:56:30 +00:00
parent adb237d9a1
commit ac00a53e1a
7 changed files with 347 additions and 280 deletions

View file

@ -126,7 +126,6 @@ enum
};
// used for section->default_state
#define DFS_SET 0x80000000
#define DFS_RO 0x40000000
@ -150,8 +149,6 @@ typedef struct
// Strings common to both installers and uninstallers
typedef struct
{
WORD lang_id;
// unprocessed strings
int branding;
int cancelbutton;
@ -219,12 +216,18 @@ typedef struct
int inst_corrupted;
int output_dir;
int create_dir;
// Note - should be at the end (everything before here should be just ints)
WORD lang_id;
} common_strings;
// Settings common to both installers and uninstallers
typedef struct
{
int str_tables; // offset to tables array
int str_tables_num; // number of strings tables in array
int str_tables; // offset to common string tables array
int inst_str_tables; // offset to install/uninstall string tables array
int num_entries; // total number of entries
@ -259,8 +262,6 @@ typedef struct
// Strings specific to installers
typedef struct
{
WORD lang_id;
// these first strings are literals (should not be encoded)
int backbutton;
int nextbutton;
@ -288,9 +289,6 @@ typedef struct
// common settings
common_header common;
int str_tables_num; // number of strings tables in array
int str_tables; // offset to tables array
int install_reg_rootkey, install_reg_key_ptr, install_reg_value_ptr;
#ifdef NSIS_CONFIG_COMPONENTPAGE
@ -337,8 +335,6 @@ typedef struct
// Strings specific to uninstallers
typedef struct
{
WORD lang_id;
// unprocessed strings
int uninstbutton;
int uninstalltext;
@ -351,9 +347,6 @@ typedef struct
// common settings
common_header common;
int str_tables_num; // number of strings tables in array
int str_tables; // offset to tables array
int code;
int code_size;