fix writing

fix error output
This commit is contained in:
Glenn Maynard
2004-03-24 08:22:38 +00:00
parent d6bc74bc13
commit 9730d2cadc
@@ -119,12 +119,18 @@ static int retried_write( int fd, const void *buf, size_t count )
static bool parent_write(int to_child, const void *p, size_t size) static bool parent_write(int to_child, const void *p, size_t size)
{ {
size_t ret = retried_write(to_child, p, size); size_t ret = retried_write(to_child, p, size);
if(ret != size) if( ret == -1 )
{ {
safe_print(fileno(stderr), "Unexpected write() result (", strerror(errno), ")\n", NULL); safe_print(fileno(stderr), "Unexpected write() result (", strerror(errno), ")\n", NULL);
return false; return false;
} }
if(ret != size)
{
safe_print(fileno(stderr), "Unexpected write() result (", itoa(ret), ")\n", NULL);
return false;
}
return true; return true;
} }
@@ -160,9 +166,9 @@ static void parent_process( int to_child, const CrashData *crash )
for( int i = 0; i < cnt; ++i ) for( int i = 0; i < cnt; ++i )
{ {
size = strlen(ps[i])+1; size = strlen(ps[i])+1;
if( parent_write(to_child, &size, sizeof(size)) ) if( !parent_write(to_child, &size, sizeof(size)) )
return; return;
if( parent_write(to_child, ps[i], size) ) if( !parent_write(to_child, ps[i], size) )
return; return;
} }