Changeset f4d32cd
- Timestamp:
- Jan 10, 2007, 3:03:48 PM (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:
- 5551208
- Parents:
- d609dd6
- git-author:
- Nelson Elhage <nelhage@mit.edu> (01/10/07 15:02:27)
- git-committer:
- Nelson Elhage <nelhage@mit.edu> (01/10/07 15:03:48)
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
commands.c
rfe0a16a rf4d32cd 731 731 "Display an informatative message", 732 732 "message <message>", 733 ""), 734 735 OWLCMD_VOID("yes", owl_command_yes, OWL_CTX_RECV, 736 "Answer yes to a question", 737 "yes", 738 ""), 739 740 OWLCMD_VOID("no", owl_command_no, OWL_CTX_RECV, 741 "Answer no to a question", 742 "no", 733 743 ""), 734 744 … … 2430 2440 } 2431 2441 2442 void owl_command_yes(void) 2443 { 2444 owl_message *m = owl_view_get_element(owl_global_get_current_view(&g), 2445 owl_global_get_curmsg(&g)); 2446 if(!owl_message_is_question(m)) { 2447 owl_function_error("That message isn't a question."); 2448 return NULL; 2449 } 2450 if(owl_message_is_answered(m)) { 2451 owl_function_error("You already answered that question."); 2452 return NULL; 2453 } 2454 char * cmd = owl_message_get_attribute_value(m, "yescommand"); 2455 if(!cmd) { 2456 owl_function_error("No yes command!"); 2457 return NULL; 2458 } 2459 2460 owl_function_command_norv(cmd); 2461 owl_message_set_isanswered(m); 2462 } 2463 2464 char *owl_command_no(void) 2465 { 2466 owl_message *m = owl_view_get_element(owl_global_get_current_view(&g), 2467 owl_global_get_curmsg(&g)); 2468 if(!owl_message_is_question(m)) { 2469 owl_function_error("That message isn't a question."); 2470 return NULL; 2471 } 2472 if(owl_message_is_answered(m)) { 2473 owl_function_error("You already answered that question."); 2474 return NULL; 2475 } 2476 char * cmd = owl_message_get_attribute_value(m, "nocommand"); 2477 if(!cmd) { 2478 owl_function_error("No no command!"); 2479 return NULL; 2480 } 2481 2482 owl_function_command_norv(cmd); 2483 owl_message_set_isanswered(m); 2484 } 2485 2432 2486 /*********************************************************************/ 2433 2487 /************************** EDIT SPECIFIC ****************************/ -
message.c
r312675c rf4d32cd 553 553 } 554 554 return(0); 555 } 556 557 int owl_message_is_question(owl_message *m) 558 { 559 if(!owl_message_is_type_admin(m)) return 0; 560 if(owl_message_get_attribute_value(m, "question") != NULL) return 1; 561 return 0; 562 } 563 564 int owl_message_is_answered(owl_message *m) { 565 if(!owl_message_is_question(m)) return 0; 566 char * q = owl_message_get_attribute_value(m, "question"); 567 if(!q) return 0; 568 return !strcmp(q, "answered"); 569 } 570 571 void owl_message_set_isanswered(owl_message *m) { 572 owl_message_set_attribute(m, "question", "answered"); 555 573 } 556 574
Note: See TracChangeset
for help on using the changeset viewer.