Changeset 8167346
- Timestamp:
- 2018-03-11T19:28:38Z (7 years ago)
- Branches:
- master
- Children:
- a949b43
- Parents:
- 16ea00d
- git-author:
- dequis <dx@…> (11-03-18 09:13:45)
- git-committer:
- dequis <dx@…> (11-03-18 19:28:38)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
irc_im.c
r16ea00d r8167346 446 446 } 447 447 448 #define PASTEBUF_LONG_SPACELESS_LINE_LENGTH 350 449 450 /* Returns FALSE if the last line of the message is near the typical irc length 451 * limit and the message has no spaces, indicating that it's probably desirable 452 * to join messages without the newline. 453 * 454 * The main use case for this is pasting long URLs and not breaking them */ 455 static gboolean bee_irc_pastebuf_should_start_with_newline(const char *msg) 456 { 457 int i; 458 const char *last_line = strrchr(msg, '\n') ? : msg; 459 460 if (*last_line == '\n') { 461 last_line++; 462 } 463 464 for (i = 0; last_line[i]; i++) { 465 if (g_ascii_isspace(last_line[i])) { 466 return TRUE; 467 } 468 } 469 470 if (i < PASTEBUF_LONG_SPACELESS_LINE_LENGTH) { 471 return TRUE; 472 } 473 474 return FALSE; 475 } 476 448 477 /* IRC->IM calls */ 449 478 … … 470 499 } else { 471 500 b_event_remove(iu->pastebuf_timer); 472 g_string_append_printf(iu->pastebuf, "\n%s", msg); 501 if (bee_irc_pastebuf_should_start_with_newline(iu->pastebuf->str)) { 502 g_string_append_c(iu->pastebuf, '\n'); 503 } 504 g_string_append(iu->pastebuf, msg); 473 505 } 474 506
Note: See TracChangeset
for help on using the changeset viewer.