Commit bugboy's patch from bug 2392, and remove DeviceDesc, which isn't needed

anymore.

svn path=/trunk/; revision=35523
This commit is contained in:
Art Yerkes 2008-08-22 05:58:56 +00:00
parent 7e8e8407d0
commit f1fe2984b3

View file

@ -108,7 +108,7 @@ HKEY FindAdapterKey( PDHCP_ADAPTER Adapter ) {
PCHAR TargetKeyName = NULL; PCHAR TargetKeyName = NULL;
PCHAR *EnumKeysLinkage = GetSubkeyNames( EnumKeyName, "\\Linkage" ); PCHAR *EnumKeysLinkage = GetSubkeyNames( EnumKeyName, "\\Linkage" );
PCHAR *EnumKeysTop = GetSubkeyNames( EnumKeyName, "" ); PCHAR *EnumKeysTop = GetSubkeyNames( EnumKeyName, "" );
PCHAR RootDevice = NULL, DriverDesc = NULL; PCHAR RootDevice = NULL;
HKEY EnumKey, OutKey = NULL; HKEY EnumKey, OutKey = NULL;
DWORD Error = ERROR_SUCCESS; DWORD Error = ERROR_SUCCESS;
@ -121,12 +121,9 @@ HKEY FindAdapterKey( PDHCP_ADAPTER Adapter ) {
for( i = 0; EnumKeysLinkage[i]; i++ ) { for( i = 0; EnumKeysLinkage[i]; i++ ) {
RootDevice = RegReadString RootDevice = RegReadString
( EnumKey, EnumKeysLinkage[i], "RootDevice" ); ( EnumKey, EnumKeysLinkage[i], "RootDevice" );
DriverDesc = RegReadString
( EnumKey, EnumKeysTop[i], "DriverDesc" );
if( DriverDesc && if( RootDevice &&
RootDevice && !strcmp( RootDevice, Adapter->DhclientInfo.name ) ) {
!strcmp( DriverDesc, Adapter->DhclientInfo.name ) ) {
TargetKeyName = TargetKeyName =
(CHAR*) malloc( strlen( TargetKeyNameStart ) + (CHAR*) malloc( strlen( TargetKeyNameStart ) +
strlen( RootDevice ) + strlen( RootDevice ) +
@ -138,13 +135,11 @@ HKEY FindAdapterKey( PDHCP_ADAPTER Adapter ) {
break; break;
} else { } else {
free( RootDevice ); RootDevice = 0; free( RootDevice ); RootDevice = 0;
free( DriverDesc ); DriverDesc = 0;
} }
} }
cleanup: cleanup:
if( RootDevice ) free( RootDevice ); if( RootDevice ) free( RootDevice );
if( DriverDesc ) free( DriverDesc );
if( EnumKeysLinkage ) free( EnumKeysLinkage ); if( EnumKeysLinkage ) free( EnumKeysLinkage );
if( EnumKeysTop ) free( EnumKeysTop ); if( EnumKeysTop ) free( EnumKeysTop );
if( TargetKeyName ) free( TargetKeyName ); if( TargetKeyName ) free( TargetKeyName );