]> andersk Git - libfaim.git/blobdiff - utils/faimtest/faimtest.c
- Sat Sep 8 17:07:09 PDT 2001
[libfaim.git] / utils / faimtest / faimtest.c
index e339f30072185319b3fc49b573180195dd1fead7..d333fcc2bc4d398116d2fbca24689152234c9f96 100644 (file)
@@ -306,12 +306,10 @@ int main(int argc, char **argv)
                                cmd_gotkey();
                        } else {
                                if (waitingconn->type == AIM_CONN_TYPE_RENDEZVOUS_OUT) {
-#if 0
                                        if (aim_handlerendconnect(&aimsess, waitingconn) < 0) {
                                                dprintf("connection error (rend out)\n");
                                                aim_conn_kill(&aimsess, &waitingconn);
                                        }
-#endif
                                } else {
                                        if (aim_get_command(&aimsess, waitingconn) >= 0) {
                                                aim_rxdispatch(&aimsess);
@@ -319,7 +317,8 @@ int main(int argc, char **argv)
                                                dvprintf("connection error (type 0x%04x:0x%04x)\n", waitingconn->type, waitingconn->subtype);
                                                /* we should have callbacks for all these, else the library will do the conn_kill for us. */
                                                if (waitingconn->type == AIM_CONN_TYPE_RENDEZVOUS) {
-                                                       dprintf("connection error: rendezvous connection. you forgot register a disconnect callback, right?\n");          
+                                                       if (waitingconn->subtype == AIM_CONN_SUBTYPE_OFT_DIRECTIM)
+                                                               dvprintf("disconnected from %s\n", aim_directim_getsn(waitingconn));
                                                        aim_conn_kill(&aimsess, &waitingconn);
                                                } else
                                                        aim_conn_kill(&aimsess, &waitingconn);
@@ -980,6 +979,20 @@ static int faimtest_handlecmd(aim_session_t *sess, aim_conn_t *conn, struct aim_
 
                aim_send_im_ext(sess, conn, &args);
 
+       } else if (strstr(tmpstr, "havefeat")) {
+               struct aim_sendimext_args args;
+               static const char featmsg[] = {"I have nifty features."};
+               fu8_t features[] = {0x01, 0x01, 0x01, 0x02, 0x42, 0x43, 0x44, 0x45};
+
+               args.destsn = userinfo->sn;
+               args.flags = AIM_IMFLAGS_CUSTOMFEATURES;
+               args.msg = featmsg;
+               args.msglen = strlen(featmsg);
+               args.features = features;
+               args.featureslen = sizeof(features);
+
+               aim_send_im_ext(sess, conn, &args);
+
        } else if (strstr(tmpstr, "sendicon") && priv->buddyicon) {
 
                aim_send_icon(sess, conn, userinfo->sn, priv->buddyicon, priv->buddyiconlen, priv->buddyiconstamp, priv->buddyiconsum);
@@ -1042,9 +1055,9 @@ static int faimtest_handlecmd(aim_session_t *sess, aim_conn_t *conn, struct aim_
                aim_getinfo(sess, conn, "midendian", AIM_GETINFO_GENERALINFO);
                aim_getinfo(sess, conn, "midendian", AIM_GETINFO_AWAYMESSAGE);
 
-       } else if (!strncmp(tmpstr, "open directim", 13)) {
+       } else if (strstr(tmpstr, "open directim")) {
 
-               directim_start(sess, conn, (strlen(tmpstr) < 14)?userinfo->sn:tmpstr+14);
+               directim_start(sess, conn, userinfo->sn);
 
        } else if(!(strncmp(tmpstr, "lookup", 6))) {
 
@@ -1114,7 +1127,7 @@ static int faimtest_parse_incoming_im_chan1(aim_session_t *sess, aim_conn_t *con
        args = va_arg(ap, struct aim_incomingim_ch1_args *);
        va_end(ap);
 
-       clienttype = aim_fingerprintclient(args->fingerprint, args->finlen);
+       clienttype = aim_fingerprintclient(args->features, args->featureslen);
 
        dvprintf("faimtest: icbm: sn = \"%s\"\n", userinfo->sn);
        dvprintf("faimtest: icbm: probable client type: %d\n", clienttype);
This page took 0.037919 seconds and 4 git commands to generate.