From d69366a17191fb96b92aecf085561ad047adfd86 Mon Sep 17 00:00:00 2001 From: Dan Kegel Date: Thu, 5 Jan 2006 13:41:35 +0100 Subject: [PATCH] oleaut32: Allow _invoke to handle up to 23 parameters. --- dlls/oleaut32/typelib.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/dlls/oleaut32/typelib.c b/dlls/oleaut32/typelib.c index 9d7ba2a74ee..4ef590e7a2a 100644 --- a/dlls/oleaut32/typelib.c +++ b/dlls/oleaut32/typelib.c @@ -4899,6 +4899,24 @@ _invoke(FARPROC func,CALLCONV callconv, int nrargs, DWORD *args) { case 17: res = func(args[0],args[1],args[2],args[3],args[4],args[5],args[6],args[7],args[8],args[9],args[10],args[11],args[12],args[13],args[14],args[15],args[16]); break; + case 18: + res = func(args[0],args[1],args[2],args[3],args[4],args[5],args[6],args[7],args[8],args[9],args[10],args[11],args[12],args[13],args[14],args[15],args[16],args[17]); + break; + case 19: + res = func(args[0],args[1],args[2],args[3],args[4],args[5],args[6],args[7],args[8],args[9],args[10],args[11],args[12],args[13],args[14],args[15],args[16],args[17],args[18]); + break; + case 20: + res = func(args[0],args[1],args[2],args[3],args[4],args[5],args[6],args[7],args[8],args[9],args[10],args[11],args[12],args[13],args[14],args[15],args[16],args[17],args[18],args[19]); + break; + case 21: + res = func(args[0],args[1],args[2],args[3],args[4],args[5],args[6],args[7],args[8],args[9],args[10],args[11],args[12],args[13],args[14],args[15],args[16],args[17],args[18],args[19],args[20]); + break; + case 22: + res = func(args[0],args[1],args[2],args[3],args[4],args[5],args[6],args[7],args[8],args[9],args[10],args[11],args[12],args[13],args[14],args[15],args[16],args[17],args[18],args[19],args[20],args[21]); + break; + case 23: + res = func(args[0],args[1],args[2],args[3],args[4],args[5],args[6],args[7],args[8],args[9],args[10],args[11],args[12],args[13],args[14],args[15],args[16],args[17],args[18],args[19],args[20],args[21],args[22]); + break; default: FIXME("unsupported number of arguments %d in stdcall\n",nrargs); res = -1;