You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(42) |
Nov
(368) |
Dec
(248) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(2) |
Feb
(207) |
Mar
(180) |
Apr
(9) |
May
(39) |
Jun
(9) |
Jul
(22) |
Aug
(56) |
Sep
(82) |
Oct
(113) |
Nov
(236) |
Dec
(219) |
2005 |
Jan
(119) |
Feb
(81) |
Mar
(53) |
Apr
(177) |
May
(2) |
Jun
(67) |
Jul
(17) |
Aug
(5) |
Sep
(53) |
Oct
(17) |
Nov
(122) |
Dec
(77) |
2006 |
Jan
(293) |
Feb
(16) |
Mar
(32) |
Apr
(14) |
May
(29) |
Jun
(6) |
Jul
|
Aug
|
Sep
(18) |
Oct
(28) |
Nov
|
Dec
(2) |
2007 |
Jan
(8) |
Feb
(19) |
Mar
(4) |
Apr
(7) |
May
|
Jun
|
Jul
|
Aug
|
Sep
(37) |
Oct
(1) |
Nov
(8) |
Dec
(25) |
2008 |
Jan
(1) |
Feb
(13) |
Mar
(17) |
Apr
(3) |
May
(2) |
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
(10) |
Nov
(19) |
Dec
(16) |
2009 |
Jan
(6) |
Feb
(9) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Rolf K. <lab...@us...> - 2005-06-12 16:46:35
|
Update of /cvsroot/opengtoolkit/pipe/source/ogpipe.llb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7614/source/ogpipe.llb Modified Files: OGPIPE Close Pipe.vi OGPIPE Open Pipe.vi OGPIPE Open System Command.vi OGPIPE Read From Pipe.vi OGPIPE Write To Pipe.vi Log Message: Changed library name in CLN to pipes.* to allow support for non Windows platforms once the shared libraries exist Index: OGPIPE Open Pipe.vi =================================================================== RCS file: /cvsroot/opengtoolkit/pipe/source/ogpipe.llb/OGPIPE Open Pipe.vi,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 Binary files /tmp/cvsLRNCBc and /tmp/cvs2805xL differ Index: OGPIPE Read From Pipe.vi =================================================================== RCS file: /cvsroot/opengtoolkit/pipe/source/ogpipe.llb/OGPIPE Read From Pipe.vi,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 Binary files /tmp/cvspJSj1e and /tmp/cvscGNAZN differ Index: OGPIPE Write To Pipe.vi =================================================================== RCS file: /cvsroot/opengtoolkit/pipe/source/ogpipe.llb/OGPIPE Write To Pipe.vi,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 Binary files /tmp/cvst2es9h and /tmp/cvsMuYv9Q differ Index: OGPIPE Close Pipe.vi =================================================================== RCS file: /cvsroot/opengtoolkit/pipe/source/ogpipe.llb/OGPIPE Close Pipe.vi,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 Binary files /tmp/cvsavN1uk and /tmp/cvsW31EwT differ Index: OGPIPE Open System Command.vi =================================================================== RCS file: /cvsroot/opengtoolkit/pipe/source/ogpipe.llb/OGPIPE Open System Command.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsAxFrZm and /tmp/cvskJlM2V differ |
From: Rolf K. <lab...@us...> - 2005-06-12 16:43:10
|
Update of /cvsroot/opengtoolkit/pipe/source/ogpipe.llb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5946/source/ogpipe.llb Modified Files: OGPIPE - VI TREE.vi OGPIPE RefNum.ctl Added Files: OGPIPE Open System Command.vi Removed Files: OGPIPE Open System Command Pipe.vi Log Message: Renamed "Open System Command.vi" --- OGPIPE Open System Command Pipe.vi DELETED --- Index: OGPIPE RefNum.ctl =================================================================== RCS file: /cvsroot/opengtoolkit/pipe/source/ogpipe.llb/OGPIPE RefNum.ctl,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvs8rbDFk and /tmp/cvsPS2Uhn differ Index: OGPIPE - VI TREE.vi =================================================================== RCS file: /cvsroot/opengtoolkit/pipe/source/ogpipe.llb/OGPIPE - VI TREE.vi,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 Binary files /tmp/cvsfhzDSq and /tmp/cvsAwPsxt differ --- NEW FILE: OGPIPE Open System Command.vi --- (This appears to be a binary file; contents omitted.) |
From: Rolf K. <lab...@us...> - 2005-06-12 16:25:34
|
Update of /cvsroot/opengtoolkit/pipe/tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29086/tests Modified Files: System Command Pipe Test.vi Log Message: Some modifications to better show an example operation Index: System Command Pipe Test.vi =================================================================== RCS file: /cvsroot/opengtoolkit/pipe/tests/System Command Pipe Test.vi,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 Binary files /tmp/cvs8Prixu and /tmp/cvsgKlm1y differ |
From: Rolf K. <lab...@us...> - 2005-06-12 15:53:51
|
Update of /cvsroot/opengtoolkit/pipe/source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11599/source Modified Files: pipes.dll Log Message: Fixed minor error in PipeRead Index: pipes.dll =================================================================== RCS file: /cvsroot/opengtoolkit/pipe/source/pipes.dll,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 Binary files /tmp/cvsM6RVgz and /tmp/cvsk9zbng differ |
From: Rolf K. <lab...@us...> - 2005-06-12 15:53:09
|
Update of /cvsroot/opengtoolkit/pipe/c_source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11147/c_source Modified Files: pipes.c Log Message: Fixed minor error in PipeRead Index: pipes.c =================================================================== RCS file: /cvsroot/opengtoolkit/pipe/c_source/pipes.c,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** pipes.c 12 Jun 2005 11:30:19 -0000 1.11 --- pipes.c 12 Jun 2005 15:52:59 -0000 1.12 *************** *** 373,379 **** if (!fd) return mgArgErr; ! ! *eof = FALSE; if (LStrLen(*data) < (int32)bytesReq) --- 373,380 ---- if (!fd) + { + *bytesRead = 0; return mgArgErr; ! } if (LStrLen(*data) < (int32)bytesReq) |
From: Rolf K. <lab...@us...> - 2005-06-12 15:50:37
|
Update of /cvsroot/opengtoolkit/pipe/c_source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10029/c_source Added Files: client.dsp Log Message: Add test client application --- NEW FILE: client.dsp --- # Microsoft Developer Studio Project File - Name="client" - Package Owner=<4> # Microsoft Developer Studio Generated Build File, Format Version 6.00 # ** DO NOT EDIT ** # TARGTYPE "Win32 (x86) Console Application" 0x0103 CFG=client - Win32 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE !MESSAGE NMAKE /f "client.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE !MESSAGE NMAKE /f "client.mak" CFG="client - Win32 Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE !MESSAGE "client - Win32 Release" (based on "Win32 (x86) Console Application") !MESSAGE "client - Win32 Debug" (based on "Win32 (x86) Console Application") !MESSAGE # Begin Project # PROP AllowPerConfigDependencies 0 # PROP Scc_ProjName "" # PROP Scc_LocalPath "" CPP=cl.exe RSC=rc.exe !IF "$(CFG)" == "client - Win32 Release" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "Release" # PROP BASE Intermediate_Dir "Release" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "Release" # PROP Intermediate_Dir "Release" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c # ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 !ELSEIF "$(CFG)" == "client - Win32 Debug" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "Debug" # PROP BASE Intermediate_Dir "Debug" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "Debug" # PROP Intermediate_Dir "Debug" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c # ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept !ENDIF # Begin Target # Name "client - Win32 Release" # Name "client - Win32 Debug" # Begin Group "Source Files" # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" # Begin Source File SOURCE=.\client.c # End Source File # End Group # Begin Group "Header Files" # PROP Default_Filter "h;hpp;hxx;hm;inl" # End Group # Begin Group "Resource Files" # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" # End Group # End Target # End Project |
From: Rolf K. <lab...@us...> - 2005-06-12 15:32:27
|
Update of /cvsroot/opengtoolkit/pipe/source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv506/source Modified Files: pipes.dll Log Message: Newest version with fixed std input handle and hide window option support Index: pipes.dll =================================================================== RCS file: /cvsroot/opengtoolkit/pipe/source/pipes.dll,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 Binary files /tmp/cvsvqSTjG and /tmp/cvsFD10hC differ |
From: Rolf K. <lab...@us...> - 2005-06-12 15:30:36
|
Update of /cvsroot/opengtoolkit/pipe/source/ogpipe.llb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32117/source/ogpipe.llb Modified Files: OGPIPE Open System Command Pipe.vi Log Message: Addedhide windowoption to function Index: OGPIPE Open System Command Pipe.vi =================================================================== RCS file: /cvsroot/opengtoolkit/pipe/source/ogpipe.llb/OGPIPE Open System Command Pipe.vi,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 Binary files /tmp/cvsiIIAr7 and /tmp/cvsqeXqYF differ |
From: Rolf K. <lab...@us...> - 2005-06-12 15:29:58
|
Update of /cvsroot/opengtoolkit/pipe/source/ogpipe.llb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31826/source/ogpipe.llb Modified Files: OGPIPE Read From Pipe.vi Log Message: Added timeout option to read function Index: OGPIPE Read From Pipe.vi =================================================================== RCS file: /cvsroot/opengtoolkit/pipe/source/ogpipe.llb/OGPIPE Read From Pipe.vi,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 Binary files /tmp/cvscs1VMX and /tmp/cvsCKYom4 differ |
From: Rolf K. <lab...@us...> - 2005-06-12 15:28:52
|
Update of /cvsroot/opengtoolkit/pipe/tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31461/tests Modified Files: System Command Pipe Test.vi Added Files: client.exe Log Message: Changed "System Command Pipe Test.vi" to use our own client instead of cmd.exe which is not available on all Windows systems. --- NEW FILE: client.exe --- (This appears to be a binary file; contents omitted.) Index: System Command Pipe Test.vi =================================================================== RCS file: /cvsroot/opengtoolkit/pipe/tests/System Command Pipe Test.vi,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 Binary files /tmp/cvs1wnrHd and /tmp/cvs7xjBiv differ |
From: Rolf K. <lab...@us...> - 2005-06-12 15:26:18
|
Update of /cvsroot/opengtoolkit/pipe/c_source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30765/c_source Modified Files: client.c Log Message: Improved error handling Index: client.c =================================================================== RCS file: /cvsroot/opengtoolkit/pipe/c_source/client.c,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** client.c 12 Jun 2005 13:48:12 -0000 1.1 --- client.c 12 Jun 2005 15:26:09 -0000 1.2 *************** *** 12,47 **** VOID main(VOID) { ! CHAR chBuf[BUFSIZE]; ! DWORD dwRead, dwWritten; ! HANDLE hStdin, hStdout, hStderr; ! BOOL fSuccess; ! DebugBreaking(); ! hStdout = GetStdHandle(STD_OUTPUT_HANDLE); ! hStdin = GetStdHandle(STD_INPUT_HANDLE); ! hStderr = GetStdHandle(STD_ERROR_HANDLE); ! if ((hStdout == INVALID_HANDLE_VALUE) || ! (hStdin == INVALID_HANDLE_VALUE) || ! (hStderr == INVALID_HANDLE_VALUE)) ExitProcess(1); ! // Write welcome message to standard output. ! sprintf(chBuf, "Standard IO Loopback program\r\n9. June 2005\r\n"); ! fSuccess = WriteFile(hStdout, chBuf, strlen(chBuf), &dwWritten, NULL); ! if (!fSuccess) ExitProcess(2); ! for (;;) ! { // Read from standard input. fSuccess = ReadFile(hStdin, chBuf, BUFSIZE, &dwRead, NULL); if (! fSuccess || dwRead == 0) { ! DWORD err = GetLastError(); ! ! sprintf(chBuf, "error = %d, dwRead = %d\r\n", err, dwRead); ! WriteFile(hStderr, chBuf, strlen(chBuf), &dwWritten, NULL); ! break; } --- 12,48 ---- VOID main(VOID) { ! CHAR chBuf[BUFSIZE]; ! DWORD err, dwRead, dwWritten; ! HANDLE hStdin, hStdout, hStderr; ! BOOL fSuccess; ! DebugBreaking(); ! hStdout = GetStdHandle(STD_OUTPUT_HANDLE); ! hStdin = GetStdHandle(STD_INPUT_HANDLE); ! hStderr = GetStdHandle(STD_ERROR_HANDLE); ! if ((hStdout == INVALID_HANDLE_VALUE) || ! (hStdin == INVALID_HANDLE_VALUE)) ExitProcess(1); ! // Write welcome message to standard output. ! sprintf(chBuf, "Standard IO Loopback program\r\n9. June 2005\r\n"); ! fSuccess = WriteFile(hStdout, chBuf, strlen(chBuf), &dwWritten, NULL); ! if (!fSuccess) ExitProcess(2); ! for (;;) ! { // Read from standard input. fSuccess = ReadFile(hStdin, chBuf, BUFSIZE, &dwRead, NULL); if (! fSuccess || dwRead == 0) { ! err = GetLastError(); ! if (err != ERROR_BROKEN_PIPE && hStderr != INVALID_HANDLE_VALUE) ! { ! sprintf(chBuf, "error = %d, dwRead = %d\r\n", err, dwRead); ! WriteFile(hStderr, chBuf, strlen(chBuf), &dwWritten, NULL); ! } ! break; } *************** *** 50,58 **** if (!fSuccess) { ! DWORD err = GetLastError(); ! ! sprintf(chBuf, "error = %d, dwRead = %d\r\n", err, dwRead); ! WriteFile(hStderr, chBuf, strlen(chBuf), &dwWritten, NULL); ! break; } } --- 51,61 ---- if (!fSuccess) { ! err = GetLastError(); ! if (err != ERROR_BROKEN_PIPE && hStderr != INVALID_HANDLE_VALUE) ! { ! sprintf(chBuf, "error = %d, dwRead = %d\r\n", err, dwRead); ! WriteFile(hStderr, chBuf, strlen(chBuf), &dwWritten, NULL); ! } ! break; } } |
From: Rolf K. <lab...@us...> - 2005-06-12 13:48:22
|
Update of /cvsroot/opengtoolkit/pipe/c_source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13307/c_source Modified Files: pipes.dsw Added Files: client.c Log Message: Add test client application --- NEW FILE: client.c --- #include <windows.h> #include <stdio.h> #ifdef _DEBUG #define DebugBreaking() {__asm int 3} #else #define DebugBreaking() #endif #define BUFSIZE 4096 VOID main(VOID) { CHAR chBuf[BUFSIZE]; DWORD dwRead, dwWritten; HANDLE hStdin, hStdout, hStderr; BOOL fSuccess; DebugBreaking(); hStdout = GetStdHandle(STD_OUTPUT_HANDLE); hStdin = GetStdHandle(STD_INPUT_HANDLE); hStderr = GetStdHandle(STD_ERROR_HANDLE); if ((hStdout == INVALID_HANDLE_VALUE) || (hStdin == INVALID_HANDLE_VALUE) || (hStderr == INVALID_HANDLE_VALUE)) ExitProcess(1); // Write welcome message to standard output. sprintf(chBuf, "Standard IO Loopback program\r\n9. June 2005\r\n"); fSuccess = WriteFile(hStdout, chBuf, strlen(chBuf), &dwWritten, NULL); if (!fSuccess) ExitProcess(2); for (;;) { // Read from standard input. fSuccess = ReadFile(hStdin, chBuf, BUFSIZE, &dwRead, NULL); if (! fSuccess || dwRead == 0) { DWORD err = GetLastError(); sprintf(chBuf, "error = %d, dwRead = %d\r\n", err, dwRead); WriteFile(hStderr, chBuf, strlen(chBuf), &dwWritten, NULL); break; } // Write to standard output. fSuccess = WriteFile(hStdout, chBuf, dwRead, &dwWritten, NULL); if (!fSuccess) { DWORD err = GetLastError(); sprintf(chBuf, "error = %d, dwRead = %d\r\n", err, dwRead); WriteFile(hStderr, chBuf, strlen(chBuf), &dwWritten, NULL); break; } } } Index: pipes.dsw =================================================================== RCS file: /cvsroot/opengtoolkit/pipe/c_source/pipes.dsw,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** pipes.dsw 11 Mar 2004 08:18:55 -0000 1.1 --- pipes.dsw 12 Jun 2005 13:48:12 -0000 1.2 *************** *** 4,7 **** --- 4,19 ---- ############################################################################### + Project: "client"=.\client.dsp - Package Owner=<4> + + Package=<5> + {{{ + }}} + + Package=<4> + {{{ + }}} + + ############################################################################### + Project: "pipes"=.\pipes.dsp - Package Owner=<4> |
From: Rolf K. <lab...@us...> - 2005-06-12 11:30:37
|
Update of /cvsroot/opengtoolkit/pipe/c_source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10740/c_source Modified Files: pipes.c Log Message: Fix a broken std input pipe Index: pipes.c =================================================================== RCS file: /cvsroot/opengtoolkit/pipe/c_source/pipes.c,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** pipes.c 7 Jun 2005 16:29:25 -0000 1.10 --- pipes.c 12 Jun 2005 11:30:19 -0000 1.11 *************** *** 160,164 **** { MgErr err = noErr; - uInt32 retErr = fdErr ? *fdErr : 0; #if defined(MSWin) SECURITY_ATTRIBUTES saAttr = { 0 }; --- 160,163 ---- *************** *** 170,177 **** return mgArgErr; - *fdIn = 0; - *fdOut = 0; - *fdErr = 0; - DebugBreaking(); --- 169,172 ---- *************** *** 182,185 **** --- 177,183 ---- if (mode == kWriteMode || mode == kReadWriteMode) { + if (!fdOut) + goto error; + /* Save the handle to the current STDOUT. */ hSaveStdout = GetStdHandle(STD_OUTPUT_HANDLE); *************** *** 189,193 **** goto error; ! /* Set a write handle to the pipe to be STDOUT. */ if (!SetStdHandle(STD_OUTPUT_HANDLE, hChildStdoutWr)) goto error; --- 187,191 ---- goto error; ! /* Set the write handle to the pipe to be STDOUT. */ if (!SetStdHandle(STD_OUTPUT_HANDLE, hChildStdoutWr)) goto error; *************** *** 195,199 **** /* Create noninheritable read handle and close the inheritable read handle. */ if (!DuplicateHandle(GetCurrentProcess(), hChildStdoutRd, ! GetCurrentProcess(), (HANDLE*)fdOut , 0, FALSE, DUPLICATE_SAME_ACCESS)) --- 193,197 ---- /* Create noninheritable read handle and close the inheritable read handle. */ if (!DuplicateHandle(GetCurrentProcess(), hChildStdoutRd, ! GetCurrentProcess(), (HANDLE*)fdOut, 0, FALSE, DUPLICATE_SAME_ACCESS)) *************** *** 205,208 **** --- 203,209 ---- if (mode == kReadMode || mode == kReadWriteMode) { + if (!fdIn) + goto error; + /* Save the handle to the current STDIN. */ hSaveStdin = GetStdHandle(STD_INPUT_HANDLE); *************** *** 212,216 **** goto error; ! /* Set a read handle to the pipe to be STDIN. */ if (!SetStdHandle(STD_INPUT_HANDLE, hChildStdinRd)) goto error; --- 213,217 ---- goto error; ! /* Set the read handle to the pipe to be STDIN. */ if (!SetStdHandle(STD_INPUT_HANDLE, hChildStdinRd)) goto error; *************** *** 223,250 **** goto error; CloseHandle(hChildStdinWr); ! hChildStdinRd = 0; } ! if (retErr) { ! /* Save the handle to the current STDERR. */ ! hSaveStderr = GetStdHandle(STD_ERROR_HANDLE); ! /* Create a pipe for the child process's STDERR. */ ! if (!CreatePipe(&hChildStderrRd, &hChildStderrWr, &saAttr, 0)) ! goto error; ! /* Set a read handle to the pipe to be STDERR. */ ! if (!SetStdHandle(STD_ERROR_HANDLE, hChildStderrWr)) ! goto error; ! /* Duplicate the read handle to the pipe so it is not inherited. */ ! if (!DuplicateHandle(GetCurrentProcess(), hChildStderrRd, ! GetCurrentProcess(), (HANDLE*)fdErr, 0, ! FALSE, ! DUPLICATE_SAME_ACCESS)) ! goto error; ! CloseHandle(hChildStderrRd); ! hChildStderrRd = 0; } --- 224,254 ---- goto error; CloseHandle(hChildStdinWr); ! hChildStdinWr = 0; } ! if (fdErr) { ! if (*fdErr) ! { ! /* Save the handle to the current STDERR. */ ! hSaveStderr = GetStdHandle(STD_ERROR_HANDLE); ! /* Create a pipe for the child process's STDERR. */ ! if (!CreatePipe(&hChildStderrRd, &hChildStderrWr, &saAttr, 0)) ! goto error; ! /* Set the write handle to the pipe to be STDERR. */ ! if (!SetStdHandle(STD_ERROR_HANDLE, hChildStderrWr)) ! goto error; ! /* Duplicate the read handle to the pipe so it is not inherited. */ ! if (!DuplicateHandle(GetCurrentProcess(), hChildStderrRd, ! GetCurrentProcess(), (HANDLE*)fdErr, 0, ! FALSE, ! DUPLICATE_SAME_ACCESS)) ! goto error; ! CloseHandle(hChildStderrRd); ! hChildStderrRd = 0; ! } } *************** *** 272,276 **** } ! if (retErr) { CloseHandle(hChildStderrWr); --- 276,280 ---- } ! if (fdErr && *fdErr) { CloseHandle(hChildStderrWr); *************** *** 287,291 **** if (hChildStdoutWr) CloseHandle(hChildStdoutWr); ! if (*fdOut) CloseHandle(*(HANDLE*)fdOut); if (hSaveStdin) --- 291,295 ---- if (hChildStdoutWr) CloseHandle(hChildStdoutWr); ! if (fdOut && *fdOut) CloseHandle(*(HANDLE*)fdOut); if (hSaveStdin) *************** *** 295,299 **** if (hChildStdinWr) CloseHandle(hChildStdinWr); ! if (*fdIn) CloseHandle(*(HANDLE*)fdIn); if (hSaveStderr) --- 299,303 ---- if (hChildStdinWr) CloseHandle(hChildStdinWr); ! if (fdIn && *fdIn) CloseHandle(*(HANDLE*)fdIn); if (hSaveStderr) *************** *** 303,307 **** if (hChildStderrWr) CloseHandle(hChildStderrWr); ! if (*fdErr) CloseHandle(*(HANDLE*)fdErr); return dvOpenErr; --- 307,311 ---- if (hChildStderrWr) CloseHandle(hChildStderrWr); ! if (fdErr && *fdErr) CloseHandle(*(HANDLE*)fdErr); return dvOpenErr; *************** *** 353,362 **** #elif defined(Unix) if (close((pipe_t)fd) < 0) ! ..err = UnixToLVErr(errno); ! #else err = mgNotImplementd: #endif ! return err;} MgErr LibAPI PipeRead(uInt32 fd, uInt32 *bytesRead, LStrHandle data, uInt32 *eof) --- 357,366 ---- #elif defined(Unix) if (close((pipe_t)fd) < 0) ! err = UnixToLVErr(errno); #else err = mgNotImplementd: #endif ! return err; ! } MgErr LibAPI PipeRead(uInt32 fd, uInt32 *bytesRead, LStrHandle data, uInt32 *eof) *************** *** 366,371 **** #if defined(MSWin) DWORD ret; - #elif defined(Unix) - int32 len; #endif --- 370,373 ---- *************** *** 375,389 **** *eof = FALSE; ! err = NumericArrayResize(uB, 1, (UHandle*)&data, bytesReq); ! if (err) ! return err; ! ! /* We need to do this in LabVIEW 7.0 as otherwise the next ! NumericArrayResize() will optimize out and only copy as much ! characters as it sees to be in the array into the new handle ! if any. */ ! LStrLen(*data) = bytesReq; #if defined(MSWin) if (!PeekNamedPipe((HANDLE)fd, NULL, 0, NULL, bytesRead, NULL)) { --- 377,400 ---- *eof = FALSE; ! if (LStrLen(*data) < (int32)bytesReq) ! { ! err = NumericArrayResize(uB, 1, (UHandle*)&data, bytesReq); ! if (err) ! return err; + /* We need to do this in LabVIEW 7.0 as otherwise the next + NumericArrayResize() will optimize out and only copy as much + characters into the new handle as it believes to be in the + array based on this value. */ + LStrLen(*data) = bytesReq; + } #if defined(MSWin) + /* ReadFile blocks on any pipe not opened in overlapped mode and the anonymous + pipes used for standard handle redirection are always non-overlapping. We don't + want to block here, as for LabVIEW configurations with only one thread per + execution system we would block the ReadPipe function and can't read another + pipe. So we peek first at the pipe to see if there is anything available and if so + we invoke ReadFile to read the entire data instead of maybe only part of a byte- + stream sent from the other side.*/ if (!PeekNamedPipe((HANDLE)fd, NULL, 0, NULL, bytesRead, NULL)) { *************** *** 394,403 **** *bytesRead = 0; } - if (bytesReq < *bytesRead) - *bytesRead = bytesReq; if (*bytesRead) ! { ! if (!ReadFile((HANDLE)fd, LStrBuf(*data), *bytesRead, bytesRead, NULL)) { ret = GetLastError(); --- 405,413 ---- *bytesRead = 0; } if (*bytesRead) ! { ! /* There are some bytes to read, so try to read as much as possible now! */ ! if (!ReadFile((HANDLE)fd, LStrBuf(*data), bytesReq, bytesRead, NULL)) { ret = GetLastError(); *************** *** 406,442 **** err = Win32ToLVErr(ret); } ! else ! { ! if (*bytesRead) ! *eof = *bytesRead == 0; ! } ! } ! #elif defined(Unix) ! len = read((pipe_t)fd, LStrBuf(*data), *bytesRead) ! if (len < 0) { *eof = (errno == EEOF); if (!*eof) err = UnixToLVErr(errno); } - else - { - *bytesRead = len; - } - #else err = mgNotImplementd; #endif - - - if (bytesReq != *bytesRead) - { - if (err) - NumericArrayResize(uB, 1, &(UHandle)data, *bytesRead); - else - err = NumericArrayResize(uB, 1, &(UHandle)data, *bytesRead); - LStrLen(*data) = *bytesRead; - } return err; } --- 416,434 ---- err = Win32ToLVErr(ret); } ! } #elif defined(Unix) ! *bytesRead = read((pipe_t)fd, LStrBuf(*data), bytesReq) ! if (*bytesRead < 0) { *eof = (errno == EEOF); if (!*eof) + { err = UnixToLVErr(errno); + *bytesRead = 0; + } } #else err = mgNotImplementd; #endif return err; } *************** *** 445,473 **** { MgErr err = noErr; - int32 len; ! if (!fd || !data) return mgArgErr; - DebugBreaking(); - /* NULL terminate the LabVIEW string so that the API functions can use ! them a C strings */ ! len = LStrLen(*data); ! err = NumericArrayResize(uB, 1, (UHandle*)&data, len + 1); if (err) return err; ! LStrBuf(*data)[len]; #if defined(MSWin) ! if (!WriteFile((HANDLE)fd, LStrBuf(*data), len, bytesWritten, NULL) ) err = Win32ToLVErr(GetLastError()); #elif defined(Unix) ! len = write((pipe_t)fd, LStrBuf(*data), LStrLen(*data); ! if (len < 0) err = UnixToLVErr(errno); ! else ! *bytesWritten = len; #else err = mgNotImplementd: --- 437,463 ---- { MgErr err = noErr; ! if (!fd || !bytesWritten || !data) return mgArgErr; /* NULL terminate the LabVIEW string so that the API functions can use ! them as a C string */ ! *bytesWritten = LStrLen(*data); ! err = NumericArrayResize(uB, 1, (UHandle*)&data, *bytesWritten + 1); if (err) return err; ! LStrBuf(*data)[*bytesWritten] = 0; #if defined(MSWin) ! if (!WriteFile((HANDLE)fd, LStrBuf(*data), *bytesWritten, bytesWritten, NULL) ) err = Win32ToLVErr(GetLastError()); #elif defined(Unix) ! *bytesWritten = write((pipe_t)fd, LStrBuf(*data), *bytesWritten); ! if (*bytesWritten < 0) ! { ! *bytesWritten = 0; err = UnixToLVErr(errno); ! } #else err = mgNotImplementd: *************** *** 493,497 **** siStartInfo.cb = sizeof(STARTUPINFO); siStartInfo.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW; ! siStartInfo.wShowWindow = SW_HIDE; siStartInfo.hStdInput = stdIn; siStartInfo.hStdOutput = stdOut; --- 483,487 ---- siStartInfo.cb = sizeof(STARTUPINFO); siStartInfo.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW; ! siStartInfo.wShowWindow = (pid && *pid) ? SW_HIDE : SW_SHOW; siStartInfo.hStdInput = stdIn; siStartInfo.hStdOutput = stdOut; |
From: Rolf K. <lab...@us...> - 2005-06-08 21:11:21
|
Update of /cvsroot/opengtoolkit/pipe/tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6140/tests Modified Files: System Command Pipe Test.vi Log Message: Added standard error out handling Index: System Command Pipe Test.vi =================================================================== RCS file: /cvsroot/opengtoolkit/pipe/tests/System Command Pipe Test.vi,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 Binary files /tmp/cvsjHsWEn and /tmp/cvslHHLJt differ |
From: Rolf K. <lab...@us...> - 2005-06-08 20:58:07
|
Update of /cvsroot/opengtoolkit/pipe/tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32472/tests Modified Files: System Command Pipe Test.vi Log Message: Fixed problem with Open System Command Pipe.vi with exchanged standard input and standard output handles Index: System Command Pipe Test.vi =================================================================== RCS file: /cvsroot/opengtoolkit/pipe/tests/System Command Pipe Test.vi,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 Binary files /tmp/cvsjyplF1 and /tmp/cvsmueWLn differ |
From: Rolf K. <lab...@us...> - 2005-06-08 20:58:06
|
Update of /cvsroot/opengtoolkit/pipe/source/ogpipe.llb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32472/source/ogpipe.llb Modified Files: OGPIPE - VI TREE.vi OGPIPE Open System Command Pipe.vi Log Message: Fixed problem with Open System Command Pipe.vi with exchanged standard input and standard output handles Index: OGPIPE Open System Command Pipe.vi =================================================================== RCS file: /cvsroot/opengtoolkit/pipe/source/ogpipe.llb/OGPIPE Open System Command Pipe.vi,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 Binary files /tmp/cvsxHt31j and /tmp/cvs3IFMNE differ Index: OGPIPE - VI TREE.vi =================================================================== RCS file: /cvsroot/opengtoolkit/pipe/source/ogpipe.llb/OGPIPE - VI TREE.vi,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 Binary files /tmp/cvsdGzLOk and /tmp/cvsnQ5nCF differ |
From: Rolf K. <lab...@us...> - 2005-06-08 20:05:00
|
Update of /cvsroot/opengtoolkit/lvzip/source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4935/source Added Files: opengdoc.txt Log Message: Added text template for OpenG package page --- NEW FILE: opengdoc.txt --- Download install oglib_lvzip using OpenG Commander (OGC) Usefull Links * Discussion Forums o Support o Bugs o Feature Requests Documentation Library Organization There are five main groups of VIs within the OpenG ZIP Tools library: 1. Advanced Compression VIs these are used to open/create a ZIP archive for adding files, add individual files to that archive, and close it. 2. Advanced Decompression VIs these VIs are used open a ZIP archive for querying, enumerate its contents, query various information about the archive and individual files in it, and extract individual files from it. 3. High-Level ZIP Tools These are the VIs which are prebuild to do common tasks such as compressing an entire directory (and optionally its subdirectories), or compress a number of files into an archive. Another function allows to delete particular files from an archive and last but not least one function to extract the entire contents of an archive into a directory, maintaining the internal directory structure if present. 4. ZLIB String Operations - these VIs allow to compress and decompress a string directly in memory. Another function computes the CRC32 value for a string. 5. MacBinary Tools - these are two functions to convert a MacBinary file into the two fork representation on the Macintosh amd back. On other systems the non-MacBinary version is split into two physical files on disk instead, because there is no support for multiple file forks on these systems. Description The core of this libray is an external shared library consisting basically of the version 1.2.2 release of zlib and the version 1.0.1d of the zip library from Gilles Vollant. The current version supports most types of ZIP files with exception of the newest proprietary format created by the latest version of Winzip. It also supports adding files with password, extracting password protected files. One specific point to watch for, if you start to work on the Advanced level of things is that the file reference created by the two Open functions are very different. So you can't open a file with ZLIB Open ZIP Archive and pass this refnum to any of the decompress functions and vice-versa. Used libraries: The lvzip package makes use of the error package, the file package and through the last one also of the array package. Some functions in the file package have been added in the latest released package and therefore this version of lvzip will only work with the version 2.5 of the file package. Roadmap There are currently no further modifications planned on this library besides of possible bug-fixes. Once a new major release of the zlib library is available, this may get incorporated into the shared library and made available as a new package release. Copyrights Copyright (C) 1995-2004 Mark Adler, Jean-loup Gailly Copyright (C) 1998-2004 Gilles Vollant Copyright (C) 2002-2005 Rolf Kalbermatter, Jim Kring, Christoph Salzmann |
From: Rolf K. <lab...@us...> - 2005-06-08 19:54:39
|
Update of /cvsroot/opengtoolkit/lvzip/c_source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32506/c_source Modified Files: macbin.c macbin.h Log Message: Added copyright notice Index: macbin.c =================================================================== RCS file: /cvsroot/opengtoolkit/lvzip/c_source/macbin.c,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** macbin.c 12 Apr 2005 23:09:29 -0000 1.10 --- macbin.c 8 Jun 2005 19:54:30 -0000 1.11 *************** *** 1,3 **** ! /* Call Library Source File */ #include "zlib.h" --- 1,8 ---- ! /* macbin.c -- support functions for macbinary ! ! Version 1.1, Dec 28th, 2004 ! ! Copyright (C) 2002-2005 Rolf Kalbermatter ! */ #include "zlib.h" Index: macbin.h =================================================================== RCS file: /cvsroot/opengtoolkit/lvzip/c_source/macbin.h,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** macbin.h 25 Dec 2004 16:32:41 -0000 1.5 --- macbin.h 8 Jun 2005 19:54:30 -0000 1.6 *************** *** 1,2 **** --- 1,8 ---- + /* macbin.c -- support functions for macbinary + + Version 1.1, Dec 28th, 2004 + + Copyright (C) 2002-2005 Rolf Kalbermatter + */ #ifndef _macbin_H #define _macbin_H |
From: Rolf K. <lab...@us...> - 2005-06-07 16:57:16
|
Update of /cvsroot/opengtoolkit/pipe/tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15211/tests Modified Files: System Command Pipe Test.vi Log Message: Adding error handler Index: System Command Pipe Test.vi =================================================================== RCS file: /cvsroot/opengtoolkit/pipe/tests/System Command Pipe Test.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsNX6Mg2 and /tmp/cvs6nL5oM differ |
From: Rolf K. <lab...@us...> - 2005-06-07 16:30:05
|
Update of /cvsroot/opengtoolkit/pipe/c_source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31349/c_source Modified Files: pipes.c Log Message: Commit non-debug DLL for testing without breapoints Index: pipes.c =================================================================== RCS file: /cvsroot/opengtoolkit/pipe/c_source/pipes.c,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** pipes.c 5 Jun 2005 21:11:39 -0000 1.9 --- pipes.c 7 Jun 2005 16:29:25 -0000 1.10 *************** *** 50,54 **** #if defined(MSWin) ! static MgErr CreateChildProcess(LPSTR cmdline, DWORD *pid); static MgErr Win32ToLVErr(DWORD error); #elif defined (Unix) --- 50,54 ---- #if defined(MSWin) ! static MgErr CreateChildProcess(LPSTR cmdline, HANDLE stdIn, HANDLE stdOut, HANDLE stdErr, DWORD *pid); static MgErr Win32ToLVErr(DWORD error); #elif defined (Unix) *************** *** 239,243 **** goto error; ! /* Duplicate the write handle to the pipe so it is not inherited. */ if (!DuplicateHandle(GetCurrentProcess(), hChildStderrRd, GetCurrentProcess(), (HANDLE*)fdErr, 0, --- 239,243 ---- goto error; ! /* Duplicate the read handle to the pipe so it is not inherited. */ if (!DuplicateHandle(GetCurrentProcess(), hChildStderrRd, GetCurrentProcess(), (HANDLE*)fdErr, 0, *************** *** 250,254 **** /* Now create the child process. */ ! err = CreateChildProcess(cmd, processID); if (err) goto error; --- 250,254 ---- /* Now create the child process. */ ! err = CreateChildProcess(cmd, hChildStdinRd, hChildStdoutWr, hChildStderrWr, processID); if (err) goto error; *************** *** 480,484 **** #if defined(MSWin) ! static MgErr CreateChildProcess(LPSTR cmdline, DWORD *pid) { PROCESS_INFORMATION piProcInfo; --- 480,484 ---- #if defined(MSWin) ! static MgErr CreateChildProcess(LPSTR cmdline, HANDLE stdIn, HANDLE stdOut, HANDLE stdErr, DWORD *pid) { PROCESS_INFORMATION piProcInfo; *************** *** 492,495 **** --- 492,500 ---- ZeroMemory( &siStartInfo, sizeof(STARTUPINFO) ); siStartInfo.cb = sizeof(STARTUPINFO); + siStartInfo.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW; + siStartInfo.wShowWindow = SW_HIDE; + siStartInfo.hStdInput = stdIn; + siStartInfo.hStdOutput = stdOut; + siStartInfo.hStdError = stdErr; /* Create the child process. */ |
From: Rolf K. <lab...@us...> - 2005-06-07 16:29:42
|
Update of /cvsroot/opengtoolkit/pipe/source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31349/source Modified Files: pipes.dll Log Message: Commit non-debug DLL for testing without breapoints Index: pipes.dll =================================================================== RCS file: /cvsroot/opengtoolkit/pipe/source/pipes.dll,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 Binary files /tmp/cvsJjphtF and /tmp/cvsQUWvY5 differ |
From: Rolf K. <lab...@us...> - 2005-06-05 21:12:19
|
Update of /cvsroot/opengtoolkit/pipe/source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31563/source Modified Files: pipes.dll Log Message: Comitting various minor fixes Index: pipes.dll =================================================================== RCS file: /cvsroot/opengtoolkit/pipe/source/pipes.dll,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 Binary files /tmp/cvsMuY4AM and /tmp/cvsQF0Mmb differ |
From: Rolf K. <lab...@us...> - 2005-06-05 21:12:19
|
Update of /cvsroot/opengtoolkit/pipe/tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31563/tests Modified Files: Simple Pipe Test.vi Added Files: System Command Pipe Test.vi Log Message: Comitting various minor fixes Index: Simple Pipe Test.vi =================================================================== RCS file: /cvsroot/opengtoolkit/pipe/tests/Simple Pipe Test.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsSKl4Ma and /tmp/cvsZ16EPz differ --- NEW FILE: System Command Pipe Test.vi --- (This appears to be a binary file; contents omitted.) |
From: Rolf K. <lab...@us...> - 2005-06-05 21:12:19
|
Update of /cvsroot/opengtoolkit/pipe/source/ogpipe.llb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31563/source/ogpipe.llb Modified Files: OGPIPE Close Pipe.vi OGPIPE Open Pipe.vi OGPIPE Open System Command Pipe.vi OGPIPE Write To Pipe.vi Log Message: Comitting various minor fixes Index: OGPIPE Open System Command Pipe.vi =================================================================== RCS file: /cvsroot/opengtoolkit/pipe/source/ogpipe.llb/OGPIPE Open System Command Pipe.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsrik84w and /tmp/cvsTYi1zV differ Index: OGPIPE Write To Pipe.vi =================================================================== RCS file: /cvsroot/opengtoolkit/pipe/source/ogpipe.llb/OGPIPE Write To Pipe.vi,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 Binary files /tmp/cvsicnrLz and /tmp/cvs2Xf5hY differ Index: OGPIPE Open Pipe.vi =================================================================== RCS file: /cvsroot/opengtoolkit/pipe/source/ogpipe.llb/OGPIPE Open Pipe.vi,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 Binary files /tmp/cvswz5moA and /tmp/cvsOfMYWY differ Index: OGPIPE Close Pipe.vi =================================================================== RCS file: /cvsroot/opengtoolkit/pipe/source/ogpipe.llb/OGPIPE Close Pipe.vi,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 Binary files /tmp/cvsRmC5bD and /tmp/cvsCweuM1 differ |
From: Rolf K. <lab...@us...> - 2005-06-05 21:12:02
|
Update of /cvsroot/opengtoolkit/pipe/c_source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31563/c_source Modified Files: pipes.c Log Message: Comitting various minor fixes Index: pipes.c =================================================================== RCS file: /cvsroot/opengtoolkit/pipe/c_source/pipes.c,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** pipes.c 18 Sep 2004 21:35:50 -0000 1.8 --- pipes.c 5 Jun 2005 21:11:39 -0000 1.9 *************** *** 42,47 **** } Modes; ! MgErr LibAPI PipeOpen(CStr name, uInt8 mode, uInt32 *fd); ! MgErr LibAPI PipeOpenCmd(CStr name, uInt8 mode, uInt32 *fdIn, uInt32 *fdOut, uInt32 *fdErr, uInt32 *processID); MgErr LibAPI PipeClose(uInt32 fd); --- 42,47 ---- } Modes; ! MgErr LibAPI PipeOpen(CStr name, uInt16 mode, uInt32 *fd); ! MgErr LibAPI PipeOpenCmd(CStr name, uInt16 mode, uInt32 *fdIn, uInt32 *fdOut, uInt32 *fdErr, uInt32 *processID); MgErr LibAPI PipeClose(uInt32 fd); *************** *** 50,54 **** #if defined(MSWin) ! static MgErr CreateChildProcess(LPSTR cmdline, HANDLE *pid); static MgErr Win32ToLVErr(DWORD error); #elif defined (Unix) --- 50,54 ---- #if defined(MSWin) ! static MgErr CreateChildProcess(LPSTR cmdline, DWORD *pid); static MgErr Win32ToLVErr(DWORD error); #elif defined (Unix) *************** *** 58,62 **** #endif ! MgErr LibAPI PipeOpen(CStr name, uInt8 mode, uInt32 *fd) { MgErr err = noErr; --- 58,62 ---- #endif ! MgErr LibAPI PipeOpen(CStr name, uInt16 mode, uInt32 *fd) { MgErr err = noErr; *************** *** 157,163 **** } ! MgErr LibAPI PipeOpenCmd(CStr cmd, uInt8 mode, uInt32 *fdIn, uInt32 *fdOut, uInt32 *fdErr, uInt32 *processID) { MgErr err = noErr; #if defined(MSWin) SECURITY_ATTRIBUTES saAttr = { 0 }; --- 157,164 ---- } ! MgErr LibAPI PipeOpenCmd(CStr cmd, uInt16 mode, uInt32 *fdIn, uInt32 *fdOut, uInt32 *fdErr, uInt32 *processID) { MgErr err = noErr; + uInt32 retErr = fdErr ? *fdErr : 0; #if defined(MSWin) SECURITY_ATTRIBUTES saAttr = { 0 }; *************** *** 165,174 **** HANDLE hSaveStdin = 0L, hChildStdinRd = 0L, hChildStdinWr = 0L; HANDLE hSaveStderr = 0L, hChildStderrRd = 0L, hChildStderrWr = 0L; - BOOL bError = *fdErr != FALSE; if (mode > kReadWriteMode) return mgArgErr; ! *fdIn = *fdOut = *fdErr = 0; DebugBreaking(); --- 166,176 ---- HANDLE hSaveStdin = 0L, hChildStdinRd = 0L, hChildStdinWr = 0L; HANDLE hSaveStderr = 0L, hChildStderrRd = 0L, hChildStderrWr = 0L; if (mode > kReadWriteMode) return mgArgErr; ! *fdIn = 0; ! *fdOut = 0; ! *fdErr = 0; DebugBreaking(); *************** *** 192,199 **** /* Create noninheritable read handle and close the inheritable read handle. */ ! if (!DuplicateHandle(GetCurrentProcess(), hChildStdoutRd, ! GetCurrentProcess(), (HANDLE*)fdOut , 0, ! FALSE, ! DUPLICATE_SAME_ACCESS)) goto error; CloseHandle(hChildStdoutRd); --- 194,201 ---- /* Create noninheritable read handle and close the inheritable read handle. */ ! if (!DuplicateHandle(GetCurrentProcess(), hChildStdoutRd, ! GetCurrentProcess(), (HANDLE*)fdOut , 0, ! FALSE, ! DUPLICATE_SAME_ACCESS)) goto error; CloseHandle(hChildStdoutRd); *************** *** 224,228 **** } ! if (bError) { /* Save the handle to the current STDERR. */ --- 226,230 ---- } ! if (retErr) { /* Save the handle to the current STDERR. */ *************** *** 248,252 **** /* Now create the child process. */ ! err = CreateChildProcess(cmd, (HANDLE*)processID); if (err) goto error; --- 250,254 ---- /* Now create the child process. */ ! err = CreateChildProcess(cmd, processID); if (err) goto error; *************** *** 270,278 **** } ! if (mode == kWriteMode || mode == kReadWriteMode) { CloseHandle(hChildStderrWr); hChildStderrWr = 0; ! if (!SetStdHandle(STD_OUTPUT_HANDLE, hSaveStdout)) goto error; } --- 272,280 ---- } ! if (retErr) { CloseHandle(hChildStderrWr); hChildStderrWr = 0; ! if (!SetStdHandle(STD_ERROR_HANDLE, hSaveStderr)) goto error; } *************** *** 365,369 **** DWORD ret; #elif defined(Unix) ! int32 ret; #endif --- 367,371 ---- DWORD ret; #elif defined(Unix) ! int32 len; #endif *************** *** 412,417 **** #elif defined(Unix) ! ret = read((pipe_t)fd, LStrBuf(*data), *bytesRead) ! if (ret < 0) { *eof = (errno == EEOF); --- 414,419 ---- #elif defined(Unix) ! len = read((pipe_t)fd, LStrBuf(*data), *bytesRead) ! if (len < 0) { *eof = (errno == EEOF); *************** *** 421,425 **** else { ! *bytesRead = ret; } --- 423,427 ---- else { ! *bytesRead = len; } *************** *** 432,436 **** { if (err) ! NumericArrayResize(uB, 1, &(UHandle)data, *bytesRead); else err = NumericArrayResize(uB, 1, &(UHandle)data, *bytesRead); --- 434,438 ---- { if (err) ! NumericArrayResize(uB, 1, &(UHandle)data, *bytesRead); else err = NumericArrayResize(uB, 1, &(UHandle)data, *bytesRead); *************** *** 443,466 **** { MgErr err = noErr; ! if (!fd) return mgArgErr; /* NULL terminate the LabVIEW string so that the API functions can use them a C strings */ ! err = NumericArrayResize(uB, 1, (UHandle*)&data, LStrLen(*data) + 1); if (err) return err; ! LStrBuf(*data)[LStrLen(*data)]; #if defined(MSWin) ! if (!WriteFile((HANDLE)fd, LStrBuf(*data), LStrLen(*data), bytesWritten, NULL) ) err = Win32ToLVErr(GetLastError()); #elif defined(Unix) ! *bytesWritten = write((pipe_t)fd, LStrBuf(*data), LStrLen(*data); ! if (*bytesWritten == -1) err = UnixToLVErr(errno); ! #else err = mgNotImplementd: --- 445,473 ---- { MgErr err = noErr; + int32 len; ! if (!fd || !data) return mgArgErr; + DebugBreaking(); + /* NULL terminate the LabVIEW string so that the API functions can use them a C strings */ ! len = LStrLen(*data); ! err = NumericArrayResize(uB, 1, (UHandle*)&data, len + 1); if (err) return err; ! LStrBuf(*data)[len]; #if defined(MSWin) ! if (!WriteFile((HANDLE)fd, LStrBuf(*data), len, bytesWritten, NULL) ) err = Win32ToLVErr(GetLastError()); #elif defined(Unix) ! len = write((pipe_t)fd, LStrBuf(*data), LStrLen(*data); ! if (len < 0) err = UnixToLVErr(errno); ! else ! *bytesWritten = len; #else err = mgNotImplementd: *************** *** 473,477 **** #if defined(MSWin) ! static MgErr CreateChildProcess(LPSTR cmdline, HANDLE *pid) { PROCESS_INFORMATION piProcInfo; --- 480,484 ---- #if defined(MSWin) ! static MgErr CreateChildProcess(LPSTR cmdline, DWORD *pid) { PROCESS_INFORMATION piProcInfo; *************** *** 505,511 **** { if (pid) ! *pid = piProcInfo.hProcess; ! else ! CloseHandle(piProcInfo.hProcess); CloseHandle(piProcInfo.hThread); return noErr; --- 512,517 ---- { if (pid) ! *pid = piProcInfo.dwProcessId; ! CloseHandle(piProcInfo.hProcess); CloseHandle(piProcInfo.hThread); return noErr; |