- if( ToDelete->pName )
- RtlFreeHeap( RtlGetProcessHeap(), 0, ToDelete->pName );
- switch( ToDelete->wType ) {
- case DNS_TYPE_CNAME:
- case DNS_TYPE_PTR:
- case DNS_TYPE_NS:
- case DNS_TYPE_MB:
- case DNS_TYPE_MD:
- case DNS_TYPE_MF:
- case DNS_TYPE_MG:
- case DNS_TYPE_MR:
- RtlFreeHeap( RtlGetProcessHeap(), 0, ToDelete->Data.PTR.pNameHost );
- break;
- case DNS_TYPE_MINFO:
- case DNS_TYPE_RP:
- RtlFreeHeap( RtlGetProcessHeap(), 0,
- ToDelete->Data.MINFO.pNameMailbox );
- RtlFreeHeap( RtlGetProcessHeap(), 0,
- ToDelete->Data.MINFO.pNameErrorsMailbox );
- break;
-
- case DNS_TYPE_MX:
- case DNS_TYPE_AFSDB:
- case DNS_TYPE_RT:
- RtlFreeHeap( RtlGetProcessHeap(), 0, ToDelete->Data.MX.pNameExchange );
- break;
-
- case DNS_TYPE_TXT:
- case DNS_TYPE_HINFO:
- case DNS_TYPE_ISDN:
- for( i = 0; i < ToDelete->Data.TXT.dwStringCount; i++ ) {
- RtlFreeHeap( RtlGetProcessHeap(), 0,
- ToDelete->Data.TXT.pStringArray[i] );
+ if( ToDelete->pName )
+ RtlFreeHeap( RtlGetProcessHeap(), 0, ToDelete->pName );
+ switch( ToDelete->wType ) {
+ case DNS_TYPE_CNAME:
+ case DNS_TYPE_PTR:
+ case DNS_TYPE_NS:
+ case DNS_TYPE_MB:
+ case DNS_TYPE_MD:
+ case DNS_TYPE_MF:
+ case DNS_TYPE_MG:
+ case DNS_TYPE_MR:
+ RtlFreeHeap( RtlGetProcessHeap(), 0, ToDelete->Data.PTR.pNameHost );
+ break;
+ case DNS_TYPE_MINFO:
+#ifndef __USE_W32API
+ case DNS_TYPE_RP:
+ RtlFreeHeap( RtlGetProcessHeap(), 0,
+ ToDelete->Data.MINFO.pNameMailbox );
+ RtlFreeHeap( RtlGetProcessHeap(), 0,
+ ToDelete->Data.MINFO.pNameErrorsMailbox );
+ break;
+
+ case DNS_TYPE_AFSDB:
+ case DNS_TYPE_RT:
+#endif
+ case DNS_TYPE_MX:
+ RtlFreeHeap( RtlGetProcessHeap(), 0, ToDelete->Data.MX.pNameExchange );
+ break;
+
+#ifndef __USE_W32API
+ case DNS_TYPE_TXT:
+ case DNS_TYPE_ISDN:
+#endif
+ case DNS_TYPE_HINFO:
+ for( i = 0; i < ToDelete->Data.TXT.dwStringCount; i++ ) {
+ RtlFreeHeap( RtlGetProcessHeap(), 0,
+ ToDelete->Data.TXT.pStringArray[i] );
+ }
+ RtlFreeHeap( RtlGetProcessHeap(), 0, ToDelete->Data.TXT.pStringArray );
+ break;
+
+#ifndef __USE_W32API
+ case DNS_TYPE_SIG:
+ RtlFreeHeap( RtlGetProcessHeap(), 0, ToDelete->Data.SIG.pNameSigner );
+ break;
+
+ case DNS_TYPE_NXT:
+ RtlFreeHeap( RtlGetProcessHeap(), 0, ToDelete->Data.NXT.pNameNext );
+ break;
+
+ case DNS_TYPE_SRV:
+ RtlFreeHeap( RtlGetProcessHeap(), 0, ToDelete->Data.SRV.pNameTarget );
+ break;
+#endif