winedbg: stack_backtrace should not return a value.
[wine] / programs / rundll.exe16 / rundll.c
1 /*
2  * 16-bit rundll implementation
3  *
4  * Copyright 2009 Alexandre Julliard
5  * Copyright 2010 Detlef Riekenberg
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2.1 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with this library; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
20  */
21
22 #include <stdarg.h>
23 #include <stdio.h>
24
25 #include "wine/winbase16.h"
26 #include "wine/debug.h"
27
28 WINE_DEFAULT_DEBUG_CHANNEL(rundll);
29
30 /**************************************************************************
31  *  RUNDLL entry point
32  */
33 WORD WINAPI WinMain16( HINSTANCE16 inst, HINSTANCE16 prev, LPSTR cmdline, WORD show )
34 {
35     int len = GetSystemDirectoryA( NULL, 0 ) + sizeof("\\rundll32.exe ") + strlen(cmdline);
36     char *buffer = HeapAlloc( GetProcessHeap(), 0, len );
37
38     GetSystemDirectoryA( buffer, len );
39     strcat( buffer, "\\rundll32.exe " );
40     strcat( buffer, cmdline );
41
42     WINE_TRACE( "starting %s\n", wine_dbgstr_a(buffer) );
43
44     WinExec16( buffer, show );
45
46     HeapFree( GetProcessHeap(), 0, buffer );
47     ExitThread( 0 );
48 }