Changeset 4211f50b
- Timestamp:
- Oct 24, 2006, 11:45:16 AM (18 years ago)
- Branches:
- master, barnowl_perlaim, debian, release-1.10, release-1.4, release-1.5, release-1.6, release-1.7, release-1.8, release-1.9
- Children:
- 216c734
- Parents:
- 908e388
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
commands.c
rc0a90c2 r4211f50b 2367 2367 char *owl_command_aimlogin(int argc, char **argv, char *buff) 2368 2368 { 2369 int ret;2370 2371 2369 if ((argc<2) || (argc>3)) { 2372 2370 owl_function_makemsg("Wrong number of arguments to aimlogin command"); … … 2376 2374 /* if we get two arguments, ask for the password */ 2377 2375 if (argc==2) { 2378 owl_global_set_buffercommand(&g, buff); 2376 owl_global_set_buffercommand(&g, argv[1]); 2377 owl_global_set_buffercallback(&g, owl_function_aimlogin); 2379 2378 owl_function_start_password("AIM Password: "); 2380 2379 return(NULL); 2381 } 2382 2383 /* clear the buddylist */ 2384 owl_buddylist_clear(owl_global_get_buddylist(&g)); 2385 2386 /* try to login */ 2387 ret=owl_aim_login(argv[1], argv[2]); 2388 if (ret) owl_function_makemsg("Warning: login for %s failed.\n", argv[1]); 2380 } else { 2381 owl_function_aimlogin(argv[1], argv[2]); 2382 } 2389 2383 2390 2384 /* this is a test */ -
functions.c
r1aa2b1a r4211f50b 320 320 321 321 owl_global_set_buffercommand(&g, line); 322 owl_global_set_buffercallback(&g, &owl_function_zwrite); 322 323 } 323 324 … … 350 351 351 352 owl_global_set_buffercommand(&g, line); 353 owl_global_set_buffercallback(&g, &owl_function_aimwrite); 352 354 } 353 355 … … 374 376 375 377 owl_global_set_buffercommand(&g, "loopwrite"); 378 owl_global_set_buffercallback(&g, &owl_function_loopwrite); 376 379 } 377 380 … … 483 486 } 484 487 485 void owl_function_aimwrite(char * to)488 void owl_function_aimwrite(char *line, char *msg) 486 489 { 487 490 int ret; 488 char * msg, *format_msg;491 char *to, *format_msg; 489 492 owl_message *m; 490 493 494 to = line + 9; 495 491 496 /* make a formatted copy of the message */ 492 msg=owl_editwin_get_text(owl_global_get_typwin(&g));493 497 format_msg=owl_strdup(msg); 494 498 owl_text_wordunwrap(format_msg); … … 558 562 } 559 563 560 void owl_function_loopwrite( )564 void owl_function_loopwrite(char *line, char *msg) 561 565 { 562 566 owl_message *min, *mout; … … 565 569 * an incoming message */ 566 570 min=owl_malloc(sizeof(owl_message)); 567 owl_message_create_loopback(min, owl_editwin_get_text(owl_global_get_typwin(&g)));571 owl_message_create_loopback(min, msg); 568 572 owl_message_set_direction_in(min); 569 573 owl_global_messagequeue_addmsg(&g, min); 570 574 571 mout=owl_function_make_outgoing_loopback( owl_editwin_get_text(owl_global_get_typwin(&g)));575 mout=owl_function_make_outgoing_loopback(msg); 572 576 owl_log_message(mout); 573 577 if (owl_global_is_displayoutgoing(&g)) { … … 928 932 owl_function_error("Error subscribing to login messages from file."); 929 933 } 934 } 935 936 void owl_function_aimlogin(char *user, char *passwd) { 937 int ret; 938 939 /* clear the buddylist */ 940 owl_buddylist_clear(owl_global_get_buddylist(&g)); 941 942 /* try to login */ 943 ret=owl_aim_login(user, passwd); 944 if (ret) owl_function_makemsg("Warning: login for %s failed.\n", user); 930 945 } 931 946 … … 1309 1324 void owl_function_run_buffercommand() 1310 1325 { 1311 char *buff, *ptr; 1326 char *buff; 1327 void (*cb)(char*, char*); 1312 1328 1313 1329 buff=owl_global_get_buffercommand(&g); 1314 if (!strncmp(buff, "zwrite ", 7)) { 1315 owl_function_zwrite(buff, owl_editwin_get_text(owl_global_get_typwin(&g))); 1316 } else if (!strncmp(buff, "zcrypt ", 7)) { 1317 owl_function_zcrypt(buff, owl_editwin_get_text(owl_global_get_typwin(&g))); 1318 } else if (!strncmp(buff, "aimwrite ", 9)) { 1319 owl_function_aimwrite(buff+9); 1320 } else if (!strncmp(buff, "loopwrite", 9) || !strncmp(buff, "loopwrite ", 10)) { 1321 owl_function_loopwrite(); 1322 } else if (!strncmp(buff, "aimlogin ", 9)) { 1323 ptr=owl_sprintf("%s %s", buff, owl_global_get_response(&g)); 1324 owl_function_command(ptr); 1325 owl_free(ptr); 1326 } else { 1327 owl_function_error("Internal error: invalid buffercommand %s", buff); 1330 cb=owl_global_get_buffercallback(&g); 1331 if(!cb) { 1332 owl_function_error("Internal error: No callback for buffercommand %s", buff); 1333 } else { 1334 cb(buff, owl_editwin_get_text(owl_global_get_typwin(&g))); 1328 1335 } 1329 1336 } -
global.c
r176d3443 r4211f50b 250 250 } 251 251 252 void owl_global_set_buffercallback(owl_global *g, void (*cb)(char*,char*)) { 253 g->buffercallback = cb; 254 } 255 256 void (*owl_global_get_buffercallback(owl_global *g))(char*,char*) { 257 return g->buffercallback; 258 } 259 252 260 /* refresh */ 253 261 -
owl.h
r1152d45 r4211f50b 533 533 int config_format; 534 534 char *buffercommand; 535 void (*buffercallback)(char *cmd, char *msg); 535 536 owl_editwin tw; 536 537 owl_viewwin vw;
Note: See TracChangeset
for help on using the changeset viewer.