Changeset db8b00b
- Timestamp:
- Oct 27, 2006, 3:07:59 PM (16 years ago)
- Branches:
- master, barnowl_perlaim, debian, release-1.4, release-1.5, release-1.6, release-1.7, release-1.8, release-1.9
- Children:
- bbd2fdc
- Parents:
- e74c01c
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
commands.c
r1b6b2f3 rdb8b00b 2506 2506 void owl_command_editresponse_done(owl_editwin *e) 2507 2507 { 2508 owl_ global_set_response(&g, owl_editwin_get_text(e));2508 owl_function_run_buffercommand(); 2509 2509 2510 2510 owl_global_set_typwin_inactive(&g); … … 2512 2512 wnoutrefresh(owl_editwin_get_curswin(e)); 2513 2513 owl_global_set_needrefresh(&g); 2514 2515 owl_function_run_buffercommand();2516 2514 } 2517 2515 -
functions.c
r1b6b2f3 rdb8b00b 950 950 void owl_callback_aimlogin(owl_editwin *e) { 951 951 owl_function_aimlogin(owl_editwin_get_command(e), 952 owl_ global_get_response(&g));952 owl_editwin_get_text(e)); 953 953 } 954 954 -
global.c
r1b6b2f3 rdb8b00b 99 99 owl_buddylist_init(&(g->buddylist)); 100 100 101 g->response=NULL;102 101 g->havezephyr=0; 103 102 g->haveaim=0; … … 814 813 } 815 814 816 char *owl_global_get_response(owl_global *g)817 {818 if (g->response==NULL) return("");819 return(g->response);820 }821 822 void owl_global_set_response(owl_global *g, char *resp)823 {824 if (g->response) owl_free(g->response);825 g->response=owl_strdup(resp);826 }827 828 829 815 void owl_global_set_haveaim(owl_global *g) 830 816 { -
perlconfig.c
r6922edd rdb8b00b 378 378 SvREFCNT_dec(cmd); 379 379 } 380 381 void owl_perlconfig_edit_callback(owl_editwin *e) 382 { 383 SV *cb = (SV*)(e->cbdata); 384 if(cb == NULL) { 385 owl_function_error("Perl callback is NULL!"); 386 } 387 388 dSP; 389 390 ENTER; 391 SAVETMPS; 392 393 PUSHMARK(SP); 394 XPUSHs(sv_2mortal(newSVpv(owl_editwin_get_text(e), 0))); 395 PUTBACK; 396 397 call_sv(cb, G_DISCARD); 398 399 FREETMPS; 400 LEAVE; 401 402 SvREFCNT_dec(cb); 403 e->cbdata = NULL; 404 } -
perlglue.xs
r1b6b2f3 rdb8b00b 10 10 #include "owl.h" 11 11 SV *owl_perlconfig_curmessage2hashref(void); 12 13 #define SV_IS_CODEREF(sv) (SvROK((sv)) && SvTYPE(SvRV((sv))) == SVt_PVCV) 12 14 13 15 MODULE = owl PACKAGE = owl … … 84 86 owl_cmd cmd; 85 87 CODE: 88 { 89 if(!SV_IS_CODEREF(func)) { 90 croak("Command function must be a coderef!"); 91 } 86 92 SvREFCNT_inc(func); 87 93 cmd.name = name; … … 99 105 cmd.cmd_ctxi_fn = NULL; 100 106 owl_cmddict_add_cmd(owl_global_get_cmddict(&g), &cmd); 107 } 101 108 102 109 void queue_message(msg) … … 140 147 owl_global_messagequeue_addmsg(&g, m); 141 148 } 149 150 void start_question(line, callback) 151 char *line 152 SV *callback 153 PREINIT: 154 CODE: 155 { 156 if(!SV_IS_CODEREF(callback)) 157 croak("Callback must be a subref"); 158 159 owl_function_start_question(line); 160 161 SvREFCNT_inc(callback); 162 owl_editwin_set_cbdata(owl_global_get_typwin(&g), callback); 163 owl_editwin_set_callback(owl_global_get_typwin(&g), owl_perlconfig_edit_callback); 164 } 165 166 void start_password(line, callback) 167 char *line 168 SV *callback 169 PREINIT: 170 CODE: 171 { 172 if(!SV_IS_CODEREF(callback)) 173 croak("Callback must be a subref"); 174 175 owl_function_start_password(line); 176 177 SvREFCNT_inc(callback); 178 owl_editwin_set_cbdata(owl_global_get_typwin(&g), callback); 179 owl_editwin_set_callback(owl_global_get_typwin(&g), owl_perlconfig_edit_callback); 180 } 181 182 void start_edit_win(line, callback) 183 char *line 184 SV *callback 185 PREINIT: 186 owl_editwin * e; 187 char buff[1024]; 188 CODE: 189 { 190 if(!SV_IS_CODEREF(callback)) 191 croak("Callback must be a subref"); 192 193 e = owl_global_get_typwin(&g); 194 owl_editwin_new_style(e, OWL_EDITWIN_STYLE_MULTILINE, 195 owl_global_get_msg_history(&g)); 196 owl_editwin_clear(e); 197 owl_editwin_set_dotsend(e); 198 snprintf(buff, 1023, "----> %s\n", line); 199 owl_editwin_set_locktext(e, buff); 200 201 owl_global_set_typwin_active(&g); 202 203 SvREFCNT_inc(callback); 204 owl_editwin_set_cbdata(owl_global_get_typwin(&g), callback); 205 owl_editwin_set_callback(owl_global_get_typwin(&g), owl_perlconfig_edit_callback); 206 }
Note: See TracChangeset
for help on using the changeset viewer.