Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • protocols/nogaim.c

    r098a75b r5ebff60  
    498498};
    499499
    500 static void imcb_ask_cb_free(void *data)
     500static void imcb_ask_auth_cb_no(void *data)
    501501{
    502502        struct imcb_ask_cb_data *cbd = data;
     503
     504        cbd->ic->acc->prpl->auth_deny(cbd->ic, cbd->handle);
    503505
    504506        g_free(cbd->handle);
     
    506508}
    507509
    508 static void imcb_ask_auth_cb_no(void *data)
     510static void imcb_ask_auth_cb_yes(void *data)
    509511{
    510512        struct imcb_ask_cb_data *cbd = data;
    511513
    512         cbd->ic->acc->prpl->auth_deny(cbd->ic, cbd->handle);
    513 
    514         imcb_ask_cb_free(cbd);
    515 }
    516 
    517 static void imcb_ask_auth_cb_yes(void *data)
    518 {
    519         struct imcb_ask_cb_data *cbd = data;
    520 
    521514        cbd->ic->acc->prpl->auth_allow(cbd->ic, cbd->handle);
    522515
    523         imcb_ask_cb_free(cbd);
     516        g_free(cbd->handle);
     517        g_free(cbd);
    524518}
    525519
     
    541535        data->handle = g_strdup(handle);
    542536        query_add((irc_t *) ic->bee->ui_data, ic, s,
    543                   imcb_ask_auth_cb_yes, imcb_ask_auth_cb_no, imcb_ask_cb_free, data);
    544 
    545         g_free(s);
     537                  imcb_ask_auth_cb_yes, imcb_ask_auth_cb_no, g_free, data);
     538}
     539
     540
     541static void imcb_ask_add_cb_no(void *data)
     542{
     543        g_free(((struct imcb_ask_cb_data*) data)->handle);
     544        g_free(data);
    546545}
    547546
     
    552551        cbd->ic->acc->prpl->add_buddy(cbd->ic, cbd->handle, NULL);
    553552
    554         imcb_ask_cb_free(data);
     553        imcb_ask_add_cb_no(data);
    555554}
    556555
    557556void imcb_ask_add(struct im_connection *ic, const char *handle, const char *realname)
    558557{
    559         struct imcb_ask_cb_data *data;
     558        struct imcb_ask_cb_data *data = g_new0(struct imcb_ask_cb_data, 1);
    560559        char *s;
    561560
     
    565564        }
    566565
    567         data = g_new0(struct imcb_ask_cb_data, 1);
    568 
    569566        s = g_strdup_printf("The user %s is not in your buddy list yet. Do you want to add him/her now?", handle);
    570567
     
    572569        data->handle = g_strdup(handle);
    573570        query_add((irc_t *) ic->bee->ui_data, ic, s,
    574                   imcb_ask_add_cb_yes, imcb_ask_cb_free, imcb_ask_cb_free, data);
    575 
    576         g_free(s);
     571                  imcb_ask_add_cb_yes, imcb_ask_add_cb_no, g_free, data);
    577572}
    578573
Note: See TracChangeset for help on using the changeset viewer.