From 644f187f8844c573ec9920de33b47892266c6457 Mon Sep 17 00:00:00 2001 From: marha Date: Fri, 6 Nov 2009 14:25:11 +0000 Subject: Solved problem when argument was surrounded by quotes. --- libwinmain/winmain.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'libwinmain') diff --git a/libwinmain/winmain.c b/libwinmain/winmain.c index c4a8bf815..899a56ba9 100644 --- a/libwinmain/winmain.c +++ b/libwinmain/winmain.c @@ -5,17 +5,29 @@ int __stdcall WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdL int argc=1; char ProgramName[255]; #define MAXNRARGS 100 - char *argv[MAXNRARGS]={"plink"}; - char *pTmp=lpCmdLine; + char *argv[MAXNRARGS]; + char *pTmp; + char *pProgramName; GetModuleFileName(NULL,ProgramName,255); - argv[0]=ProgramName; + pTmp=strrchr(ProgramName,'\\'); + if (pTmp) + pProgramName=pTmp+1; + else + pProgramName=ProgramName; + pTmp=strrchr(pProgramName,'.'); + if (pTmp) + *pTmp=0; + argv[0]=pProgramName; + + pTmp=lpCmdLine; while (*pTmp && argc