+/* these tend to cause linker conflicts */
+static const char *useless_names[] = {
+ "target", "addend", "lpMem", "Locale", "lpfn",
+ "CodePage", "uNumber", "Caption", "Default", "SubKey",
+ "ValueName", "OutputString", "LibFileName", "AppName",
+ "Buffer", "ClassName", "dwProcessId", "FileName",
+ "aExp", "aLog10", "aDelete", "aFont",
+ "lpCriticalSection", "CriticalSection", "lpAddress",
+ "lpBuffer", "lpClassName", "lpName",
+ "hHeap", "hEvent", "hHandle", "hObject",
+ "hLibModule", "hInstance",
+};
+
+static int is_name_useless(const char *name)
+{
+ int i;
+ for (i = 0; i < ARRAY_SIZE(useless_names); i++)
+ if (strcasecmp(name, useless_names[i]) == 0)
+ return 1;
+
+ return 0;
+}
+