mad_type_handle FindMADTypeHandle( mad_type_kind tk, unsigned size ) { struct find_handle data; data.bits = size * BITS_PER_BYTE; data.th = MAD_NIL_TYPE_HANDLE; MADTypeWalk( tk, CheckOneHandle, &data ); return( data.th ); }
static mad_type_handle DoScanType( mad_type_kind tk, char *prefix ) { struct type_name data; unsigned len; len = strlen( prefix ); if( memicmp( TokenStart, prefix, len ) != 0 ) { return( MAD_NIL_TYPE_HANDLE ); } data.start = TokenStart + len; data.len = 0; data.th = MAD_NIL_TYPE_HANDLE; MADTypeWalk( tk, FindTypeName, &data ); if( data.th == MAD_NIL_TYPE_HANDLE ) return( MAD_NIL_TYPE_HANDLE ); ReScan( data.start + data.len ); return( data.th ); }