gcc fixes

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@5819 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
kichik 2008-12-09 23:10:07 +00:00
parent 2d06f24c5d
commit 4f8b10e589
5 changed files with 11 additions and 9 deletions

View file

@ -3232,7 +3232,7 @@ void CEXEBuild::build_plugin_table(void)
INFO_MSG("\n"); INFO_MSG("\n");
} }
#define FLAG_OFFSET(flag) (FIELD_OFFSET(exec_flags, flag)/sizeof(int)) #define FLAG_OFFSET(flag) (FIELD_OFFSET(exec_flags_t, flag)/sizeof(int))
int CEXEBuild::add_plugins_dir_initializer(void) int CEXEBuild::add_plugins_dir_initializer(void)
{ {

View file

@ -34,7 +34,7 @@ enum NSPIM
// Prototype for callbacks registered with extra_parameters->RegisterPluginCallback() // Prototype for callbacks registered with extra_parameters->RegisterPluginCallback()
// Return NULL for unknown messages // Return NULL for unknown messages
// Should always be __cdecl for future expansion possibilities // Should always be __cdecl for future expansion possibilities
typedef UINT_PTR (*NSISPLUGINCALLBACK)(NSPIM); typedef UINT_PTR (*NSISPLUGINCALLBACK)(enum NSPIM);
// extra_parameters data structures containing other interesting stuff // extra_parameters data structures containing other interesting stuff
// but the stack, variables and HWND passed on to plug-ins. // but the stack, variables and HWND passed on to plug-ins.
@ -55,10 +55,10 @@ typedef struct
int errlvl; int errlvl;
int alter_reg_view; int alter_reg_view;
int status_update; int status_update;
} exec_flags; } exec_flags_t;
typedef struct { typedef struct {
exec_flags *exec_flags; exec_flags_t *exec_flags;
int (NSISCALL *ExecuteCodeSegment)(int, HWND); int (NSISCALL *ExecuteCodeSegment)(int, HWND);
void (NSISCALL *validate_filename)(char *); void (NSISCALL *validate_filename)(char *);
BOOL (NSISCALL *RegisterPluginCallback)(HMODULE, NSISPLUGINCALLBACK); BOOL (NSISCALL *RegisterPluginCallback)(HMODULE, NSISPLUGINCALLBACK);

View file

@ -43,8 +43,8 @@ typedef struct _stack_t {
static stack_t *g_st; static stack_t *g_st;
#endif #endif
exec_flags g_exec_flags; exec_flags_t g_exec_flags;
exec_flags g_exec_flags_last_used; exec_flags_t g_exec_flags_last_used;
extra_parameters plugin_extra_parameters = { extra_parameters plugin_extra_parameters = {
&g_exec_flags, &g_exec_flags,

View file

@ -17,8 +17,10 @@
#ifndef _EXEC_H_ #ifndef _EXEC_H_
#define _EXEC_H_ #define _EXEC_H_
extern exec_flags g_exec_flags; #include "api.h"
extern exec_flags g_exec_flags_last_used;
extern exec_flags_t g_exec_flags;
extern exec_flags_t g_exec_flags_last_used;
int NSISCALL ExecuteCodeSegment(int pos, HWND hwndProgress); // returns 0 on success int NSISCALL ExecuteCodeSegment(int pos, HWND hwndProgress); // returns 0 on success
int NSISCALL ExecuteCallbackFunction(int num); // returns 0 on success int NSISCALL ExecuteCallbackFunction(int num); // returns 0 on success

View file

@ -897,7 +897,7 @@ int CEXEBuild::process_jump(LineParser &line, int wt, int *offs)
return 0; return 0;
} }
#define FLAG_OFFSET(flag) (FIELD_OFFSET(exec_flags, flag)/sizeof(int)) #define FLAG_OFFSET(flag) (FIELD_OFFSET(exec_flags_t, flag)/sizeof(int))
#define SECTION_FIELD_GET(field) (FIELD_OFFSET(section, field)/sizeof(int)) #define SECTION_FIELD_GET(field) (FIELD_OFFSET(section, field)/sizeof(int))
#define SECTION_FIELD_SET(field) (-1 - (int)(FIELD_OFFSET(section, field)/sizeof(int))) #define SECTION_FIELD_SET(field) (-1 - (int)(FIELD_OFFSET(section, field)/sizeof(int)))