@@ -108,16 +108,15 @@ extern "C"
108
108
void _fillArgs (void **arguments, char **argumentTypes, jvalue *argValues, int argumentCount, uint32_t stringTypeBitmask)
109
109
{
110
110
JNIEnv *env = _getEnv ();
111
- for (jsize index (0 ); index < argumentCount; ++arguments, ++index, ++argumentTypes )
111
+ for (jsize index (0 ); index < argumentCount; ++arguments, ++index)
112
112
{
113
- char *argType = *argumentTypes;
114
113
// / check basic map convert
115
- auto it = basicTypeConvertMap.find (*argType );
114
+ auto it = basicTypeConvertMap.find (*argumentTypes[index] );
116
115
117
116
if (it == basicTypeConvertMap.end ())
118
117
{
119
118
// / when argument type is string or stringTypeBitmask mark as string
120
- if (strcmp (argType , " Ljava/lang/String;" ) == 0 || (stringTypeBitmask >> index & 0x1 ) == 1 )
119
+ if (strcmp (argumentTypes[index] , " Ljava/lang/String;" ) == 0 || (stringTypeBitmask >> index & 0x1 ) == 1 )
121
120
{
122
121
convertToJavaUtf16 (env, *arguments, argValues, index);
123
122
}
@@ -203,7 +202,7 @@ extern "C"
203
202
{
204
203
// / mark the last pointer as string
205
204
// / dart will check this pointer
206
- *++ dataTypes = (char *) " java/lang/String" ;
205
+ dataTypes[argumentCount] = (char *) " java/lang/String" ;
207
206
nativeInvokeResult = convertToDartUtf16 (env, (jstring)obj);
208
207
}
209
208
else
0 commit comments