equal
deleted
inserted
replaced
249 int ret; |
249 int ret; |
250 size_t len = strlen(line); |
250 size_t len = strlen(line); |
251 |
251 |
252 // drop line if we already have output buffered |
252 // drop line if we already have output buffered |
253 if (lp->out_offset) |
253 if (lp->out_offset) |
254 return -ERR_WRITE_EOF; |
254 return -ERR_LINE_TOO_LONG; |
255 |
255 |
256 // try and write the line |
256 // try and write the line |
257 if ((ret = sock_stream_write(lp->sock, line, len)) < 0) { |
257 if ((ret = sock_stream_write(lp->sock, line, len)) < 0) { |
258 SET_ERROR_INFO(&lp->err, sock_stream_error(lp->sock)); |
258 SET_ERROR_INFO(&lp->err, sock_stream_error(lp->sock)); |
259 |
259 |
273 |
273 |
274 // update offset |
274 // update offset |
275 lp->out_offset = trailing; |
275 lp->out_offset = trailing; |
276 |
276 |
277 // register for EV_WRITE |
277 // register for EV_WRITE |
278 line_proto_schedule_events(lp, EV_READ | EV_WRITE); |
278 if (line_proto_schedule_events(lp, EV_READ | EV_WRITE)) |
|
279 return -ERROR_CODE(&lp->err); |
279 |
280 |
280 // buffered... |
281 // buffered... |
281 return 1; |
282 return 1; |
282 |
283 |
283 } else { |
284 } else { |
315 // update offset |
316 // update offset |
316 lp->out_offset = remaining; |
317 lp->out_offset = remaining; |
317 } |
318 } |
318 |
319 |
319 // register for EV_WRITE |
320 // register for EV_WRITE |
320 line_proto_schedule_events(lp, EV_READ | EV_WRITE); |
321 if (line_proto_schedule_events(lp, EV_READ | EV_WRITE)) |
|
322 return -ERROR_CODE(&lp->err); |
321 |
323 |
322 // ok |
324 // ok |
323 return 1; |
325 return 1; |
324 } |
326 } |
325 |
327 |