https://git.reactos.org/?p=reactos.git;a=commitdiff;h=7b2bb7ecc8622c68ce02d…
commit 7b2bb7ecc8622c68ce02d7ec7fa3d3d19514d8d7
Author: Timo Kreuzer <timo.kreuzer(a)reactos.org>
AuthorDate: Mon Jun 3 10:26:02 2024 +0300
Commit: Timo Kreuzer <timo.kreuzer(a)reactos.org>
CommitDate: Sat Nov 2 02:36:45 2024 +0200
[SPEC2DEF] Implement support for negated architecture
This is used by wine spec files.
---
sdk/tools/spec2def/spec2def.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/sdk/tools/spec2def/spec2def.c b/sdk/tools/spec2def/spec2def.c
index 36612eb4bfc..cd80dffafcc 100644
--- a/sdk/tools/spec2def/spec2def.c
+++ b/sdk/tools/spec2def/spec2def.c
@@ -1072,9 +1072,24 @@ ParseFile(char* pcStart, FILE *fileDest, unsigned *cExports)
/* Look if we are included */
do
{
+ int negated = 0, match = 0;
+
pc++;
+
+ /* Check for negated case */
+ if (*pc == '!')
+ {
+ negated = 1;
+ pc++;
+ }
+
if (CompareToken(pc, pszArchString) ||
CompareToken(pc, pszArchString2))
+ {
+ match = 1;
+ }
+
+ if (match != negated)
{
included = 1;
}