|
4 | 4 | // See LICENSE file in the project root for full license information. |
5 | 5 | // |
6 | 6 | #include <nanoCLR_Runtime.h> |
7 | | -//#include <corlib_native.h> |
8 | | -//#include <SPOT_native.h> |
9 | | -//#include "nanoCLR_Interop.h" |
10 | 7 |
|
11 | | -static const CLR_RT_NativeAssemblyData *LookUpAssemblyNativeDataByName |
12 | | -( |
| 8 | +static const CLR_RT_NativeAssemblyData *LookUpAssemblyNativeDataByName( |
13 | 9 | const CLR_RT_NativeAssemblyData **pAssembliesNativeData, |
14 | | - const char *lpszAssemblyName |
15 | | -) |
| 10 | + const char *lpszAssemblyName) |
16 | 11 | { |
17 | 12 | // Just sanity check to avoid crash in strcmp if name is NULL. |
18 | | - if ( lpszAssemblyName == NULL ) |
| 13 | + if (lpszAssemblyName == NULL) |
19 | 14 | { |
20 | 15 | return NULL; |
21 | 16 | } |
22 | 17 |
|
23 | 18 | // Loops in all entries and looks for the CLR_RT_NativeAssemblyData with name same as lpszAssemblyName |
24 | | - for ( int i = 0; pAssembliesNativeData[ i ]; i++ ) |
| 19 | + for (int i = 0; pAssembliesNativeData[i]; i++) |
25 | 20 | { |
26 | | - if ( pAssembliesNativeData[ i ] != NULL && 0 == strcmp( lpszAssemblyName, pAssembliesNativeData[ i ]->m_szAssemblyName ) ) |
| 21 | + if (i < g_CLR_InteropAssembliesCount && pAssembliesNativeData[i] != NULL && |
| 22 | + 0 == strcmp(lpszAssemblyName, pAssembliesNativeData[i]->m_szAssemblyName)) |
27 | 23 | { |
28 | | - return pAssembliesNativeData[ i ]; |
| 24 | + return pAssembliesNativeData[i]; |
29 | 25 | } |
30 | 26 | } |
| 27 | + |
31 | 28 | return NULL; |
32 | 29 | } |
33 | 30 |
|
34 | | - |
35 | | -const CLR_RT_NativeAssemblyData *GetAssemblyNativeData( const char *lpszAssemblyName ) |
| 31 | +const CLR_RT_NativeAssemblyData *GetAssemblyNativeData(const char *lpszAssemblyName) |
36 | 32 | { |
37 | 33 | extern const CLR_RT_NativeAssemblyData *g_CLR_InteropAssembliesNativeData[]; |
38 | 34 |
|
39 | 35 | // This will return NULL if there is no registered interop assembly of that name |
40 | | - return LookUpAssemblyNativeDataByName( |
41 | | - g_CLR_InteropAssembliesNativeData, |
42 | | - lpszAssemblyName |
43 | | - ); |
| 36 | + return LookUpAssemblyNativeDataByName(g_CLR_InteropAssembliesNativeData, lpszAssemblyName); |
44 | 37 | } |
45 | | - |
0 commit comments