From 9931591d3a5c1987958a88a3c693cf54631d744e Mon Sep 17 00:00:00 2001 From: anders_k Date: Tue, 13 Dec 2011 21:20:56 +0000 Subject: [PATCH] Emulate g as &g16 in *() struct syntax git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6210 212acab6-be3b-0410-9dea-997c60f758d6 --- Contrib/System/Source/System.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Contrib/System/Source/System.c b/Contrib/System/Source/System.c index aa6b1e8e..3842e6c5 100644 --- a/Contrib/System/Source/System.c +++ b/Contrib/System/Source/System.c @@ -1116,6 +1116,13 @@ void CallStruct(SystemProc *proc) // Calculate the structure size for (i = 1; i <= proc->ParamCount; i++) { + // Emulate g as &g16 + // (Changing ByteSizeByType would break compatibility with '*(&g16,i)i.s') + if (PAT_GUID==proc->Params[i].Type && 0==proc->Params[i].Option) + { + proc->Params[i].Option = 1 + 16; + } + if (proc->Params[i].Option < 1) structsize += proc->Params[i].Size * 4; else