Mercurial > pidgin
comparison src/protocols/oscar/oscar.c @ 3466:7a3f16a375a5
[gaim-migrate @ 3516]
some patches from some people.
committer: Tailor Script <tailor@pidgin.im>
author | Sean Egan <seanegan@gmail.com> |
---|---|
date | Thu, 29 Aug 2002 01:47:15 +0000 |
parents | 66b1ad9782a9 |
children | 16f4776742af |
comparison
equal
deleted
inserted
replaced
3465:ec437d73b2ee | 3466:7a3f16a375a5 |
---|---|
1816 va_start(ap, fr); | 1816 va_start(ap, fr); |
1817 reason = (fu16_t)va_arg(ap, unsigned int); | 1817 reason = (fu16_t)va_arg(ap, unsigned int); |
1818 destn = va_arg(ap, char *); | 1818 destn = va_arg(ap, char *); |
1819 va_end(ap); | 1819 va_end(ap); |
1820 | 1820 |
1821 sprintf(buf, _("Your message to %s did not get sent: %s"), destn); | 1821 sprintf(buf, _("Your message to %s did not get sent:"), destn); |
1822 do_error_dialog(buf, (reason < msgerrreasonlen) ? msgerrreason[reason] : _("No reason was given."), GAIM_ERROR); | 1822 do_error_dialog(buf, (reason < msgerrreasonlen) ? msgerrreason[reason] : _("No reason was given."), GAIM_ERROR); |
1823 | 1823 |
1824 return 1; | 1824 return 1; |
1825 } | 1825 } |
1826 | 1826 |
1833 va_start(ap, fr); | 1833 va_start(ap, fr); |
1834 reason = (fu16_t)va_arg(ap, unsigned int); | 1834 reason = (fu16_t)va_arg(ap, unsigned int); |
1835 destn = va_arg(ap, char *); | 1835 destn = va_arg(ap, char *); |
1836 va_end(ap); | 1836 va_end(ap); |
1837 | 1837 |
1838 sprintf(buf, _("User information for %s unavailable: %s"), destn); | 1838 sprintf(buf, _("User information for %s unavailable:"), destn); |
1839 do_error_dialog(buf, (reason < msgerrreasonlen) ? msgerrreason[reason] : _("No reason was given."), GAIM_ERROR); | 1839 do_error_dialog(buf, (reason < msgerrreasonlen) ? msgerrreason[reason] : _("No reason was given."), GAIM_ERROR); |
1840 | 1840 |
1841 return 1; | 1841 return 1; |
1842 } | 1842 } |
1843 | 1843 |
2841 static void oscar_get_caps(struct gaim_connection *g, char *name) { | 2841 static void oscar_get_caps(struct gaim_connection *g, char *name) { |
2842 struct oscar_data *odata = (struct oscar_data *)g->proto_data; | 2842 struct oscar_data *odata = (struct oscar_data *)g->proto_data; |
2843 aim_getinfo(odata->sess, odata->conn, name, AIM_GETINFO_CAPABILITIES); | 2843 aim_getinfo(odata->sess, odata->conn, name, AIM_GETINFO_CAPABILITIES); |
2844 } | 2844 } |
2845 | 2845 |
2846 static void oscar_set_dir(struct gaim_connection *g, char *first, char *middle, char *last, | 2846 static void oscar_set_dir(struct gaim_connection *g, const char *first, const char *middle, const char *last, |
2847 char *maiden, char *city, char *state, char *country, int web) { | 2847 const char *maiden, const char *city, const char *state, const char *country, int web) { |
2848 /* FIXME : some of these things are wrong, but i'm lazy */ | 2848 /* FIXME : some of these things are wrong, but i'm lazy */ |
2849 struct oscar_data *odata = (struct oscar_data *)g->proto_data; | 2849 struct oscar_data *odata = (struct oscar_data *)g->proto_data; |
2850 aim_setdirectoryinfo(odata->sess, odata->conn, first, middle, last, | 2850 aim_setdirectoryinfo(odata->sess, odata->conn, first, middle, last, |
2851 maiden, NULL, NULL, city, state, NULL, 0, web); | 2851 maiden, NULL, NULL, city, state, NULL, 0, web); |
2852 } | 2852 } |
2973 static void oscar_warn(struct gaim_connection *g, char *name, int anon) { | 2973 static void oscar_warn(struct gaim_connection *g, char *name, int anon) { |
2974 struct oscar_data *odata = (struct oscar_data *)g->proto_data; | 2974 struct oscar_data *odata = (struct oscar_data *)g->proto_data; |
2975 aim_send_warning(odata->sess, odata->conn, name, anon ? AIM_WARN_ANON : 0); | 2975 aim_send_warning(odata->sess, odata->conn, name, anon ? AIM_WARN_ANON : 0); |
2976 } | 2976 } |
2977 | 2977 |
2978 static void oscar_dir_search(struct gaim_connection *g, char *first, char *middle, char *last, | 2978 static void oscar_dir_search(struct gaim_connection *g, const char *first, const char *middle, const char *last, |
2979 char *maiden, char *city, char *state, char *country, char *email) { | 2979 const char *maiden, const char *city, const char *state, const char *country, const char *email) { |
2980 struct oscar_data *odata = (struct oscar_data *)g->proto_data; | 2980 struct oscar_data *odata = (struct oscar_data *)g->proto_data; |
2981 if (strlen(email)) | 2981 if (strlen(email)) |
2982 aim_usersearch_address(odata->sess, odata->conn, email); | 2982 aim_usersearch_address(odata->sess, odata->conn, email); |
2983 } | 2983 } |
2984 | 2984 |
2985 static void oscar_add_buddy(struct gaim_connection *g, char *name) { | 2985 static void oscar_add_buddy(struct gaim_connection *g, const char *name) { |
2986 struct oscar_data *odata = (struct oscar_data *)g->proto_data; | 2986 struct oscar_data *odata = (struct oscar_data *)g->proto_data; |
2987 if (odata->icq) { | 2987 if (odata->icq) { |
2988 aim_add_buddy(odata->sess, odata->conn, name); | 2988 aim_add_buddy(odata->sess, odata->conn, name); |
2989 } else { | 2989 } else { |
2990 if ((odata->sess->ssi.received_data) && !(aim_ssi_itemlist_finditem(odata->sess->ssi.items, NULL, name, 0x0000))) { | 2990 if ((odata->sess->ssi.received_data) && !(aim_ssi_itemlist_finditem(odata->sess->ssi.items, NULL, name, 0x0000))) { |
3122 static int gaim_ssi_parselist(aim_session_t *sess, aim_frame_t *fr, ...) { | 3122 static int gaim_ssi_parselist(aim_session_t *sess, aim_frame_t *fr, ...) { |
3123 struct gaim_connection *gc = sess->aux_data; | 3123 struct gaim_connection *gc = sess->aux_data; |
3124 struct oscar_data *odata = (struct oscar_data *)gc->proto_data; | 3124 struct oscar_data *odata = (struct oscar_data *)gc->proto_data; |
3125 struct aim_ssi_item *curitem; | 3125 struct aim_ssi_item *curitem; |
3126 int tmp; | 3126 int tmp; |
3127 char **sns; | 3127 const char **sns; |
3128 | 3128 |
3129 debug_printf("ssi: syncing local list and server list\n"); | 3129 debug_printf("ssi: syncing local list and server list\n"); |
3130 | 3130 |
3131 if (odata->icq) | 3131 if (odata->icq) |
3132 return 1; | 3132 return 1; |
3216 tmp = 0; | 3216 tmp = 0; |
3217 for (curbud=((struct group*)cur->data)->members; curbud; curbud=curbud->next) | 3217 for (curbud=((struct group*)cur->data)->members; curbud; curbud=curbud->next) |
3218 if (!aim_ssi_itemlist_finditem(sess->ssi.items, NULL, ((struct buddy*)curbud->data)->name, 0x0000)) | 3218 if (!aim_ssi_itemlist_finditem(sess->ssi.items, NULL, ((struct buddy*)curbud->data)->name, 0x0000)) |
3219 tmp++; | 3219 tmp++; |
3220 if (tmp) { | 3220 if (tmp) { |
3221 sns = (char **)malloc(tmp*sizeof(char*)); | 3221 sns = malloc(tmp*sizeof(char*)); |
3222 tmp = 0; | 3222 tmp = 0; |
3223 for (curbud=((struct group*)cur->data)->members; curbud; curbud=curbud->next) | 3223 for (curbud=((struct group*)cur->data)->members; curbud; curbud=curbud->next) |
3224 if (!aim_ssi_itemlist_finditem(sess->ssi.items, NULL, ((struct buddy*)curbud->data)->name, 0x0000)) { | 3224 if (!aim_ssi_itemlist_finditem(sess->ssi.items, NULL, ((struct buddy*)curbud->data)->name, 0x0000)) { |
3225 debug_printf("ssi: adding buddy %s from local list to server list\n", ((struct buddy*)curbud->data)->name); | 3225 debug_printf("ssi: adding buddy %s from local list to server list\n", ((struct buddy*)curbud->data)->name); |
3226 sns[tmp] = ((char *)((struct buddy*)curbud->data)->name); | 3226 sns[tmp] = ((char *)((struct buddy*)curbud->data)->name); |
3237 tmp = 0; | 3237 tmp = 0; |
3238 for (cur=gc->permit; cur; cur=cur->next) | 3238 for (cur=gc->permit; cur; cur=cur->next) |
3239 if (!aim_ssi_itemlist_finditem(sess->ssi.items, NULL, cur->data, 0x0002)) | 3239 if (!aim_ssi_itemlist_finditem(sess->ssi.items, NULL, cur->data, 0x0002)) |
3240 tmp++; | 3240 tmp++; |
3241 if (tmp) { | 3241 if (tmp) { |
3242 sns = (char **)malloc(tmp*sizeof(char*)); | 3242 sns = malloc(tmp*sizeof(char*)); |
3243 tmp = 0; | 3243 tmp = 0; |
3244 for (cur=gc->permit; cur; cur=cur->next) | 3244 for (cur=gc->permit; cur; cur=cur->next) |
3245 if (!aim_ssi_itemlist_finditem(sess->ssi.items, NULL, cur->data, 0x0002)) { | 3245 if (!aim_ssi_itemlist_finditem(sess->ssi.items, NULL, cur->data, 0x0002)) { |
3246 debug_printf("ssi: adding permit %s from local list to server list\n", cur->data); | 3246 debug_printf("ssi: adding permit %s from local list to server list\n", cur->data); |
3247 sns[tmp] = cur->data; | 3247 sns[tmp] = cur->data; |
3257 tmp = 0; | 3257 tmp = 0; |
3258 for (cur=gc->deny; cur; cur=cur->next) | 3258 for (cur=gc->deny; cur; cur=cur->next) |
3259 if (!aim_ssi_itemlist_finditem(sess->ssi.items, NULL, cur->data, 0x0003)) | 3259 if (!aim_ssi_itemlist_finditem(sess->ssi.items, NULL, cur->data, 0x0003)) |
3260 tmp++; | 3260 tmp++; |
3261 if (tmp) { | 3261 if (tmp) { |
3262 sns = (char **)malloc(tmp*sizeof(char*)); | 3262 sns = malloc(tmp*sizeof(char*)); |
3263 tmp = 0; | 3263 tmp = 0; |
3264 for (cur=gc->deny; cur; cur=cur->next) | 3264 for (cur=gc->deny; cur; cur=cur->next) |
3265 if (!aim_ssi_itemlist_finditem(sess->ssi.items, NULL, cur->data, 0x0003)) { | 3265 if (!aim_ssi_itemlist_finditem(sess->ssi.items, NULL, cur->data, 0x0003)) { |
3266 debug_printf("ssi: adding deny %s from local list to server list\n", cur->data); | 3266 debug_printf("ssi: adding deny %s from local list to server list\n", cur->data); |
3267 sns[tmp] = cur->data; | 3267 sns[tmp] = cur->data; |
3338 odata->create_rooms = g_slist_append(odata->create_rooms, cr); | 3338 odata->create_rooms = g_slist_append(odata->create_rooms, cr); |
3339 aim_reqservice(odata->sess, odata->conn, AIM_CONN_TYPE_CHATNAV); | 3339 aim_reqservice(odata->sess, odata->conn, AIM_CONN_TYPE_CHATNAV); |
3340 } | 3340 } |
3341 } | 3341 } |
3342 | 3342 |
3343 static void oscar_chat_invite(struct gaim_connection *g, int id, char *message, char *name) { | 3343 static void oscar_chat_invite(struct gaim_connection *g, int id, const char *message, const char *name) { |
3344 struct oscar_data *odata = (struct oscar_data *)g->proto_data; | 3344 struct oscar_data *odata = (struct oscar_data *)g->proto_data; |
3345 struct chat_connection *ccon = find_oscar_chat(g, id); | 3345 struct chat_connection *ccon = find_oscar_chat(g, id); |
3346 | 3346 |
3347 if (!ccon) | 3347 if (!ccon) |
3348 return; | 3348 return; |
3807 if (gc->permdeny != 3) return; | 3807 if (gc->permdeny != 3) return; |
3808 oscar_set_permit_deny(gc); | 3808 oscar_set_permit_deny(gc); |
3809 } else { | 3809 } else { |
3810 debug_printf("ssi: About to add a permit\n"); | 3810 debug_printf("ssi: About to add a permit\n"); |
3811 if (od->sess->ssi.received_data) | 3811 if (od->sess->ssi.received_data) |
3812 aim_ssi_addpord(od->sess, od->conn, &who, 1, AIM_SSI_TYPE_PERMIT); | 3812 aim_ssi_addpord(od->sess, od->conn, (const char **) &who, 1, AIM_SSI_TYPE_PERMIT); |
3813 } | 3813 } |
3814 } | 3814 } |
3815 | 3815 |
3816 static void oscar_add_deny(struct gaim_connection *gc, char *who) { | 3816 static void oscar_add_deny(struct gaim_connection *gc, char *who) { |
3817 struct oscar_data *od = (struct oscar_data *)gc->proto_data; | 3817 struct oscar_data *od = (struct oscar_data *)gc->proto_data; |
3819 if (gc->permdeny != 4) return; | 3819 if (gc->permdeny != 4) return; |
3820 oscar_set_permit_deny(gc); | 3820 oscar_set_permit_deny(gc); |
3821 } else { | 3821 } else { |
3822 debug_printf("ssi: About to add a deny\n"); | 3822 debug_printf("ssi: About to add a deny\n"); |
3823 if (od->sess->ssi.received_data) | 3823 if (od->sess->ssi.received_data) |
3824 aim_ssi_addpord(od->sess, od->conn, &who, 1, AIM_SSI_TYPE_DENY); | 3824 aim_ssi_addpord(od->sess, od->conn, (const char **) &who, 1, AIM_SSI_TYPE_DENY); |
3825 } | 3825 } |
3826 } | 3826 } |
3827 | 3827 |
3828 static void oscar_rem_permit(struct gaim_connection *gc, char *who) { | 3828 static void oscar_rem_permit(struct gaim_connection *gc, char *who) { |
3829 struct oscar_data *od = (struct oscar_data *)gc->proto_data; | 3829 struct oscar_data *od = (struct oscar_data *)gc->proto_data; |
3944 m = g_list_append(m, "Search for Buddy by Email"); | 3944 m = g_list_append(m, "Search for Buddy by Email"); |
3945 | 3945 |
3946 return m; | 3946 return m; |
3947 } | 3947 } |
3948 | 3948 |
3949 static void oscar_change_passwd(struct gaim_connection *gc, char *old, char *new) | 3949 static void oscar_change_passwd(struct gaim_connection *gc, const char *old, const char *new) |
3950 { | 3950 { |
3951 struct oscar_data *od = gc->proto_data; | 3951 struct oscar_data *od = gc->proto_data; |
3952 if (!aim_getconn_type(od->sess, AIM_CONN_TYPE_AUTH)) { | 3952 if (!aim_getconn_type(od->sess, AIM_CONN_TYPE_AUTH)) { |
3953 od->chpass = TRUE; | 3953 od->chpass = TRUE; |
3954 od->oldp = g_strdup(old); | 3954 od->oldp = g_strdup(old); |