Merge branch 'master' of git.dolda2000.com:/srv/git/r/doldaconnect
authorFredrik Tolf <fredrik@dolda2000.com>
Tue, 30 Oct 2007 04:39:33 +0000 (05:39 +0100)
committerFredrik Tolf <fredrik@dolda2000.com>
Tue, 30 Oct 2007 04:39:33 +0000 (05:39 +0100)
configure.in
daemon/filenet.c
daemon/filenet.h
daemon/fnet-adc.c
daemon/fnet-dc.c
lib/guile/Makefile.am
lib/guile/autodl
lib/guile/chatlog
lib/guile/hubmgr
po/sv.po

index 47534f4..4f35321 100644 (file)
@@ -1,5 +1,5 @@
 AC_INIT(daemon/main.c)
-AM_INIT_AUTOMAKE([doldaconnect], [1.0])
+AM_INIT_AUTOMAKE([doldaconnect], [1.1])
 AM_CONFIG_HEADER(config.h)
 
 DOLDA_AC_GROUP([Checking build chain])
index f11836f..82ed1d2 100644 (file)
@@ -64,17 +64,8 @@ static struct fnetnode *newfn(struct fnet *fnet)
 void killfnetnode(struct fnetnode *fn)
 {
     fnetsetstate(fn, FNN_DEAD);
-    if(fn->sk != NULL)
-    {
-       fn->sk->close = 1;
-       if(fn->sk->data == fn)
-       {
-           fn->sk->data = NULL;
-           putfnetnode(fn);
-       }
-       putsock(fn->sk);
-       fn->sk = NULL;
-    }
+    if(fn->connected)
+       fn->fnet->kill(fn);
 }
 
 void getfnetnode(struct fnetnode *fn)
@@ -107,7 +98,7 @@ void putfnetnode(struct fnetnode *fn)
     CBCHAINFREE(fn, fnetpeer_new);
     CBCHAINFREE(fn, fnetpeer_del);
     CBCHAINFREE(fn, fnetpeer_chdi);
-    if(fn->fnet->destroy != NULL)
+    if((fn->fnet->destroy != NULL) && fn->connected)
        fn->fnet->destroy(fn);
     while(fn->args != NULL)
        freewcspair(fn->args, &fn->args);
@@ -119,8 +110,6 @@ void putfnetnode(struct fnetnode *fn)
        free(fn->pubid);
     if(fn->name != NULL)
        free(fn->name);
-    if(fn->sk != NULL)
-       putsock(fn->sk);
     if(fn->owner != NULL)
        free(fn->owner);
     free(fn);
@@ -171,11 +160,12 @@ static void conncb(struct socket *sk, int err, struct fnetnode *data)
        putfnetnode(data);
        return;
     }
-    data->sk = sk;
     fnetsetstate(data, FNN_HS);
     socksettos(sk, confgetint("fnet", "fntos"));
-    data->fnet->connect(data);
+    data->fnet->connect(data, sk);
+    data->connected = 1;
     putfnetnode(data);
+    putsock(sk);
 }
 
 static void resolvecb(struct sockaddr *addr, int addrlen, struct fnetnode *data)
@@ -387,7 +377,7 @@ int fnetsetnick(struct fnetnode *fn, wchar_t *newnick)
 {
     int ret;
     
-    if(fn->fnet->setnick != NULL)
+    if((fn->fnet->setnick != NULL) && fn->connected)
        ret = fn->fnet->setnick(fn, newnick);
     else
        ret = 0;
@@ -402,7 +392,7 @@ int fnetsetnick(struct fnetnode *fn, wchar_t *newnick)
 
 int fnetsendchat(struct fnetnode *fn, int public, wchar_t *to, wchar_t *string)
 {
-    if(fn->fnet->sendchat == NULL)
+    if((fn->fnet->sendchat == NULL) || !fn->connected)
     {
        errno = ENOTSUP;
        return(-1);
index 4c49dfa..d6a73dd 100644 (file)
@@ -44,8 +44,9 @@ struct fnet
 {
     struct fnet *next;
     wchar_t *name;
-    void (*connect)(struct fnetnode *fn);
+    void (*connect)(struct fnetnode *fn, struct socket *sk);
     void (*destroy)(struct fnetnode *fn);
+    void (*kill)(struct fnetnode *fn);
     int (*setnick)(struct fnetnode *fn, wchar_t *newnick);
     int (*reqconn)(struct fnetpeer *peer);
     int (*sendchat)(struct fnetnode *fn, int public, wchar_t *to, wchar_t *string);
@@ -99,12 +100,12 @@ struct fnetnode
     int state;
     int linked;
     int regstatus;
+    int connected;
     time_t srchwait, lastsrch;
     wchar_t *name, *pubid;
     wchar_t *mynick;
     wchar_t *owner;
     struct fnet *fnet;
-    struct socket *sk;
     struct fnetpeerdatum *peerdata;
     struct fnetpeer *peers;
     struct wcspair *args;
index 98d760f..2e920e6 100644 (file)
@@ -59,6 +59,7 @@ struct qcmd {
 };
 
 struct adchub {
+    struct socket *sk;
     char *inbuf;
     size_t inbufdata, inbufsize;
     wchar_t *sid;
@@ -198,8 +199,8 @@ static void freeqcmd(struct qcmd *qcmd)
 #define UNUSED
 #endif
 #define ADC_CMDCOM \
-       struct socket *sk UNUSED = fn->sk; \
-       struct adchub *hub UNUSED = fn->data;
+       struct adchub *hub UNUSED = fn->data; \
+       struct socket *sk UNUSED = hub->sk;
 
 ADC_CMDFN(cmd_sup)
 {
@@ -351,14 +352,14 @@ static void huberr(struct socket *sk, int err, struct fnetnode *fn)
     killfnetnode(fn);
 }
 
-static void hubconnect(struct fnetnode *fn)
+static void hubconnect(struct fnetnode *fn, struct socket *sk)
 {
     struct adchub *hub;
     
-    fn->sk->readcb = (void (*)(struct socket *, void *))hubread;
-    fn->sk->errcb = (void (*)(struct socket *, int, void *))huberr;
-    fn->sk->data = fn;
-    getfnetnode(fn);
+    getsock(hub->sk = sk);
+    sk->readcb = (void (*)(struct socket *, void *))hubread;
+    sk->errcb = (void (*)(struct socket *, int, void *))huberr;
+    sk->data = fn;
     
     hub = smalloc(sizeof(*hub));
     memset(hub, 0, sizeof(*hub));
@@ -368,15 +369,14 @@ static void hubconnect(struct fnetnode *fn)
        return;
     }
     fn->data = hub;
-    sendadc(fn->sk, 0, L"HSUP", L"ADBASE", eoc, NULL);
+    sendadc(sk, 0, L"HSUP", L"ADBASE", eoc, NULL);
 }
 
 static void hubdestroy(struct fnetnode *fn)
 {
     struct adchub *hub;
     
-    if((hub = fn->data) == NULL)
-       return;
+    hub = fn->data;
     iconv_close(hub->ich);
     if(hub->inbuf != NULL)
        free(hub->inbuf);
@@ -385,6 +385,14 @@ static void hubdestroy(struct fnetnode *fn)
     free(hub);
 }
 
+static void hubkill(struct fnetnode *fn)
+{
+    struct adchub *hub;
+    
+    hub = fn->data;
+    hub->sk->close = 1;
+}
+
 static int hubsetnick(struct fnetnode *fn, wchar_t *newnick)
 {
     return(0);
@@ -398,6 +406,7 @@ static int hubreqconn(struct fnetpeer *peer)
 static struct fnet adcnet_store = {
     .connect = hubconnect,
     .destroy = hubdestroy,
+    .kill = hubkill,
     .setnick = hubsetnick,
     .reqconn = hubreqconn,
     .name = L"adc"
@@ -420,7 +429,7 @@ static int run(void)
        if((hub = fn->data) == NULL)
            continue;
        if((qcmd = ulqcmd(&hub->queue)) != NULL) {
-           if((fn->sk != NULL) && (fn->sk->state == SOCK_EST))
+           if((hub->sk != NULL) && (hub->sk->state == SOCK_EST))
                dispatch(qcmd, fn);
            freeqcmd(qcmd);
            ret = 1;
index 880b1e3..3618b12 100644 (file)
@@ -101,6 +101,7 @@ struct qcommand
 
 struct dchub
 {
+    struct socket *sk;
     char *inbuf;
     size_t inbufdata, inbufsize;
     struct qcommand *queue;
@@ -1127,7 +1128,7 @@ static void cmd_search(struct socket *sk, struct fnetnode *fn, char *cmd, char *
            goto out;
        prefix = sprintf2("$SR %s ", hub->nativenick);
        infix = sprintf2(" %i/%i\005", slotsleft(), confgetint("transfer", "slots"));
-       postfix = sprintf2(" (%s)\005%s|", formataddress(fn->sk->remote, fn->sk->remotelen), args + 4);
+       postfix = sprintf2(" (%s)\005%s|", formataddress(hub->sk->remote, hub->sk->remotelen), args + 4);
        dsk = sk;
        getsock(dsk);
     } else {
@@ -1140,7 +1141,7 @@ static void cmd_search(struct socket *sk, struct fnetnode *fn, char *cmd, char *
        addr.sin_port = htons(atoi(p2));
        prefix = sprintf2("$SR %s ", hub->nativenick);
        infix = sprintf2(" %i/%i\005", slotsleft(), confgetint("transfer", "slots"));
-       postfix = sprintf2(" (%s)|", formataddress(fn->sk->remote, fn->sk->remotelen));
+       postfix = sprintf2(" (%s)|", formataddress(hub->sk->remote, hub->sk->remotelen));
        netdgramconn(dsk = netdupsock(udpsock), (struct sockaddr *)&addr, sizeof(addr));
     }
     
@@ -1392,7 +1393,7 @@ static void cmd_to(struct socket *sk, struct fnetnode *fn, char *cmd, char *args
        return;
     *p2 = 0;
     p2 += 2;
-    hubrecvchat(fn->sk, fn, p, p2);
+    hubrecvchat(hub->sk, fn, p, p2);
     hubhandleaction(sk, fn, cmd, args);
 }
 
@@ -2339,10 +2340,10 @@ static int hubreqconn(struct fnetpeer *peer)
        return(1); /* Shouldn't happen, of course, but who knows... */
     if(tcpsock != NULL)
     {
-       sendctm(peer->fn->sk, mbsnick);
+       sendctm(hub->sk, mbsnick);
        expectpeer(mbsnick, peer->fn);
     } else {
-       qstrf(peer->fn->sk, "$RevConnectToMe %s %s|", hub->nativenick, mbsnick);
+       qstrf(hub->sk, "$RevConnectToMe %s %s|", hub->nativenick, mbsnick);
     }
     free(mbsnick);
     return(0);
@@ -2382,12 +2383,12 @@ static int hubsendchat(struct fnetnode *fn, int public, wchar_t *to, wchar_t *st
     {
        if(*to == L'\0')
        {
-           qstrf(fn->sk, "<%s> %s|", hub->nativenick, mbsstring);
+           qstrf(hub->sk, "<%s> %s|", hub->nativenick, mbsstring);
        } else {
-           qstrf(fn->sk, "$To: %s From: %s $<%s> %s|", mbsto, hub->nativenick, hub->nativenick, mbsstring);
+           qstrf(hub->sk, "$To: %s From: %s $<%s> %s|", mbsto, hub->nativenick, hub->nativenick, mbsstring);
        }
     } else {
-       qstrf(fn->sk, "$To: %s From: %s $<%s> %s|", mbsto, hub->nativenick, hub->nativenick, mbsstring);
+       qstrf(hub->sk, "$To: %s From: %s $<%s> %s|", mbsto, hub->nativenick, hub->nativenick, mbsstring);
     }
     free(mbsto);
     free(mbsstring);
@@ -2502,7 +2503,7 @@ static int hubsearch(struct fnetnode *fn, struct search *srch, struct srchfnnlis
     struct hash *hash;
     
     hub = fn->data;
-    if((fn->state != FNN_EST) || (fn->sk == NULL) || (fn->sk->state != SOCK_EST))
+    if((fn->state != FNN_EST) || (hub->sk == NULL) || (hub->sk->state != SOCK_EST))
        return(1);
     list = findsexprstrs(srch->sexpr);
     findsizelimit(srch->sexpr, &minsize, &maxsize);
@@ -2580,15 +2581,15 @@ static int hubsearch(struct fnetnode *fn, struct search *srch, struct srchfnnlis
     addtobuf(sstr, 0);
     if(tcpsock != NULL)
     {
-       if(sockgetremotename2(udpsock, fn->sk, &name, &namelen) < 0)
+       if(sockgetremotename2(udpsock, hub->sk, &name, &namelen) < 0)
        {
            flog(LOG_WARNING, "cannot get address of UDP socket");
        } else {
-           qstrf(fn->sk, "$Search %s %s|", formataddress(name, namelen), sstr);
+           qstrf(hub->sk, "$Search %s %s|", formataddress(name, namelen), sstr);
            free(name);
        }
     } else {
-       qstrf(fn->sk, "$Search Hub:%s %s|", hub->nativenick, sstr);
+       qstrf(hub->sk, "$Search Hub:%s %s|", hub->nativenick, sstr);
     }
     free(sstr);
     freesl(&list);
@@ -2920,10 +2921,13 @@ static void udpread(struct socket *sk, void *data)
        {
            for(fn = fnetnodes; fn != NULL; fn = fn->next)
            {
-               if((fn->fnet == &dcnet) && (fn->sk != NULL) && addreq(fn->sk->remote, (struct sockaddr *)&hubaddr))
+               if((fn->fnet == &dcnet) && ((hub = fn->data) != NULL))
                {
-                   myfn = fn;
-                   break;
+                   if((hub->sk != NULL) && addreq(hub->sk->remote, (struct sockaddr *)&hubaddr))
+                   {
+                       myfn = fn;
+                       break;
+                   }
                }
            }
        }
@@ -3123,13 +3127,15 @@ static void freedcpeer(struct dcpeer *peer)
     numdcpeers--;
 }
 
-static void hubconnect(struct fnetnode *fn)
+static void hubconnect(struct fnetnode *fn, struct socket *sk)
 {
-    fn->sk->readcb = (void (*)(struct socket *, void *))hubread;
-    fn->sk->errcb = (void (*)(struct socket *, int, void *))huberr;
-    getfnetnode(fn);
-    fn->data = newdchub(fn);
-    fn->sk->data = fn;
+    struct dchub *hub;
+    
+    sk->readcb = (void (*)(struct socket *, void *))hubread;
+    sk->errcb = (void (*)(struct socket *, int, void *))huberr;
+    fn->data = hub = newdchub(fn);
+    sk->data = fn;
+    getsock(hub->sk = sk);
     return;
 }
 
@@ -3140,15 +3146,7 @@ static void hubdestroy(struct fnetnode *fn)
     struct qcommand *qcmd;
     
     hub = (struct dchub *)fn->data;
-    if((fn->sk != NULL) && (fn->sk->data == fn))
-    {
-       fn->sk->data = NULL;
-       fn->sk->readcb = NULL;
-       fn->sk->errcb = NULL;
-       putfnetnode(fn);
-    }
-    if(hub == NULL)
-       return;
+    putsock(hub->sk);
     while((qcmd = ulqcmd(&hub->queue)) != NULL)
        freeqcmd(qcmd);
     if(hub->supports != NULL)
@@ -3168,6 +3166,14 @@ static void hubdestroy(struct fnetnode *fn)
     free(hub);
 }
 
+static void hubkill(struct fnetnode *fn)
+{
+    struct dchub *hub;
+    
+    hub = (struct dchub *)fn->data;
+    hub->sk->close = 1;
+}
+
 static wchar_t *dcbasename(wchar_t *filename)
 {
     wchar_t *ret;
@@ -3190,6 +3196,7 @@ static struct fnet dcnet =
     .name = L"dc",
     .connect = hubconnect,
     .destroy = hubdestroy,
+    .kill = hubkill,
     .setnick = hubsetnick,
     .reqconn = hubreqconn,
     .sendchat = hubsendchat,
@@ -3721,10 +3728,10 @@ static int run(void)
        {
            if(*qcmd->string == '$')
            {
-               if((fn->sk != NULL) && (fn->sk->state == SOCK_EST))
-                   dispatchcommand(qcmd, hubcmds, fn->sk, fn);
+               if((hub->sk != NULL) && (hub->sk->state == SOCK_EST))
+                   dispatchcommand(qcmd, hubcmds, hub->sk, fn);
            } else if(*qcmd->string != 0) {
-               hubrecvchat(fn->sk, fn, NULL, qcmd->string);
+               hubrecvchat(hub->sk, fn, NULL, qcmd->string);
            }
            freeqcmd(qcmd);
            ret = 1;
index 8f4096e..6b4e664 100644 (file)
@@ -1,6 +1,6 @@
 SUBDIRS=dolcon
 
-EXTRA_DIST=autodl chatlog hubmgr dcruncmd
+dist_bin_SCRIPTS=autodl chatlog hubmgr dcruncmd
 
 lib_LTLIBRARIES=libdolcon-guile.la
 
index ff21b84..b6498de 100755 (executable)
@@ -19,7 +19,7 @@
 ;  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
 (use-modules (dolcon ui))
-(use-modules (ice-9 pretty-print))
+(use-modules (ice-9 pretty-print) (ice-9 rdelim))
 
 (define sr '())
 (define lastsearch 0)
index 950aa07..d66489e 100755 (executable)
@@ -19,7 +19,7 @@
 ;  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
 (use-modules (dolcon ui))
-(use-modules (ice-9 pretty-print))
+(use-modules (ice-9 pretty-print) (ice-9 rdelim))
 
 (define fnetnodes '())
 
index 39b4f43..48c2b65 100755 (executable)
@@ -19,7 +19,7 @@
 ;  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
 (use-modules (dolcon ui) (dolcon util))
-(use-modules (ice-9 format))
+(use-modules (ice-9 format) (ice-9 rdelim))
 
 (define max-hubs 6)
 (define hub-list '())
index 05fb117..bd4cfae 100644 (file)
--- a/po/sv.po
+++ b/po/sv.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: doldaconnect 0.1.1\n"
 "Report-Msgid-Bugs-To: fredrik@dolda2000.com\n"
-"POT-Creation-Date: 2007-10-15 02:19+0200\n"
+"POT-Creation-Date: 2007-10-22 00:12+0200\n"
 "PO-Revision-Date: 2007-08-31 03:37+0200\n"
 "Last-Translator: Fredrik Tolf <fredrik@dolda2000.com>\n"
 "Language-Team: Swedish <sv@li.org>\n"
@@ -41,7 +41,7 @@ msgstr "%H:%M:%S"
 msgid "%s (reported at %s)"
 msgstr "%s (rapporterades kl. %s)"
 
-#: clients/gtk2/dolcon.c:624 clients/gtk2/dolcon.c:2312
+#: clients/gtk2/dolcon.c:624 clients/gtk2/dolcon.c:2315
 msgid "Disconnected"
 msgstr "Frånkopplad"
 
@@ -78,23 +78,23 @@ msgstr "Inloggningsförsöket misslyckades!"
 msgid "Discrete sizes"
 msgstr "Enskilda storlekar"
 
-#: clients/gtk2/dolcon.c:1027 clients/gui-shell/dsh.c:351
+#: clients/gtk2/dolcon.c:1028 clients/gui-shell/dsh.c:351
 msgid "The server refused the connection"
 msgstr "Servern vägrade förbindelsen"
 
-#: clients/gtk2/dolcon.c:1031 clients/gui-shell/dsh.c:354
+#: clients/gtk2/dolcon.c:1032 clients/gui-shell/dsh.c:354
 msgid "Server protocol revision mismatch"
 msgstr "Fel protokoll-revision hos servern"
 
-#: clients/gtk2/dolcon.c:1037
+#: clients/gtk2/dolcon.c:1038
 msgid "Connected"
 msgstr "Ansluten"
 
-#: clients/gtk2/dolcon.c:1265
+#: clients/gtk2/dolcon.c:1266
 msgid "The server has closed the connection"
 msgstr "Servern har stängt förbindelsen"
 
-#: clients/gtk2/dolcon.c:1267
+#: clients/gtk2/dolcon.c:1268
 #, c-format
 msgid ""
 "The connection to the server failed:\n"
@@ -105,11 +105,11 @@ msgstr ""
 "\n"
 "%s"
 
-#: clients/gtk2/dolcon.c:1287
+#: clients/gtk2/dolcon.c:1288
 msgid "Preferences"
 msgstr "Inställningar"
 
-#: clients/gtk2/dolcon.c:1326
+#: clients/gtk2/dolcon.c:1328
 #, c-format
 msgid ""
 "Could not connect:\n"
@@ -120,107 +120,107 @@ msgstr ""
 "\n"
 "%s"
 
-#: clients/gtk2/dolcon.c:1333 clients/gtk2/hublist.c:206
+#: clients/gtk2/dolcon.c:1335 clients/gtk2/hublist.c:206
 #: clients/gnome-trans-applet/dolcon-trans-applet.c:113
 msgid "Connecting..."
 msgstr "Ansluter..."
 
-#: clients/gtk2/dolcon.c:1342
+#: clients/gtk2/dolcon.c:1344
 msgid "Connect"
 msgstr "Anslut"
 
-#: clients/gtk2/dolcon.c:1342
+#: clients/gtk2/dolcon.c:1344
 msgid "Server address:"
 msgstr "Serverns adress:"
 
-#: clients/gtk2/dolcon.c:1355 clients/gtk2/dolcon.c:1376
-#: clients/gtk2/dolcon.c:1474 clients/gtk2/dolcon.c:1516
-#: clients/gtk2/dolcon.c:1580 clients/gtk2/dolcon.c:1668
-#: clients/gtk2/dolcon.c:1765
+#: clients/gtk2/dolcon.c:1357 clients/gtk2/dolcon.c:1378
+#: clients/gtk2/dolcon.c:1476 clients/gtk2/dolcon.c:1518
+#: clients/gtk2/dolcon.c:1582 clients/gtk2/dolcon.c:1670
+#: clients/gtk2/dolcon.c:1767
 msgid "Not connected to DC server"
 msgstr "Ej ansluten till DC-servern"
 
-#: clients/gtk2/dolcon.c:1362 clients/gtk2/dolcon.c:1395
-#: clients/gtk2/dolcon.c:1487 clients/gtk2/dolcon.c:1534
-#: clients/gtk2/dolcon.c:1593 clients/gtk2/dolcon.c:1686
-#: clients/gtk2/dolcon.c:1741 clients/gtk2/dolcon.c:1812
-#: clients/gtk2/dolcon.c:1937 clients/gtk2/dolcon.c:1964
+#: clients/gtk2/dolcon.c:1364 clients/gtk2/dolcon.c:1397
+#: clients/gtk2/dolcon.c:1489 clients/gtk2/dolcon.c:1536
+#: clients/gtk2/dolcon.c:1595 clients/gtk2/dolcon.c:1688
+#: clients/gtk2/dolcon.c:1743 clients/gtk2/dolcon.c:1814
+#: clients/gtk2/dolcon.c:1939 clients/gtk2/dolcon.c:1966
 msgid "You do not have permission to do that"
 msgstr "Du har inte tillstånd att göra det"
 
-#: clients/gtk2/dolcon.c:1382
+#: clients/gtk2/dolcon.c:1384
 msgid "Illegal address entered"
 msgstr "Ogiltig adress"
 
-#: clients/gtk2/dolcon.c:1397 clients/gtk2/dolcon.c:1536
+#: clients/gtk2/dolcon.c:1399 clients/gtk2/dolcon.c:1538
 msgid "The server could not parse that address"
 msgstr "Servern kunde inte tolka den adressen"
 
-#: clients/gtk2/dolcon.c:1399 clients/gtk2/dolcon.c:1538
+#: clients/gtk2/dolcon.c:1401 clients/gtk2/dolcon.c:1540
 msgid "There are too many hubs connected"
 msgstr "För många hubbar är anslutna"
 
-#: clients/gtk2/dolcon.c:1479 clients/gtk2/dolcon.c:1585
+#: clients/gtk2/dolcon.c:1481 clients/gtk2/dolcon.c:1587
 msgid "No hub selected"
 msgstr "Ingen hub vald"
 
-#: clients/gtk2/dolcon.c:1595
+#: clients/gtk2/dolcon.c:1597
 msgid ""
 "This hub could not support all the types of characters in your chat message"
 msgstr "Den här hubben klarar inte av alla sorters bokstäver i ditt meddelande"
 
-#: clients/gtk2/dolcon.c:1597
+#: clients/gtk2/dolcon.c:1599
 msgid "This hub does not support chatting"
 msgstr "Den här hubben klarar inte av att chatta"
 
-#: clients/gtk2/dolcon.c:1599
+#: clients/gtk2/dolcon.c:1601
 #, c-format
 msgid "An error occurred while trying to chat (%i)"
 msgstr "Ett fel uppstod under försöket att chatta (%i)"
 
-#: clients/gtk2/dolcon.c:1676
+#: clients/gtk2/dolcon.c:1678
 msgid "Please enter a search expression before searching"
 msgstr "Skriv in ett sökuttryck först"
 
-#: clients/gtk2/dolcon.c:1684
+#: clients/gtk2/dolcon.c:1686
 msgid "Could not find any hubs to search on"
 msgstr "Kunde inte hitta någon hub att söka på"
 
-#: clients/gtk2/dolcon.c:1688
+#: clients/gtk2/dolcon.c:1690
 msgid "The server could not parse your search expression"
 msgstr "Servern kunde inte tolka ditt sökuttryck"
 
-#: clients/gtk2/dolcon.c:1690
+#: clients/gtk2/dolcon.c:1692
 #, c-format
 msgid "An error occurred while trying to search (%i)"
 msgstr "Ett fel uppstod under försöket att söka (%i)"
 
-#: clients/gtk2/dolcon.c:1743 clients/gtk2/dolcon.c:1966
+#: clients/gtk2/dolcon.c:1745 clients/gtk2/dolcon.c:1968
 #, c-format
 msgid "An error occurred while trying to cancel (%i)"
 msgstr "Ett fel uppstod under försöket att avbryta (%i)"
 
-#: clients/gtk2/dolcon.c:1814
+#: clients/gtk2/dolcon.c:1816
 #, c-format
 msgid "An error occurred while trying to queue the download (%i)"
 msgstr "Ett fel uppstod under försöket att lägga till nerladdningen (%i)"
 
-#: clients/gtk2/dolcon.c:1939
+#: clients/gtk2/dolcon.c:1941
 #, c-format
 msgid "An error occurred while trying to reset (%i)"
 msgstr "Ett fel uppstod under försöket att återställa (%i)"
 
-#: clients/gtk2/dolcon.c:2074
+#: clients/gtk2/dolcon.c:2077
 #, c-format
 msgid "An error occurred (%ls)"
 msgstr "Ett fel uppstod (%ls)"
 
-#: clients/gtk2/dolcon.c:2192 clients/gtk2/mainwnd.gtk:470
+#: clients/gtk2/dolcon.c:2195 clients/gtk2/mainwnd.gtk:470
 #, c-format
 msgid "Ready to search"
 msgstr "Redo att söka"
 
-#: clients/gtk2/dolcon.c:2194
+#: clients/gtk2/dolcon.c:2197
 #, c-format
 msgid "Search scheduled and will be submitted in %i seconds"
 msgstr "Sökningen är schemalagd och kommer genomföras om %i sekunder"