Changes in global.c [7b4f3be:dc1edbd]
Legend:
- Unmodified
- Added
- Removed
-
global.c
r7b4f3be rdc1edbd 16 16 17 17 g_type_init(); 18 g_thread_init(NULL); 19 20 owl_select_init(); 18 21 19 22 g->lines=LINES; … … 51 54 g->direction=OWL_DIRECTION_DOWNWARDS; 52 55 g->zaway=0; 56 if (has_colors()) { 57 g->hascolors=1; 58 } 59 g->colorpairs=COLOR_PAIRS; 53 60 owl_fmtext_init_colorpair_mgr(&(g->cpmgr)); 54 61 g->debug=OWL_DEBUG; … … 95 102 96 103 owl_errqueue_init(&(g->errqueue)); 97 g->got_err_signal=0;98 104 99 105 owl_zbuddylist_create(&(g->zbuddies)); … … 104 110 owl_message_init_fmtext_cache(); 105 111 owl_list_create(&(g->io_dispatch_list)); 106 owl_list_create(&(g->psa_list));107 112 g->timerlist = NULL; 108 g->interrupted = FALSE;109 113 g->kill_buffer = NULL; 114 115 g->interrupt_count = 0; 116 g->interrupt_lock = g_mutex_new(); 110 117 } 111 118 … … 344 351 345 352 void owl_global_set_resize_pending(owl_global *g) { 346 g->resizepending =1;353 g->resizepending = true; 347 354 } 348 355 … … 444 451 /* resize the screen. If lines or cols is 0 use the terminal size */ 445 452 if (!g->resizepending) return; 446 g->resizepending = 0;453 g->resizepending = false; 447 454 448 455 owl_global_get_terminal_size(&g->lines, &g->cols); … … 570 577 owl_view *owl_global_get_current_view(owl_global *g) { 571 578 return(&(g->current_view)); 579 } 580 581 /* has colors */ 582 583 int owl_global_get_hascolors(const owl_global *g) { 584 if (g->hascolors) return(1); 585 return(0); 586 } 587 588 /* color pairs */ 589 590 int owl_global_get_colorpairs(const owl_global *g) { 591 return(g->colorpairs); 572 592 } 573 593 … … 676 696 } 677 697 678 int owl_global_is_doaimevents(const owl_global *g) 679 { 680 if (g->aim_doprocessing) return(1); 681 return(0); 698 bool owl_global_is_doaimevents(const owl_global *g) 699 { 700 return g->aim_event_source != NULL; 682 701 } 683 702 684 703 void owl_global_set_doaimevents(owl_global *g) 685 704 { 686 g->aim_doprocessing=1; 705 if (g->aim_event_source) 706 return; 707 g->aim_event_source = owl_aim_event_source_new(owl_global_get_aimsess(g)); 708 g_source_attach(g->aim_event_source, NULL); 687 709 } 688 710 689 711 void owl_global_set_no_doaimevents(owl_global *g) 690 712 { 691 g->aim_doprocessing=0; 713 if (!g->aim_event_source) 714 return; 715 g_source_destroy(g->aim_event_source); 716 g_source_unref(g->aim_event_source); 717 g->aim_event_source = NULL; 692 718 } 693 719 … … 807 833 } 808 834 809 void owl_global_set_errsignal(owl_global *g, int signum, siginfo_t *siginfo)810 {811 g->got_err_signal = signum;812 if (siginfo) {813 g->err_signal_info = *siginfo;814 } else {815 siginfo_t si;816 memset(&si, 0, sizeof(si));817 g->err_signal_info = si;818 }819 }820 821 int owl_global_get_errsignal_and_clear(owl_global *g, siginfo_t *siginfo)822 {823 int signum;824 if (siginfo && g->got_err_signal) {825 *siginfo = g->err_signal_info;826 }827 signum = g->got_err_signal;828 g->got_err_signal = 0;829 return signum;830 }831 832 833 835 owl_zbuddylist *owl_global_get_zephyr_buddylist(owl_global *g) 834 836 { … … 861 863 } 862 864 863 owl_list *owl_global_get_psa_list(owl_global *g)864 {865 return &(g->psa_list);866 }867 868 865 GList **owl_global_get_timerlist(owl_global *g) 869 866 { 870 867 return &(g->timerlist); 871 }872 873 int owl_global_is_interrupted(const owl_global *g) {874 return g->interrupted;875 }876 877 void owl_global_set_interrupted(owl_global *g) {878 g->interrupted = 1;879 }880 881 void owl_global_unset_interrupted(owl_global *g) {882 g->interrupted = 0;883 868 } 884 869 … … 948 933 g->kill_buffer = g_strndup(kill, len); 949 934 } 935 936 void owl_global_add_interrupt(owl_global *g) { 937 /* TODO: This can almost certainly be done with atomic 938 * operations. Whatever. */ 939 g_mutex_lock(g->interrupt_lock); 940 g->interrupt_count++; 941 g_mutex_unlock(g->interrupt_lock); 942 } 943 944 bool owl_global_take_interrupt(owl_global *g) { 945 bool ans = false; 946 g_mutex_lock(g->interrupt_lock); 947 if (g->interrupt_count > 0) { 948 ans = true; 949 g->interrupt_count--; 950 } 951 g_mutex_unlock(g->interrupt_lock); 952 return ans; 953 }
Note: See TracChangeset
for help on using the changeset viewer.