Added check for duplicate ordinals, and fixed bug it uncovered in
msnet32.spec.

diff --git a/dlls/msnet32/msnet32.spec b/dlls/msnet32/msnet32.spec
index ee0bdbe..fcf4a0c 100644
--- a/dlls/msnet32/msnet32.spec
+++ b/dlls/msnet32/msnet32.spec
@@ -54,8 +54,7 @@
  54 stub @
  55 stub @
  56 stub @
- 57 stub @
- 57 stdcall @(long long ptr long ptr)  MSNET32_57
+ 57 stdcall @(long long ptr long ptr) MSNET32_57
  58 stub @
  59 stub @
  60 stub @
diff --git a/tools/winebuild/parser.c b/tools/winebuild/parser.c
index 3f8c346..0b6118b 100644
--- a/tools/winebuild/parser.c
+++ b/tools/winebuild/parser.c
@@ -517,6 +517,11 @@
         if (ordinal > Limit) Limit = ordinal;
         if (ordinal < Base) Base = ordinal;
         odp->ordinal = ordinal;
+        if (Ordinals[ordinal])
+        {
+            error( "Duplicate ordinal %d\n", ordinal );
+            goto error;
+        }
         Ordinals[ordinal] = odp;
     }