Comments
Patch
@@ -20,40 +20,39 @@
uint32_t length;
char ch_char;
- if (!handle) {
+ if (!handle || handle->bytes_on_pipe != 0) {
errno = EINVAL;
return NULL;
}
+ if (read(handle->p_read, &ch_char, 1) < 0) {
+ return NULL;
+ }
+ if (read(handle->p_read, &length, sizeof(uint32_t)) < 0) {
+ return NULL;
+ }
- if (handle->bytes_on_pipe == 0) {
- if (read(handle->p_read, &ch_char, 1) < 0) {
- return NULL;
- }
- if (read(handle->p_read, &length, sizeof(uint32_t)) < 0) {
- return NULL;
- }
- handle->header->length = swap_uint32(length);
- handle->bytes_on_pipe = handle->header->length;
- switch(ch_char) {
- case 'o':
- handle->header->channel = o;
- break;
- case 'e':
- handle->header->channel = e;
- break;
- case 'r':
- handle->header->channel = r;
- break;
- case 'I':
- handle->header->channel = I;
- break;
- case 'L':
- handle->header->channel = L;
- break;
- default:
- handle->header->channel = wrong_channel;
- break;
- }
+ handle->header->length = swap_uint32(length);
+ handle->bytes_on_pipe = handle->header->length;
+
+ switch(ch_char) {
+ case 'o':
+ handle->header->channel = o;
+ break;
+ case 'e':
+ handle->header->channel = e;
+ break;
+ case 'r':
+ handle->header->channel = r;
+ break;
+ case 'I':
+ handle->header->channel = I;
+ break;
+ case 'L':
+ handle->header->channel = L;
+ break;
+ default:
+ handle->header->channel = wrong_channel;
+ break;
}
return handle->header;
}