X-Git-Url: https://git.pld-linux.org/?p=packages%2Firssi.git;a=blobdiff_plain;f=irssi-dcc-send-limit.patch;h=cde39a10e7a0cbfa781d42d2a1ce453e081bf092;hp=6ab9df6f7bad9a45e257c034eb9b3e089053df53;hb=e86b1c05a767d3273ff4a532b03481d24420c65d;hpb=d32e7ca2103f8a0b335c37ad18e2a020feee90d1 diff --git a/irssi-dcc-send-limit.patch b/irssi-dcc-send-limit.patch index 6ab9df6..cde39a1 100644 --- a/irssi-dcc-send-limit.patch +++ b/irssi-dcc-send-limit.patch @@ -1,9 +1,9 @@ -diff -ur irssi-0.7.98.4/src/irc/dcc/dcc-rec.h irssi-0.7.98.4.limited/src/irc/dcc/dcc-rec.h ---- irssi-0.7.98.4/src/irc/dcc/dcc-rec.h Mon Feb 19 04:40:06 2001 -+++ irssi-0.7.98.4.limited/src/irc/dcc/dcc-rec.h Sat Jan 19 19:40:16 2002 +diff -ur irssi-0.8.4.orig/src/irc/dcc/dcc-rec.h irssi-0.8.4/src/irc/dcc/dcc-rec.h +--- irssi-0.8.4.orig/src/irc/dcc/dcc-rec.h Mon Feb 19 04:40:06 2001 ++++ irssi-0.8.4/src/irc/dcc/dcc-rec.h Thu Mar 14 02:20:25 2002 @@ -20,6 +20,12 @@ time_t starttime; /* transfer start time */ - unsigned long transfd; /* bytes transferred */ + uoff_t transfd; /* bytes transferred */ +int timeout_tag; + @@ -14,17 +14,20 @@ diff -ur irssi-0.7.98.4/src/irc/dcc/dcc-rec.h irssi-0.7.98.4.limited/src/irc/dcc unsigned int destroyed:1; /* We're about to destroy this DCC recond */ GHashTable *module_data; -diff -ur irssi-0.7.98.4/src/irc/dcc/dcc-send.c irssi-0.7.98.4.limited/src/irc/dcc/dcc-send.c ---- irssi-0.7.98.4/src/irc/dcc/dcc-send.c Wed Feb 28 20:26:21 2001 -+++ irssi-0.7.98.4.limited/src/irc/dcc/dcc-send.c Sat Jan 19 19:43:15 2002 -@@ -48,14 +48,83 @@ +diff -ur irssi-0.8.4.orig/src/irc/dcc/dcc-send.c irssi-0.8.4/src/irc/dcc/dcc-send.c +--- irssi-0.8.4.orig/src/irc/dcc/dcc-send.c Sun Jan 20 04:10:27 2002 ++++ irssi-0.8.4/src/irc/dcc/dcc-send.c Thu Mar 14 02:21:22 2002 +@@ -217,17 +217,87 @@ { if (!IS_DCC_SEND(dcc)) return; + if (dcc->timeout_tag != -1) + g_source_remove(dcc->timeout_tag); + - if (dcc->fhandle != -1) close(dcc->fhandle); + if (dcc->fhandle != -1) + close(dcc->fhandle); + + dcc_queue_send_next(dcc->queue); } +static int sent_too_much(SEND_DCC_REC *dcc) @@ -62,7 +65,8 @@ diff -ur irssi-0.7.98.4/src/irc/dcc/dcc-send.c irssi-0.7.98.4.limited/src/irc/dc + return; + } + -+ g_source_remove(dcc->timeout_tag); ++ if (dcc->timeout_tag != -1) ++ g_source_remove(dcc->timeout_tag); + dcc->timeout_tag = -1; + + dcc->tagwrite = g_input_add(dcc->handle, G_INPUT_WRITE, @@ -102,7 +106,7 @@ diff -ur irssi-0.7.98.4/src/irc/dcc/dcc-send.c irssi-0.7.98.4.limited/src/irc/dc ret = read(dcc->fhandle, buffer, sizeof(buffer)); if (ret <= 0) { -@@ -116,6 +185,7 @@ +@@ -282,6 +352,7 @@ GIOChannel *handle; IPADDR addr; int port; @@ -110,11 +114,10 @@ diff -ur irssi-0.7.98.4/src/irc/dcc/dcc-send.c irssi-0.7.98.4.limited/src/irc/dc /* accept connection */ handle = net_accept(dcc->handle, &addr, &port); -@@ -129,6 +199,14 @@ +@@ -296,6 +366,13 @@ g_source_remove(dcc->tagconn); - net_disconnect(dcc->handle); + dcc->tagconn = -1; -+ dcc->timeout_tag = -1; + dcc->skip_bytes = 0; + dcc->max_speed = settings_get_int("dcc_send_top_speed"); + @@ -125,11 +128,19 @@ diff -ur irssi-0.7.98.4/src/irc/dcc/dcc-send.c irssi-0.7.98.4.limited/src/irc/dc dcc->starttime = time(NULL); dcc->handle = handle; memcpy(&dcc->addr, &addr, sizeof(IPADDR)); -@@ -246,6 +324,7 @@ - { +@@ -429,6 +429,7 @@ + dcc->size = st.st_size; + dcc->fhandle = hfile; + dcc->queue = queue; ++ dcc->timeout_tag = -1; + dcc->file_quoted = strchr(fname, ' ') != NULL; + if (!passive) { + dcc->tagconn = g_input_add(handle, G_INPUT_READ, +@@ -412,6 +490,7 @@ dcc_register_type("SEND"); settings_add_str("dcc", "dcc_upload_path", "~"); + settings_add_bool("dcc", "dcc_send_replace_space_with_underscore", FALSE); + settings_add_int("dcc", "dcc_send_top_speed", 0); - signal_add("dcc destroyed", (SIGNAL_FUNC) sig_dcc_destroyed); command_bind("dcc send", NULL, (SIGNAL_FUNC) cmd_dcc_send); + command_set_options("dcc send", "append flush prepend rmhead rmtail");