MattK wrote:
This is a patch to implement Dnsapi.dll. It contains "bare bones".
Please submit a seperate patch for the windns.h header file.
@@ -1193,6 +1193,7 @@ AC_CHECK_FUNCS(\ strcasecmp \ strerror \ strncasecmp \
strsep \
Adding strsep here doesn't guarantee that it will exist. You need to check usage with #ifdef HAVE_STRSEP, or just assume it's always there and remove the configure check (prefered). Looks like that code is using tab indent too, so if this was needed, you should use the same to keep it consistent.
RCS file: /home/wine/wine/dlls/Makefile.in,v
This is automatically generated. No patch is needed.
+DNS_STATUS WINAPI DnsValidateName_A(LPCSTR pszName, DNS_NAME_FORMAT);
Hmmm. The Windows Platform SDK doesn't define this function as WINAPI.
+# Generated from /mnt/windows/windows/system32/dnsapi.dll by winedump
This comment is unnecessary.
+107 stdcall DnsValidateName_A(str long)
Maybe cdecl instead, if the Platform SDK header is right?
+EXTRALIBS = -lc
Pretty sure libc is linked by default, so you don't need to add it.
- /* The Platform SDK documentation for this says that it ignores all periods. */
- /* So there's gonna be no periods! */
- if(dots1 && dots2)
- {
strsep(&name1,dots1);
strsep(&name2,dots2);
pName1 = name1;
pName2 = name2;
- }
This ignores the first period and everything after it. It also modifies the input (ie. the program's copy of the string).
- equal = strcmp(pName1,pName2);
Probably better to use lstrcmpA to use the Wine codepage.
- if(equal == 0)
- {
return TRUE;
- }
- if(equal > 0 || equal < 0)
- {
return FALSE;
- }
+}
How about "return !equal;" ?
It would be nice if you could write a test case for DnsNameCompare_A. If you do, please submit it seperately from the rest of the patch.
Thanks for the patch!
Mike