tools/installer/InstallerUtil.cpp
branchsourcemod-1.1.0
changeset 2283 03a67e41afbc
parent 1951 c7b4237fff50
child 2287 017a725c9d17
     1.1 --- a/tools/installer/InstallerUtil.cpp	Fri Mar 28 06:21:34 2008 +0000
     1.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.3 @@ -1,231 +0,0 @@
     1.4 -#include "InstallerUtil.h"
     1.5 -#include "InstallerMain.h"
     1.6 -#include <stdio.h>
     1.7 -#include <windows.h>
     1.8 -
     1.9 -int tstrcasecmp(const TCHAR *str1, const TCHAR *str2)
    1.10 -{
    1.11 -#if defined _UNICODE
    1.12 -	return _wcsicmp(str1, str2);
    1.13 -#else
    1.14 -	return _stricmp(str1, str2);
    1.15 -#endif
    1.16 -}
    1.17 -
    1.18 -size_t AnsiToUnicode(const char *str, wchar_t *buffer, size_t maxchars)
    1.19 -{
    1.20 -	if (maxchars < 1)
    1.21 -	{
    1.22 -		return 0;
    1.23 -	}
    1.24 -
    1.25 -	size_t total = 
    1.26 -		(size_t)MultiByteToWideChar(CP_UTF8,
    1.27 -		0,
    1.28 -		str,
    1.29 -		-1,
    1.30 -		buffer,
    1.31 -		(int)maxchars);
    1.32 -
    1.33 -	return total;
    1.34 -}
    1.35 -
    1.36 -bool IsWhiteSpaceA(const char *stream)
    1.37 -{
    1.38 -	char c = *stream;
    1.39 -	if (c & (1<<7))
    1.40 -	{
    1.41 -		return false;
    1.42 -	}
    1.43 -	else
    1.44 -	{
    1.45 -		return isspace(c) != 0;
    1.46 -	}
    1.47 -}
    1.48 -
    1.49 -int BreakStringA(const char *str, char *out, size_t maxchars)
    1.50 -{
    1.51 -	const char *inptr = str;
    1.52 -	while (*inptr != '\0' && IsWhiteSpaceA(inptr))
    1.53 -	{
    1.54 -		inptr++;
    1.55 -	}
    1.56 -
    1.57 -	if (*inptr == '\0')
    1.58 -	{
    1.59 -		if (maxchars)
    1.60 -		{
    1.61 -			*out = '\0';
    1.62 -		}
    1.63 -		return -1;
    1.64 -	}
    1.65 -
    1.66 -	const char *start, *end = NULL;
    1.67 -
    1.68 -	bool quoted = (*inptr == '"');
    1.69 -	if (quoted)
    1.70 -	{
    1.71 -		inptr++;
    1.72 -		start = inptr;
    1.73 -		/* Read input until we reach a quote. */
    1.74 -		while (*inptr != '\0' && *inptr != '"')
    1.75 -		{
    1.76 -			/* Update the end point, increment the stream. */
    1.77 -			end = inptr++;
    1.78 -		}
    1.79 -		/* Read one more token if we reached an end quote */
    1.80 -		if (*inptr == '"')
    1.81 -		{
    1.82 -			inptr++;
    1.83 -		}
    1.84 -	}
    1.85 -	else
    1.86 -	{
    1.87 -		start = inptr;
    1.88 -		/* Read input until we reach a space */
    1.89 -		while (*inptr != '\0' && !IsWhiteSpaceA(inptr))
    1.90 -		{
    1.91 -			/* Update the end point, increment the stream. */
    1.92 -			end = inptr++;
    1.93 -		}
    1.94 -	}
    1.95 -
    1.96 -	/* Copy the string we found, if necessary */
    1.97 -	if (end == NULL)
    1.98 -	{
    1.99 -		if (maxchars)
   1.100 -		{
   1.101 -			*out = '\0';
   1.102 -		}
   1.103 -	}
   1.104 -	else if (maxchars)
   1.105 -	{
   1.106 -		char *outptr = out;
   1.107 -		maxchars--;
   1.108 -		for (const char *ptr=start;
   1.109 -			(ptr <= end) && ((unsigned)(outptr - out) < (maxchars));
   1.110 -			ptr++, outptr++)
   1.111 -			{
   1.112 -			*outptr = *ptr;
   1.113 -		}
   1.114 -		*outptr = '\0';
   1.115 -	}
   1.116 -
   1.117 -	/* Consume more of the string until we reach non-whitespace */
   1.118 -	while (*inptr != '\0' && IsWhiteSpaceA(inptr))
   1.119 -	{
   1.120 -		inptr++;
   1.121 -	}
   1.122 -
   1.123 -	return (int)(inptr - str);
   1.124 -}
   1.125 -
   1.126 -size_t UTIL_Format(TCHAR *buffer, size_t count, const TCHAR *fmt, ...)
   1.127 -{
   1.128 -	va_list ap;
   1.129 -	size_t len;
   1.130 -	
   1.131 -	va_start(ap, fmt);
   1.132 -	len = UTIL_FormatArgs(buffer, count, fmt, ap);
   1.133 -	va_end(ap);
   1.134 -
   1.135 -	if (len >= count)
   1.136 -	{
   1.137 -		len = count - 1;
   1.138 -		buffer[len] = '\0';
   1.139 -	}
   1.140 -
   1.141 -	return len;
   1.142 -}
   1.143 -
   1.144 -size_t UTIL_FormatArgs(TCHAR *buffer, size_t count, const TCHAR *fmt, va_list ap)
   1.145 -{
   1.146 -	size_t len = _vsntprintf(buffer, count, fmt, ap);
   1.147 -
   1.148 -	if (len >= count)
   1.149 -	{
   1.150 -		len = count - 1;
   1.151 -		buffer[len] = '\0';
   1.152 -	}
   1.153 -
   1.154 -	return len;
   1.155 -}
   1.156 -
   1.157 -size_t UTIL_PathFormat(TCHAR *buffer, size_t count, const TCHAR *fmt, ...)
   1.158 -{
   1.159 -	va_list ap;
   1.160 -	size_t len;
   1.161 -
   1.162 -	va_start(ap, fmt);
   1.163 -	len = UTIL_FormatArgs(buffer, count, fmt, ap);
   1.164 -	va_end(ap);
   1.165 -
   1.166 -	for (size_t i = 0; i < len; i++)
   1.167 -	{
   1.168 -		if (buffer[i] == '/')
   1.169 -		{
   1.170 -			buffer[i] = '\\';
   1.171 -		}
   1.172 -	}
   1.173 -
   1.174 -	return len;
   1.175 -}
   1.176 -
   1.177 -const TCHAR *GetFileFromPath(const TCHAR *path)
   1.178 -{
   1.179 -	size_t len = _tcslen(path);
   1.180 -
   1.181 -	for (size_t i = 0;
   1.182 -		 i >= 0 && i < len - 1;
   1.183 -		 i--)
   1.184 -	{
   1.185 -		if (path[i] == '\\' || path[i] == '/')
   1.186 -		{
   1.187 -			return &path[i];
   1.188 -		}
   1.189 -	}
   1.190 -
   1.191 -	return NULL;
   1.192 -}
   1.193 -
   1.194 -void GenerateErrorMessage(DWORD err, TCHAR *buffer, size_t maxchars)
   1.195 -{
   1.196 -	if (FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM,
   1.197 -		NULL,
   1.198 -		err,
   1.199 -		MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
   1.200 -		buffer,
   1.201 -		(DWORD)maxchars,
   1.202 -		NULL) == 0)
   1.203 -	{
   1.204 -		UTIL_Format(buffer, maxchars, _T("Unknown error"));
   1.205 -	}
   1.206 -}
   1.207 -
   1.208 -INT_PTR AskToExit(HWND hWnd)
   1.209 -{
   1.210 -	TCHAR verify_exit[100];
   1.211 -
   1.212 -	if (LoadString(g_hInstance,
   1.213 -		IDS_VERIFY_EXIT,
   1.214 -		verify_exit,
   1.215 -		sizeof(verify_exit) / sizeof(TCHAR)
   1.216 -		) == 0)
   1.217 -	{
   1.218 -		return (INT_PTR)FALSE;
   1.219 -	}
   1.220 -
   1.221 -	int val = MessageBox(
   1.222 -		hWnd, 
   1.223 -		_T("Are you sure you want to exit?"), 
   1.224 -		_T("SourceMod Installer"), 
   1.225 -		MB_YESNO|MB_ICONQUESTION);
   1.226 -
   1.227 -	if (val == 0 || val == IDYES)
   1.228 -	{
   1.229 -		EndDialog(hWnd, NULL);
   1.230 -		return (INT_PTR)TRUE;
   1.231 -	}
   1.232 -	
   1.233 -	return (INT_PTR)FALSE;
   1.234 -}