+int MacroCmp (const Macro* M1, const Macro* M2)
+/* Compare two macros and return zero if both are identical. */
+{
+ int I;
+
+ /* Argument count must be identical */
+ if (M1->ArgCount != M2->ArgCount) {
+ return 1;
+ }
+
+ /* Compare the arguments */
+ for (I = 0; I < M1->ArgCount; ++I) {
+ if (strcmp (M1->FormalArgs[I], M2->FormalArgs[I]) != 0) {
+ return 1;
+ }
+ }
+
+ /* Compare the replacement */
+ return strcmp (M1->Replacement, M2->Replacement);
+}
+
+
+