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;
}
}
|