Author: mbosma Date: Fri Feb 16 14:07:28 2007 New Revision: 25812
URL: http://svn.reactos.org/svn/reactos?rev=25812&view=rev Log: Lester Kortenhoeven (lester(at)kortenhoeven(dot)de): * CP_ACP changed into CP_UTF8 * removed unnecessary code in xml.c * fix memory leak * add more programs
Modified: trunk/reactos/base/applications/downloader/downloader.xml trunk/reactos/base/applications/downloader/main.c trunk/reactos/base/applications/downloader/xml.c
Modified: trunk/reactos/base/applications/downloader/downloader.xml URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/downloade... ============================================================================== --- trunk/reactos/base/applications/downloader/downloader.xml (original) +++ trunk/reactos/base/applications/downloader/downloader.xml Fri Feb 16 14:07:28 2007 @@ -98,6 +98,18 @@ <description>Allows you to build the ReactOS Source. For more instructions see ReactOS wiki.</description> <location>http://ovh.dl.sourceforge.net/sourceforge/reactos/RosBE-0.3.4.exe</location> </application> + <application name="MinGW"> + <regname>MinGW 5.1.3</regname> + <version>5.1.3</version> + <description>A Port of the GNU toolchain with GCC, GDB, GNU make, etc.</description> + <location>http://puzzle.dl.sourceforge.net/sourceforge/mingw/MinGW-5.1.3.exe</location> + </application> + <application name="FreeBASIC"> + <regname>FreeBASIC 0.16b</regname> + <version>0.16b</version> + <description>Open Source Basic Compiler. The Basic syntax is compatible to QBASIC.</description> + <location>http://switch.dl.sourceforge.net/sourceforge/fbc/FreeBASIC-v0.16b-win32.exe</location> + </application> </category> <category name="Games & Fun" icon="6"> <application name="ScummVM"> @@ -109,6 +121,12 @@ <application name="Tile World"> <description>Nice Clone of Chip's Challenge originally made for the Atari Lynx. Includes free CCLP2 Graphics Pack, so you dont need the copyrighted Original.</description> <location>http://www.muppetlabs.com/~breadbox/pub/software/tworld/tworld-1.3.0-win32-C...</location> + </application> + <application name="OpenTTD"> + <regname>OpenTTD 0.5.0</regname> + <version>0.5.0-RC5</version> + <description>Open-source-clone of the "Transport Tycoon Deluxe" game-engine. You need a copy of Transport Tycoon.</description> + <location>http://ovh.dl.sourceforge.net/sourceforge/openttd/openttd-0.5.0-RC5-win32.ex...</location> </application> <application name="LBreakout2">LBreakout2 2.4.1 <regname>LBreakout2 2.4.1</regname> @@ -137,7 +155,7 @@ <location>http://ovh.dl.sourceforge.net/sourceforge/sevenzip/7z442.exe</location> </application> <application name="uTorrent"> - <regname>µTorrent</regname> <!-- XML-Parser-Error: Mu != µ --> + <regname>µTorrent</regname> <version>1.6</version> <description>Small and fast Torrent Client.</description> <location>http://download.utorrent.com/1.6/uTorrent-1.6-install.exe</location> @@ -151,8 +169,14 @@ </category> <category name="Others" icon="8"> <application name="Simple Direct Media Layer (SDL) Runtime"> + <version>1.2.11</version> <description>Needed for many Open Source Games to run. You need 7-Zip or a similar Utility to extract it.</description> <location>http://ovh.dl.sourceforge.net/sourceforge/libsdl/SDL-1.2.11-win32.zip</location> </application> + <application name="DOSBox"> + <version>0.65</version> + <description>DOSBox is a DOS emulator.</description> + <location>http://puzzle.dl.sourceforge.net/sourceforge/dosbox/DOSBox0.65-win32-install...</location> + </application> </category> </tree>
Modified: trunk/reactos/base/applications/downloader/main.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/downloade... ============================================================================== --- trunk/reactos/base/applications/downloader/main.c (original) +++ trunk/reactos/base/applications/downloader/main.c Fri Feb 16 14:07:28 2007 @@ -19,6 +19,7 @@ HBITMAP hLogo, hUnderline; WCHAR* DescriptionHeadline = L""; WCHAR* DescriptionText = L""; +WCHAR ApplicationText[700];
struct Category Root; struct Application* SelectedApplication; @@ -27,6 +28,7 @@ BOOL ProcessXML (const char* filename, struct Category* Root); VOID FreeTree (struct Category* Node); WCHAR Strings [STRING_COUNT][MAX_STRING_LENGHT]; +
BOOL getUninstaller(WCHAR* RegName, WCHAR* Uninstaller) {
@@ -131,9 +133,6 @@ if(StrCmpW(CurrentApplication->RegName,L"")) { if(getUninstaller(CurrentApplication->RegName, Uninstaller)) Insert.item.iImage = 9; - } else { - if(getUninstaller(CurrentApplication->Name, Uninstaller)) - Insert.item.iImage = 9; } SendMessage(hwnd, TVM_INSERTITEM, 0, (LPARAM)&Insert); CurrentApplication = CurrentApplication->Next; @@ -333,9 +332,6 @@ if(StrCmpW(SelectedApplication->RegName, L"")) { if(getUninstaller(SelectedApplication->RegName, Uninstaller)) startUninstaller(Uninstaller); - } else { - if(getUninstaller(SelectedApplication->Name, Uninstaller)) - startUninstaller(Uninstaller); } } } @@ -367,33 +363,29 @@ SelectedApplication = (struct Application*) ((LPNMTREEVIEW)lParam)->itemNew.lParam; if(SelectedApplication) { - DescriptionText = calloc(700,sizeof(WCHAR)); + ApplicationText[0]=L'\0'; if(StrCmpW(SelectedApplication->Version, L"")) { - StrCatW(DescriptionText, Strings[IDS_VERSION]); - StrCatW(DescriptionText, SelectedApplication->Version); - StrCatW(DescriptionText, L"\n"); + StrCatW(ApplicationText, Strings[IDS_VERSION]); + StrCatW(ApplicationText, SelectedApplication->Version); + StrCatW(ApplicationText, L"\n"); } if(StrCmpW(SelectedApplication->Licence, L"")) { - StrCatW(DescriptionText, Strings[IDS_LICENCE]); - StrCatW(DescriptionText, SelectedApplication->Licence); - StrCatW(DescriptionText, L"\n"); + StrCatW(ApplicationText, Strings[IDS_LICENCE]); + StrCatW(ApplicationText, SelectedApplication->Licence); + StrCatW(ApplicationText, L"\n"); } if(StrCmpW(SelectedApplication->Maintainer, L"")) { - StrCatW(DescriptionText, Strings[IDS_MAINTAINER]); - StrCatW(DescriptionText, SelectedApplication->Maintainer); - StrCatW(DescriptionText, L"\n"); + StrCatW(ApplicationText, Strings[IDS_MAINTAINER]); + StrCatW(ApplicationText, SelectedApplication->Maintainer); + StrCatW(ApplicationText, L"\n"); } if(StrCmpW(SelectedApplication->Licence, L"") || StrCmpW(SelectedApplication->Version, L"") || StrCmpW(SelectedApplication->Maintainer, L"")) - StrCatW(DescriptionText, L"\n"); - StrCatW(DescriptionText, SelectedApplication->Description); - ShowMessage(SelectedApplication->Name, DescriptionText); + StrCatW(ApplicationText, L"\n"); + StrCatW(ApplicationText, SelectedApplication->Description); + ShowMessage(SelectedApplication->Name, ApplicationText); WCHAR Uninstaller[200]; if(StrCmpW(SelectedApplication->RegName, L"")) { if(getUninstaller(SelectedApplication->RegName, Uninstaller)) { - bShowUninstaller = TRUE; - } - } else { - if(getUninstaller(SelectedApplication->Name, Uninstaller)) { bShowUninstaller = TRUE; } }
Modified: trunk/reactos/base/applications/downloader/xml.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/downloade... ============================================================================== --- trunk/reactos/base/applications/downloader/xml.c (original) +++ trunk/reactos/base/applications/downloader/xml.c Fri Feb 16 14:07:28 2007 @@ -9,6 +9,7 @@ #include <string.h> #include <stdio.h> #include <windows.h> +#include <shlwapi.h> #include "structures.h" #include "resources.h"
@@ -54,7 +55,7 @@ { if(!strcmp(arg[i], "name")) { - MultiByteToWideChar(CP_ACP, 0, arg[i+1], -1, Current->Name, 0x100); + MultiByteToWideChar(CP_UTF8, 0, arg[i+1], -1, Current->Name, 0x100); } if(!strcmp(arg[i], "icon")) { @@ -81,20 +82,11 @@ CurrentApplication = Current->Apps; }
- int currentlengt = lstrlenW(CurrentApplication->Maintainer); - MultiByteToWideChar(CP_ACP, 0, 0, 0, &CurrentApplication->Maintainer[currentlengt], 0x100-currentlengt); - currentlengt = lstrlenW(CurrentApplication->RegName); - MultiByteToWideChar(CP_ACP, 0, 0, 0, &CurrentApplication->RegName[currentlengt], 0x100-currentlengt); - currentlengt = lstrlenW(CurrentApplication->Version); - MultiByteToWideChar(CP_ACP, 0, 0, 0, &CurrentApplication->Version[currentlengt], 0x100-currentlengt); - currentlengt = lstrlenW(CurrentApplication->Licence); - MultiByteToWideChar(CP_ACP, 0, 0, 0, &CurrentApplication->Licence[currentlengt], 0x100-currentlengt); - for (i=0; arg[i]; i+=2) { if(!strcmp(arg[i], "name")) { - MultiByteToWideChar(CP_ACP, 0, arg[i+1], -1, CurrentApplication->Name, 0x100); + MultiByteToWideChar(CP_UTF8, 0, arg[i+1], -1, CurrentApplication->Name, 0x100); } } } @@ -115,32 +107,32 @@ if(!strcmp(CurrentTag, "maintainer")) { int currentlengt = lstrlenW(CurrentApplication->Maintainer); - MultiByteToWideChar(CP_ACP, 0, data, len, &CurrentApplication->Maintainer[currentlengt], 0x100-currentlengt); + MultiByteToWideChar(CP_UTF8, 0, data, len, &CurrentApplication->Maintainer[currentlengt], 0x100-currentlengt); } else if(!strcmp(CurrentTag, "regname")) { int currentlengt = lstrlenW(CurrentApplication->RegName); - MultiByteToWideChar(CP_ACP, 0, data, len, &CurrentApplication->RegName[currentlengt], 0x100-currentlengt); + MultiByteToWideChar(CP_UTF8, 0, data, len, &CurrentApplication->RegName[currentlengt], 0x100-currentlengt); } else if(!strcmp(CurrentTag, "description")) { int currentlengt = lstrlenW(CurrentApplication->Description); - MultiByteToWideChar(CP_ACP, 0, data, len, &CurrentApplication->Description[currentlengt], 0x400-currentlengt); + MultiByteToWideChar(CP_UTF8, 0, data, len, &CurrentApplication->Description[currentlengt], 0x400-currentlengt); } else if(!strcmp(CurrentTag, "location")) { int currentlengt = lstrlenW(CurrentApplication->Location); - MultiByteToWideChar(CP_ACP, 0, data, len, &CurrentApplication->Location[currentlengt], 0x100-currentlengt); + MultiByteToWideChar(CP_UTF8, 0, data, len, &CurrentApplication->Location[currentlengt], 0x100-currentlengt); } else if(!strcmp(CurrentTag, "version")) { int currentlengt = lstrlenW(CurrentApplication->Version); - MultiByteToWideChar(CP_ACP, 0, data, len, &CurrentApplication->Version[currentlengt], 0x400-currentlengt); + MultiByteToWideChar(CP_UTF8, 0, data, len, &CurrentApplication->Version[currentlengt], 0x400-currentlengt); } else if(!strcmp(CurrentTag, "licence")) { int currentlengt = lstrlenW(CurrentApplication->Licence); - MultiByteToWideChar(CP_ACP, 0, data, len, &CurrentApplication->Licence[currentlengt], 0x100-currentlengt); + MultiByteToWideChar(CP_UTF8, 0, data, len, &CurrentApplication->Licence[currentlengt], 0x100-currentlengt); } }