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);