comparison libpurple/protocols/yahoo/yahoo_packet.c @ 19393:35ae010cc037

Input handlers are unsigned integers. So set them to 0 instead of -1 after removing it.
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Thu, 23 Aug 2007 23:20:48 +0000
parents b775a0bff96c
children 941965d6fd88 5e76304ebcc8
comparison
equal deleted inserted replaced
19392:74f7d5e4a605 19393:35ae010cc037
292 292
293 writelen = purple_circ_buffer_get_max_read(yd->txbuf); 293 writelen = purple_circ_buffer_get_max_read(yd->txbuf);
294 294
295 if (writelen == 0) { 295 if (writelen == 0) {
296 purple_input_remove(yd->txhandler); 296 purple_input_remove(yd->txhandler);
297 yd->txhandler = -1; 297 yd->txhandler = 0;
298 return; 298 return;
299 } 299 }
300 300
301 ret = write(yd->fd, yd->txbuf->outptr, writelen); 301 ret = write(yd->fd, yd->txbuf->outptr, writelen);
302 302
353 return -1; 353 return -1;
354 354
355 len = yahoo_packet_build(pkt, 0, yd->wm, yd->jp, &data); 355 len = yahoo_packet_build(pkt, 0, yd->wm, yd->jp, &data);
356 356
357 yahoo_packet_dump(data, len); 357 yahoo_packet_dump(data, len);
358 if (yd->txhandler == -1) 358 if (yd->txhandler == 0)
359 ret = write(yd->fd, data, len); 359 ret = write(yd->fd, data, len);
360 else { 360 else {
361 ret = -1; 361 ret = -1;
362 errno = EAGAIN; 362 errno = EAGAIN;
363 } 363 }
369 g_free(data); 369 g_free(data);
370 return ret; 370 return ret;
371 } 371 }
372 372
373 if (ret < len) { 373 if (ret < len) {
374 if (yd->txhandler == -1) 374 if (yd->txhandler == 0)
375 yd->txhandler = purple_input_add(yd->fd, PURPLE_INPUT_WRITE, 375 yd->txhandler = purple_input_add(yd->fd, PURPLE_INPUT_WRITE,
376 yahoo_packet_send_can_write, yd); 376 yahoo_packet_send_can_write, yd);
377 purple_circ_buffer_append(yd->txbuf, data + ret, len - ret); 377 purple_circ_buffer_append(yd->txbuf, data + ret, len - ret);
378 } 378 }
379 379