Changeset 89701bb
- Timestamp:
- Jan 23, 2012, 3:34:06 PM (12 years ago)
- Parents:
- 389d487 (diff), 8da4e96 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent. - Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
perl/modules/Jabber/lib/BarnOwl/Module/Jabber.pm
rb8a3e00 r8da4e96 171 171 our $showOffline = 0; 172 172 173 sub blist_getBuddyStatus { 174 my $jid = shift; 175 my $buddy = shift; 176 my $roster = $conn->getRosterFromJID($jid); 177 my %jq = $roster->query($buddy); 178 my $res = $roster->resource($buddy); 179 if ($res) { 180 my %rq = $roster->resourceQuery( $buddy, $res ); 181 return $rq{show} ? $rq{show} : 'online'; 182 } else { 183 return "unknown"; 184 } 185 } 186 173 187 sub blist_listBuddy { 174 188 my $roster = shift; … … 303 317 summary => "Show your Jabber roster.", 304 318 usage => "jlist" 319 } 320 ); 321 BarnOwl::new_command( 322 jabber_get_buddy_status => \&cmd_jabber_get_buddy_status, 323 { 324 summary => "Get the status of a given buddy.", 325 usage => "jabber_get_buddy_status [-a account] buddy" 305 326 } 306 327 ); … … 859 880 } 860 881 882 sub cmd_jabber_get_buddy_status { 883 my $cmd = shift; 884 local @ARGV = @_; 885 my $getopt = Getopt::Long::Parser->new; 886 my ($jid, $buddy); 887 888 $getopt->configure('no_getopt_compat'); 889 $getopt->getoptions( 890 'account=s' => \$jid, 891 ); 892 $jid ||= defaultJID(); 893 if ($jid) { 894 $jid = resolveConnectedJID($jid); 895 return unless $jid; 896 } 897 else { 898 die("You must specify an account with -a <jid>\n"); 899 } 900 $buddy = shift @ARGV; 901 if(!$buddy) { 902 die("You must specify a JID to get the status of.\n"); 903 } 904 my $buddy_jid = resolveDestJID($buddy, $jid); 905 return blist_getBuddyStatus($jid, $buddy_jid); 906 } 907 861 908 862 909 sub jroster_sub { … … 1482 1529 } 1483 1530 1531 sub complete_jabber_get_buddy_status { 1532 my $ctx = shift; 1533 return complete_flags($ctx, 1534 [qw()], 1535 { 1536 "-a" => \&complete_account, 1537 }, 1538 \&complete_user_or_muc 1539 ); 1540 } 1541 1484 1542 BarnOwl::Completion::register_completer(jwrite => sub { BarnOwl::Module::Jabber::complete_jwrite(@_) }); 1543 BarnOwl::Completion::register_completer(jabber_get_buddy_status => sub { BarnOwl::Module::Jabber::complete_jabber_get_buddy_status(@_) }); 1485 1544 1486 1545 1; -
owl.c
r3b17b57 r389d487 585 585 ); 586 586 587 owl_function_debugmsg("startup: setting context interactive"); 588 589 owl_global_pop_context(&g); 590 owl_global_push_context(&g, OWL_CTX_INTERACTIVE|OWL_CTX_RECV, NULL, "recv", NULL); 591 587 592 /* process the startup file */ 588 593 owl_function_debugmsg("startup: processing startup file"); … … 596 601 owl_function_error("No such style: %s", owl_global_get_default_style(&g)); 597 602 598 owl_function_debugmsg("startup: setting context interactive");599 600 owl_global_pop_context(&g);601 owl_global_push_context(&g, OWL_CTX_INTERACTIVE|OWL_CTX_RECV, NULL, "recv", NULL);602 603 603 source = owl_window_redraw_source_new(); 604 604 g_source_attach(source, NULL); -
zwrite.c
r6329cd5 ref4074b 4 4 { 5 5 owl_zwrite *z = g_new(owl_zwrite, 1); 6 if (owl_zwrite_create_from_line(z, line) <0) {7 owl_zwrite_delete(z);6 if (owl_zwrite_create_from_line(z, line) != 0) { 7 g_free(z); 8 8 return NULL; 9 9 } … … 14 14 { 15 15 owl_zwrite *z = g_new(owl_zwrite, 1); 16 if (owl_zwrite_create(z, argc, argv) <0) {17 owl_zwrite_delete(z);16 if (owl_zwrite_create(z, argc, argv) != 0) { 17 g_free(z); 18 18 return NULL; 19 19 } … … 135 135 136 136 if (badargs) { 137 owl_zwrite_cleanup(z); 137 138 return(-1); 138 139 } … … 142 143 z->recips->len == 0) { 143 144 owl_function_error("You must specify a recipient for zwrite"); 145 owl_zwrite_cleanup(z); 144 146 return(-1); 145 147 } … … 267 269 owl_zwrite z; 268 270 int rv; 269 rv =owl_zwrite_create_from_line(&z, cmd);270 if (rv ) return(rv);271 rv = owl_zwrite_create_from_line(&z, cmd); 272 if (rv != 0) return rv; 271 273 if (!owl_zwrite_is_message_set(&z)) { 272 274 owl_zwrite_set_message(&z, msg);
Note: See TracChangeset
for help on using the changeset viewer.