You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by mt...@apache.org on 2011/06/21 13:47:56 UTC
svn commit: r1137965 - in /commons/proper/daemon/trunk/src/native/windows:
apps/prunsrv/prunsrv.c include/apxwin.h src/utils.c
Author: mturk
Date: Tue Jun 21 11:47:56 2011
New Revision: 1137965
URL: http://svn.apache.org/viewvc?rev=1137965&view=rev
Log:
Add macro for checking valid strings
Modified:
commons/proper/daemon/trunk/src/native/windows/apps/prunsrv/prunsrv.c
commons/proper/daemon/trunk/src/native/windows/include/apxwin.h
commons/proper/daemon/trunk/src/native/windows/src/utils.c
Modified: commons/proper/daemon/trunk/src/native/windows/apps/prunsrv/prunsrv.c
URL: http://svn.apache.org/viewvc/commons/proper/daemon/trunk/src/native/windows/apps/prunsrv/prunsrv.c?rev=1137965&r1=1137964&r2=1137965&view=diff
==============================================================================
--- commons/proper/daemon/trunk/src/native/windows/apps/prunsrv/prunsrv.c (original)
+++ commons/proper/daemon/trunk/src/native/windows/apps/prunsrv/prunsrv.c Tue Jun 21 11:47:56 2011
@@ -544,7 +544,7 @@ static BOOL docmdInstallService(LPAPXCMD
dwType |= SERVICE_INTERACTIVE_PROCESS;
/* Check if --Install is provided */
- if (!SO_INSTALL) {
+ if (!IS_VALID_STRING(SO_INSTALL)) {
lstrlcpyW(szImage, SIZ_HUGLEN, lpCmdline->szExePath);
lstrlcatW(szImage, SIZ_HUGLEN, L"\\");
lstrlcatW(szImage, SIZ_HUGLEN, lpCmdline->szExecutable);
@@ -833,7 +833,7 @@ static DWORD WINAPI serviceStop(LPVOID l
return TRUE; /* Nothing to do */
}
if (_jni_shutdown) {
- if (!SO_STARTPATH && SO_STOPPATH) {
+ if (!IS_VALID_STRING(SO_STARTPATH) && IS_VALID_STRING(SO_STOPPATH)) {
/* If the Working path is specified change the current directory
* but only if the start path wasn't specified already.
*/
@@ -878,11 +878,11 @@ static DWORD WINAPI serviceStop(LPVOID l
}
wait_to_die = TRUE;
}
- else if (SO_STOPMODE) { /* Only in case we have a stop mode */
+ else if (IS_VALID_STRING(SO_STOPMODE)) { /* Only in case we have a stop mode */
DWORD nArgs;
LPWSTR *pArgs;
- if (!SO_STOPIMAGE) {
+ if (!IS_VALID_STRING(SO_STOPIMAGE)) {
apxLogWrite(APXLOG_MARK_ERROR "Missing service ImageFile");
if (!_service_mode)
apxDisplayError(FALSE, NULL, 0, "Service '%S' is missing the ImageFile",
@@ -1015,7 +1015,7 @@ static DWORD serviceStart()
apxLogWrite(APXLOG_MARK_INFO "Worker is not defined");
return TRUE; /* Nothing to do */
}
- if (SO_PIDFILE) {
+ if (IS_VALID_STRING(SO_PIDFILE)) {
gPidfileName = apxLogFile(gPool, SO_LOGPATH, SO_PIDFILE, NULL, FALSE);
if (GetFileAttributesW(gPidfileName) != INVALID_FILE_ATTRIBUTES) {
/* Pid file exists */
@@ -1029,13 +1029,13 @@ static DWORD serviceStart()
}
GetSystemTimeAsFileTime(&fts);
if (_jni_startup) {
- if (SO_STARTPATH) {
+ if (IS_VALID_STRING(SO_STARTPATH)) {
/* If the Working path is specified change the current directory */
SetCurrentDirectoryW(SO_STARTPATH);
}
- if (lstrlenW(SO_LIBPATH) > 0) {
+ if (IS_VALID_STRING(SO_LIBPATH)) {
/* Add LibraryPath to the PATH */
- apxAddEnvironmentVariableW(gPool, L"PATH", SO_LIBPATH);
+ apxAddToPathW(gPool, SO_LIBPATH);
}
/* Set the environment using putenv, so JVM can use it */
setInprocEnvironment();
@@ -1067,16 +1067,16 @@ static DWORD serviceStart()
apxLogWrite(APXLOG_MARK_DEBUG "Java started %s", _jni_rclass);
}
else {
- if (!SO_STARTIMAGE) {
+ if (!IS_VALID_STRING(SO_STARTIMAGE)) {
apxLogWrite(APXLOG_MARK_ERROR "Missing service ImageFile");
if (!_service_mode)
apxDisplayError(FALSE, NULL, 0, "Service '%S' is missing the ImageFile",
_service_name ? _service_name : L"unknown");
return 1;
}
- if (lstrlenW(SO_LIBPATH) > 0) {
+ if (IS_VALID_STRING(SO_LIBPATH)) {
/* Add LibraryPath to the PATH */
- apxAddEnvironmentVariableW(gPool, L"PATH", SO_LIBPATH);
+ apxAddToPathW(gPool, SO_LIBPATH);
}
/* Redirect process */
gWorker = apxCreateProcessW(gPool,
@@ -1258,7 +1258,7 @@ void WINAPI serviceMain(DWORD argc, LPTS
apxLogWrite(APXLOG_MARK_DEBUG "Inside ServiceMain...");
- if (_service_name) {
+ if (IS_VALID_STRING(_service_name)) {
WCHAR en[SIZ_HUGLEN];
int i;
PSECURITY_ATTRIBUTES sa = GetNullACL();
@@ -1278,7 +1278,7 @@ void WINAPI serviceMain(DWORD argc, LPTS
}
}
/* Check the StartMode */
- if (SO_STARTMODE) {
+ if (IS_VALID_STRING(SO_STARTMODE)) {
if (!lstrcmpiW(SO_STARTMODE, PRSRV_JVM)) {
_jni_startup = TRUE;
_jni_rclass = WideToUTF8(SO_STARTCLASS);
@@ -1320,7 +1320,7 @@ void WINAPI serviceMain(DWORD argc, LPTS
}
}
/* Check the StopMode */
- if (SO_STOPMODE) {
+ if (IS_VALID_STRING(SO_STOPMODE)) {
if (!lstrcmpiW(SO_STOPMODE, PRSRV_JVM)) {
_jni_shutdown = TRUE;
_jni_sclass = WideToUTF8(SO_STOPCLASS);
@@ -1362,15 +1362,15 @@ void WINAPI serviceMain(DWORD argc, LPTS
}
/* Find the classpath */
if (_jni_shutdown || _jni_startup) {
- if (SO_JVM) {
+ if (IS_VALID_STRING(SO_JVM)) {
if (lstrcmpW(SO_JVM, PRSRV_AUTO))
_jni_jvmpath = SO_JVM;
}
- if (SO_CLASSPATH)
+ if (IS_VALID_STRING(SO_CLASSPATH))
_jni_classpath = WideToUTF8(SO_CLASSPATH);
- if (SO_STARTMETHOD)
+ if (IS_VALID_STRING(SO_STARTMETHOD))
_jni_rmethod = WideToAscii(SO_STARTMETHOD, (LPSTR)SO_STARTMETHOD);
- if (SO_STOPMETHOD)
+ if (IS_VALID_STRING(SO_STOPMETHOD))
_jni_smethod = WideToAscii(SO_STOPMETHOD, (LPSTR)SO_STOPMETHOD);
_jni_jvmoptions = MzWideToUTF8(SO_JVMOPTIONS);
}
Modified: commons/proper/daemon/trunk/src/native/windows/include/apxwin.h
URL: http://svn.apache.org/viewvc/commons/proper/daemon/trunk/src/native/windows/include/apxwin.h?rev=1137965&r1=1137964&r2=1137965&view=diff
==============================================================================
--- commons/proper/daemon/trunk/src/native/windows/include/apxwin.h (original)
+++ commons/proper/daemon/trunk/src/native/windows/include/apxwin.h Tue Jun 21 11:47:56 2011
@@ -62,6 +62,7 @@ typedef _W64 int intptr_t;
#define TST_BIT_FLAG(x, b) ((x) & (1 << b))
#define IS_INVALID_HANDLE(h) (((h) == NULL || (h) == INVALID_HANDLE_VALUE))
+#define IS_VALID_STRING(s) ((s) != NULL && *(s) != 0)
#define DYNOLAD_TYPE_DECLARE(fnName, callconv, retType) \
typedef retType (callconv *PFN_##fnName) \
@@ -187,7 +188,7 @@ LPSTR apxExpandStrA(APXHANDLE
LPWSTR apxExpandStrW(APXHANDLE hPool, LPCWSTR szString);
void apxStrCharReplaceA(LPSTR szString, CHAR chReplace, CHAR chReplaceWith);
void apxStrCharReplaceW(LPWSTR szString, WCHAR chReplace, WCHAR chReplaceWith);
-BOOL apxAddEnvironmentVariableW(APXHANDLE hPool, LPCWSTR wsName, LPCWSTR szAdd);
+BOOL apxAddToPathW(APXHANDLE hPool, LPCWSTR szAdd);
LPVOID AplFillMemory(PVOID Destination, SIZE_T Length, BYTE Fill);
Modified: commons/proper/daemon/trunk/src/native/windows/src/utils.c
URL: http://svn.apache.org/viewvc/commons/proper/daemon/trunk/src/native/windows/src/utils.c?rev=1137965&r1=1137964&r2=1137965&view=diff
==============================================================================
--- commons/proper/daemon/trunk/src/native/windows/src/utils.c (original)
+++ commons/proper/daemon/trunk/src/native/windows/src/utils.c Tue Jun 21 11:47:56 2011
@@ -107,13 +107,13 @@ LPSTR __apxGetEnvironmentVariableA(APXHA
return szRet;
}
-BOOL apxAddEnvironmentVariableW(APXHANDLE hPool, LPCWSTR wsName, LPCWSTR szAdd)
+BOOL apxAddToPathW(APXHANDLE hPool, LPCWSTR szAdd)
{
LPWSTR wsAdd;
DWORD rc;
DWORD al;
- rc = GetEnvironmentVariableW(wsName, NULL, 0);
+ rc = GetEnvironmentVariableW(L"PATH", NULL, 0);
if (rc == 0 && GetLastError() == ERROR_ENVVAR_NOT_FOUND)
return FALSE;
al = lstrlenW(szAdd) + 6;
@@ -122,12 +122,12 @@ BOOL apxAddEnvironmentVariableW(APXHANDL
lstrcpyW(wsAdd, L"PATH=");
lstrcatW(wsAdd, szAdd);
lstrcatW(wsAdd, L";");
- if (!GetEnvironmentVariableW(wsName, wsAdd + al, rc - al)) {
+ if (!GetEnvironmentVariableW(L"PATH", wsAdd + al, rc - al)) {
apxLogWrite(APXLOG_MARK_SYSERR);
apxFree(wsAdd);
return FALSE;
}
- SetEnvironmentVariableW(wsName, wsAdd + 5);
+ SetEnvironmentVariableW(L"PATH", wsAdd + 5);
_wputenv(wsAdd);
apxFree(wsAdd);
return TRUE;