Fix generation of duplicate constants with multiple entry points (#178)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index cd555c8..2c76c31 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,6 @@
+# 2.2.1
+- Fixed generation of duplicate constants suffixed with `_<int>` when using multiple entry points.
+
 # 2.2.0
 - Added subkey `symbol-address` to expose native symbol pointers for `functions` and `globals`.
 
diff --git a/lib/src/header_parser/sub_parsers/unnamed_enumdecl_parser.dart b/lib/src/header_parser/sub_parsers/unnamed_enumdecl_parser.dart
index 584694d..4cac558 100644
--- a/lib/src/header_parser/sub_parsers/unnamed_enumdecl_parser.dart
+++ b/lib/src/header_parser/sub_parsers/unnamed_enumdecl_parser.dart
@@ -55,15 +55,17 @@
 
 /// Adds the parameter to func in [functiondecl_parser.dart].
 void _addUnNamedEnumConstant(clang_types.CXCursor cursor) {
-  unnamedEnumConstants.add(
-    Constant(
-      usr: cursor.usr(),
-      originalName: cursor.spelling(),
-      name: config.unnamedEnumConstants.renameUsingConfig(
-        cursor.spelling(),
-      ),
-      rawType: 'int',
-      rawValue: clang.clang_getEnumConstantDeclValue(cursor).toString(),
+  _logger.fine(
+      '++++ Adding Constant from unnamed enum: ${cursor.completeStringRepr()}');
+  final constant = Constant(
+    usr: cursor.usr(),
+    originalName: cursor.spelling(),
+    name: config.unnamedEnumConstants.renameUsingConfig(
+      cursor.spelling(),
     ),
+    rawType: 'int',
+    rawValue: clang.clang_getEnumConstantDeclValue(cursor).toString(),
   );
+  bindingsIndex.addUnnamedEnumConstantToSeen(cursor.usr(), constant);
+  unnamedEnumConstants.add(constant);
 }
diff --git a/pubspec.yaml b/pubspec.yaml
index 860f4e8..df6c00b 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -3,7 +3,7 @@
 # BSD-style license that can be found in the LICENSE file.
 
 name: ffigen
-version: 2.2.0
+version: 2.2.1
 homepage: https://github.com/dart-lang/ffigen
 description: Generator for FFI bindings, using LibClang to parse C header files.