From: <bre...@us...> - 2008-07-17 03:14:39
|
Revision: 1226 http://conky.svn.sourceforge.net/conky/?rev=1226&view=rev Author: brenden1 Date: 2008-07-17 03:14:37 +0000 (Thu, 17 Jul 2008) Log Message: ----------- improve last fix a bit Modified Paths: -------------- trunk/conky1/src/conky.c Modified: trunk/conky1/src/conky.c =================================================================== --- trunk/conky1/src/conky.c 2008-07-17 02:38:04 UTC (rev 1225) +++ trunk/conky1/src/conky.c 2008-07-17 03:14:37 UTC (rev 1226) @@ -2416,7 +2416,7 @@ /* construct_text_object() creates a new text_object */ static struct text_object *construct_text_object(const char *s, const char *arg, unsigned int object_count, - struct text_object *text_objects, long line) + struct text_object *text_objects, long line, char allow_threaded) { // struct text_object *obj = new_text_object(); struct text_object *obj = new_text_object_internal(); @@ -2425,6 +2425,8 @@ #define OBJ(a, n) if (strcmp(s, #a) == 0) { \ obj->type = OBJ_##a; need_mask |= (1 << n); { +#define OBJ_THREAD(a, n) if (strcmp(s, #a) == 0 && allow_threaded) { \ + obj->type = OBJ_##a; need_mask |= (1 << n); { #define END } } else #ifdef X11 @@ -2921,35 +2923,35 @@ obj->data.execi.cmd = strndup(arg + n, text_buffer_size); obj->data.execi.buffer = malloc(text_buffer_size); } - END OBJ(texeci, 0) - int n; + END OBJ_THREAD(texeci, 0) + int n; - if (!arg || sscanf(arg, "%f %n", &obj->data.texeci.interval, &n) <= 0) { - char buf[256]; + if (!arg || sscanf(arg, "%f %n", &obj->data.texeci.interval, &n) <= 0) { + char buf[256]; - ERR("${texeci <interval> command}"); - obj->type = OBJ_text; - snprintf(buf, 256, "${%s}", s); - obj->data.s = strndup(buf, text_buffer_size); - } else { - obj->data.texeci.cmd = strndup(arg + n, text_buffer_size); - obj->data.texeci.buffer = malloc(text_buffer_size); - } - obj->data.texeci.p_timed_thread = NULL; - END OBJ(pre_exec, 0) + ERR("${texeci <interval> command}"); + obj->type = OBJ_text; + snprintf(buf, 256, "${%s}", s); + obj->data.s = strndup(buf, text_buffer_size); + } else { + obj->data.texeci.cmd = strndup(arg + n, text_buffer_size); + obj->data.texeci.buffer = malloc(text_buffer_size); + } + obj->data.texeci.p_timed_thread = NULL; + END OBJ(pre_exec, 0) obj->type = OBJ_text; - if (arg) { - char buf[2048]; + if (arg) { + char buf[2048]; - read_exec(arg, buf, sizeof(buf)); - obj->data.s = strndup(buf, text_buffer_size); - } else { - obj->data.s = strndup("", text_buffer_size); - } + read_exec(arg, buf, sizeof(buf)); + obj->data.s = strndup(buf, text_buffer_size); + } else { + obj->data.s = strndup("", text_buffer_size); + } #endif END OBJ(fs_bar, INFO_FS) arg = scan_bar(arg, &obj->data.fsbar.w, &obj->data.fsbar.h); - if (arg) { + if (arg) { while (isspace(*arg)) { arg++; } @@ -3701,7 +3703,7 @@ END OBJ(apm_battery_life, 0) END OBJ(apm_battery_time, 0) #endif /* __FreeBSD__ */ - END OBJ(imap_unseen, 0) + END OBJ_THREAD(imap_unseen, 0) if (arg) { // proccss obj->data.mail = parse_mail_args(IMAP, arg); @@ -3709,7 +3711,7 @@ } else { obj->global_mode = 1; } - END OBJ(imap_messages, 0) + END OBJ_THREAD(imap_messages, 0) if (arg) { // proccss obj->data.mail = parse_mail_args(IMAP, arg); @@ -3717,7 +3719,7 @@ } else { obj->global_mode = 1; } - END OBJ(pop3_unseen, 0) + END OBJ_THREAD(pop3_unseen, 0) if (arg) { // proccss obj->data.mail = parse_mail_args(POP3, arg); @@ -3725,7 +3727,7 @@ } else { obj->global_mode = 1; } - END OBJ(pop3_used, 0) + END OBJ_THREAD(pop3_used, 0) if (arg) { // proccss obj->data.mail = parse_mail_args(POP3, arg); @@ -3733,8 +3735,9 @@ } else { obj->global_mode = 1; } + END #ifdef SMAPI - END OBJ(smapi, 0) + OBJ(smapi, 0) if (arg) obj->data.s = strndup(arg, text_buffer_size); else @@ -3778,10 +3781,11 @@ } } else ERR("if_smapi_bat_bar needs an argument"); + END #endif /* SMAPI */ #ifdef MPD - END OBJ(mpd_artist, INFO_MPD) - END OBJ(mpd_title, INFO_MPD) + OBJ_THREAD(mpd_artist, INFO_MPD) + END OBJ_THREAD(mpd_title, INFO_MPD) if (arg) { sscanf(arg, "%d", &info.mpd.max_title_len); if (info.mpd.max_title_len > 0) { @@ -3792,24 +3796,24 @@ } else { info.mpd.max_title_len = 0; } - END OBJ(mpd_random, INFO_MPD) - END OBJ(mpd_repeat, INFO_MPD) - END OBJ(mpd_elapsed, INFO_MPD) - END OBJ(mpd_length, INFO_MPD) - END OBJ(mpd_track, INFO_MPD) - END OBJ(mpd_name, INFO_MPD) - END OBJ(mpd_file, INFO_MPD) - END OBJ(mpd_percent, INFO_MPD) - END OBJ(mpd_album, INFO_MPD) - END OBJ(mpd_vol, INFO_MPD) - END OBJ(mpd_bitrate, INFO_MPD) - END OBJ(mpd_status, INFO_MPD) - END OBJ(mpd_bar, INFO_MPD) + END OBJ_THREAD(mpd_random, INFO_MPD) + END OBJ_THREAD(mpd_repeat, INFO_MPD) + END OBJ_THREAD(mpd_elapsed, INFO_MPD) + END OBJ_THREAD(mpd_length, INFO_MPD) + END OBJ_THREAD(mpd_track, INFO_MPD) + END OBJ_THREAD(mpd_name, INFO_MPD) + END OBJ_THREAD(mpd_file, INFO_MPD) + END OBJ_THREAD(mpd_percent, INFO_MPD) + END OBJ_THREAD(mpd_album, INFO_MPD) + END OBJ_THREAD(mpd_vol, INFO_MPD) + END OBJ_THREAD(mpd_bitrate, INFO_MPD) + END OBJ_THREAD(mpd_status, INFO_MPD) + END OBJ_THREAD(mpd_bar, INFO_MPD) scan_bar(arg, &obj->data.pair.a, &obj->data.pair.b); - END OBJ(mpd_smart, INFO_MPD) + END OBJ_THREAD(mpd_smart, INFO_MPD) #endif #ifdef XMMS2 - END OBJ(xmms2_artist, INFO_XMMS2) + OBJ(xmms2_artist, INFO_XMMS2) END OBJ(xmms2_album, INFO_XMMS2) END OBJ(xmms2_title, INFO_XMMS2) END OBJ(xmms2_genre, INFO_XMMS2) @@ -4066,7 +4070,7 @@ return obj; } -static struct text_object_list *extract_variable_text_internal(const char *const_p) +static struct text_object_list *extract_variable_text_internal(const char *const_p, char allow_threaded) { struct text_object_list *retval; struct text_object *obj; @@ -4173,7 +4177,7 @@ // create new object obj = construct_text_object(buf, arg, - retval->text_object_count, retval->text_objects, line); + retval->text_object_count, retval->text_objects, line, allow_threaded); if (obj != NULL) { // allocate memory for the object retval->text_objects = realloc(retval->text_objects, @@ -4239,13 +4243,13 @@ text_buffer = 0; } - global_text_object_list = extract_variable_text_internal(p); + global_text_object_list = extract_variable_text_internal(p, 1); } struct text_object_list *parse_conky_vars(char *txt, char *p, struct information *cur) { struct text_object_list *object_list = - extract_variable_text_internal(txt); + extract_variable_text_internal(txt, 0); generate_text_internal(p, max_user_text, object_list, cur); return object_list; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bre...@us...> - 2008-07-20 02:05:21
|
Revision: 1227 http://conky.svn.sourceforge.net/conky/?rev=1227&view=rev Author: brenden1 Date: 2008-07-20 02:05:11 +0000 (Sun, 20 Jul 2008) Log Message: ----------- s/kiB/KiB/g Modified Paths: -------------- trunk/conky1/src/conky.c Modified: trunk/conky1/src/conky.c =================================================================== --- trunk/conky1/src/conky.c 2008-07-17 03:14:37 UTC (rev 1226) +++ trunk/conky1/src/conky.c 2008-07-20 02:05:11 UTC (rev 1227) @@ -136,7 +136,7 @@ exit(0); } -static const char *suffixes[] = { "B", "kiB", "MiB", "GiB", "TiB", "PiB", "" }; +static const char *suffixes[] = { "B", "KiB", "MiB", "GiB", "TiB", "PiB", "" }; #ifdef X11 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <n0...@us...> - 2008-09-01 22:05:27
|
Revision: 1240 http://conky.svn.sourceforge.net/conky/?rev=1240&view=rev Author: n0-1 Date: 2008-09-01 22:05:24 +0000 (Mon, 01 Sep 2008) Log Message: ----------- fix indenting in construct_text_object() Modified Paths: -------------- trunk/conky1/src/conky.c Modified: trunk/conky1/src/conky.c =================================================================== --- trunk/conky1/src/conky.c 2008-08-16 15:56:20 UTC (rev 1239) +++ trunk/conky1/src/conky.c 2008-09-01 22:05:24 UTC (rev 1240) @@ -3159,8 +3159,8 @@ ERR("invalid args given for top"); return NULL; } - END OBJ(top_mem, INFO_TOP) - char buf[64]; + END OBJ(top_mem, INFO_TOP) + char buf[64]; int n; if (!arg) { @@ -3199,22 +3199,22 @@ ERR("invalid args given for top"); return NULL; } - END OBJ(addr, INFO_NET) - if (arg) { - obj->data.net = get_net_stat(arg); - } else { - CRIT_ERR("addr needs argument"); - } + END OBJ(addr, INFO_NET) + if (arg) { + obj->data.net = get_net_stat(arg); + } else { + CRIT_ERR("addr needs argument"); + } #if defined(__linux__) - END OBJ(addrs, INFO_NET) - if (arg) { - obj->data.net = get_net_stat(arg); - } else { - CRIT_ERR("addrs needs argument"); - } + END OBJ(addrs, INFO_NET) + if (arg) { + obj->data.net = get_net_stat(arg); + } else { + CRIT_ERR("addrs needs argument"); + } #endif /* __linux__ */ - END OBJ(tail, 0) - char buf[64]; + END OBJ(tail, 0) + char buf[64]; int n1, n2; struct stat st; @@ -3686,32 +3686,32 @@ char *buf = scan_graph(arg, &obj->a, &obj->b, &obj->c, &obj->d, &obj->e, &obj->showaslog); - // default to DEFAULTNETDEV - buf = strndup(buf ? buf : "DEFAULTNETDEV", text_buffer_size); - obj->data.net = get_net_stat(buf); - free(buf); + // default to DEFAULTNETDEV + buf = strndup(buf ? buf : "DEFAULTNETDEV", text_buffer_size); + obj->data.net = get_net_stat(buf); + free(buf); END OBJ(uptime_short, INFO_UPTIME) - END OBJ(uptime, INFO_UPTIME) - END OBJ(user_names, INFO_USERS) - END OBJ(user_times, INFO_USERS) - END OBJ(user_terms, INFO_USERS) - END OBJ(user_number, INFO_USERS) + END OBJ(uptime, INFO_UPTIME) + END OBJ(user_names, INFO_USERS) + END OBJ(user_times, INFO_USERS) + END OBJ(user_terms, INFO_USERS) + END OBJ(user_number, INFO_USERS) #if defined(__linux__) - END OBJ(gw_iface, INFO_GW) - END OBJ(gw_ip, INFO_GW) - END OBJ(if_gw, INFO_GW) + END OBJ(gw_iface, INFO_GW) + END OBJ(gw_ip, INFO_GW) + END OBJ(if_gw, INFO_GW) #endif /* !__linux__ */ #ifndef __OpenBSD__ - END OBJ(adt746xcpu, 0) - END OBJ(adt746xfan, 0) + END OBJ(adt746xcpu, 0) + END OBJ(adt746xfan, 0) #endif /* !__OpenBSD__ */ #if (defined(__FreeBSD__) || defined(__FreeBSD_kernel__) \ || defined(__OpenBSD__)) && (defined(i386) || defined(__i386__)) - END OBJ(apm_adapter, 0) - END OBJ(apm_battery_life, 0) - END OBJ(apm_battery_time, 0) + END OBJ(apm_adapter, 0) + END OBJ(apm_battery_life, 0) + END OBJ(apm_battery_time, 0) #endif /* __FreeBSD__ */ - END OBJ_THREAD(imap_unseen, 0) + END OBJ_THREAD(imap_unseen, 0) if (arg) { // proccss obj->data.mail = parse_mail_args(IMAP, arg); @@ -3753,14 +3753,14 @@ if (blockdepth >= MAX_IF_BLOCK_DEPTH) { CRIT_ERR("MAX_IF_BLOCK_DEPTH exceeded"); } - if (!arg) { - ERR("if_smapi_bat_installed needs an argument"); - obj->data.ifblock.s = 0; - } else - obj->data.ifblock.s = strndup(arg, text_buffer_size); - blockstart[blockdepth] = object_count; - obj->data.ifblock.pos = object_count + 2; - blockdepth++; + if (!arg) { + ERR("if_smapi_bat_installed needs an argument"); + obj->data.ifblock.s = 0; + } else + obj->data.ifblock.s = strndup(arg, text_buffer_size); + blockstart[blockdepth] = object_count; + obj->data.ifblock.pos = object_count + 2; + blockdepth++; END OBJ(smapi_bat_perc, 0) if (arg) obj->data.s = strndup(arg, text_buffer_size); @@ -3790,262 +3790,262 @@ ERR("if_smapi_bat_bar needs an argument"); #endif /* SMAPI */ #ifdef MPD - END OBJ_THREAD(mpd_artist, INFO_MPD) - END OBJ_THREAD(mpd_title, INFO_MPD) - if (arg) { - sscanf(arg, "%d", &info.mpd.max_title_len); - if (info.mpd.max_title_len > 0) { - info.mpd.max_title_len++; - } else { - CRIT_ERR("mpd_title: invalid length argument"); - } + END OBJ_THREAD(mpd_artist, INFO_MPD) + END OBJ_THREAD(mpd_title, INFO_MPD) + if (arg) { + sscanf(arg, "%d", &info.mpd.max_title_len); + if (info.mpd.max_title_len > 0) { + info.mpd.max_title_len++; } else { - info.mpd.max_title_len = 0; + CRIT_ERR("mpd_title: invalid length argument"); } - END OBJ_THREAD(mpd_random, INFO_MPD) - END OBJ_THREAD(mpd_repeat, INFO_MPD) - END OBJ_THREAD(mpd_elapsed, INFO_MPD) - END OBJ_THREAD(mpd_length, INFO_MPD) - END OBJ_THREAD(mpd_track, INFO_MPD) - END OBJ_THREAD(mpd_name, INFO_MPD) - END OBJ_THREAD(mpd_file, INFO_MPD) - END OBJ_THREAD(mpd_percent, INFO_MPD) - END OBJ_THREAD(mpd_album, INFO_MPD) - END OBJ_THREAD(mpd_vol, INFO_MPD) - END OBJ_THREAD(mpd_bitrate, INFO_MPD) - END OBJ_THREAD(mpd_status, INFO_MPD) - END OBJ_THREAD(mpd_bar, INFO_MPD) - scan_bar(arg, &obj->data.pair.a, &obj->data.pair.b); - END OBJ_THREAD(mpd_smart, INFO_MPD) + } else { + info.mpd.max_title_len = 0; + } + END OBJ_THREAD(mpd_random, INFO_MPD) + END OBJ_THREAD(mpd_repeat, INFO_MPD) + END OBJ_THREAD(mpd_elapsed, INFO_MPD) + END OBJ_THREAD(mpd_length, INFO_MPD) + END OBJ_THREAD(mpd_track, INFO_MPD) + END OBJ_THREAD(mpd_name, INFO_MPD) + END OBJ_THREAD(mpd_file, INFO_MPD) + END OBJ_THREAD(mpd_percent, INFO_MPD) + END OBJ_THREAD(mpd_album, INFO_MPD) + END OBJ_THREAD(mpd_vol, INFO_MPD) + END OBJ_THREAD(mpd_bitrate, INFO_MPD) + END OBJ_THREAD(mpd_status, INFO_MPD) + END OBJ_THREAD(mpd_bar, INFO_MPD) + scan_bar(arg, &obj->data.pair.a, &obj->data.pair.b); + END OBJ_THREAD(mpd_smart, INFO_MPD) #endif /* MPD */ #ifdef XMMS2 - END OBJ(xmms2_artist, INFO_XMMS2) - END OBJ(xmms2_album, INFO_XMMS2) - END OBJ(xmms2_title, INFO_XMMS2) - END OBJ(xmms2_genre, INFO_XMMS2) - END OBJ(xmms2_comment, INFO_XMMS2) - END OBJ(xmms2_url, INFO_XMMS2) - END OBJ(xmms2_tracknr, INFO_XMMS2) - END OBJ(xmms2_bitrate, INFO_XMMS2) - END OBJ(xmms2_date, INFO_XMMS2) - END OBJ(xmms2_id, INFO_XMMS2) - END OBJ(xmms2_duration, INFO_XMMS2) - END OBJ(xmms2_elapsed, INFO_XMMS2) - END OBJ(xmms2_size, INFO_XMMS2) - END OBJ(xmms2_status, INFO_XMMS2) - END OBJ(xmms2_percent, INFO_XMMS2) - END OBJ(xmms2_bar, INFO_XMMS2) - scan_bar(arg, &obj->data.pair.a, &obj->data.pair.b); - END OBJ(xmms2_smart, INFO_XMMS2) - END OBJ(xmms2_playlist, INFO_XMMS2) - END OBJ(xmms2_timesplayed, INFO_XMMS2) + END OBJ(xmms2_artist, INFO_XMMS2) + END OBJ(xmms2_album, INFO_XMMS2) + END OBJ(xmms2_title, INFO_XMMS2) + END OBJ(xmms2_genre, INFO_XMMS2) + END OBJ(xmms2_comment, INFO_XMMS2) + END OBJ(xmms2_url, INFO_XMMS2) + END OBJ(xmms2_tracknr, INFO_XMMS2) + END OBJ(xmms2_bitrate, INFO_XMMS2) + END OBJ(xmms2_date, INFO_XMMS2) + END OBJ(xmms2_id, INFO_XMMS2) + END OBJ(xmms2_duration, INFO_XMMS2) + END OBJ(xmms2_elapsed, INFO_XMMS2) + END OBJ(xmms2_size, INFO_XMMS2) + END OBJ(xmms2_status, INFO_XMMS2) + END OBJ(xmms2_percent, INFO_XMMS2) + END OBJ(xmms2_bar, INFO_XMMS2) + scan_bar(arg, &obj->data.pair.a, &obj->data.pair.b); + END OBJ(xmms2_smart, INFO_XMMS2) + END OBJ(xmms2_playlist, INFO_XMMS2) + END OBJ(xmms2_timesplayed, INFO_XMMS2) #endif #ifdef AUDACIOUS - END OBJ(audacious_status, INFO_AUDACIOUS) - END OBJ(audacious_title, INFO_AUDACIOUS) - if (arg) { - sscanf(arg, "%d", &info.audacious.max_title_len); - if (info.audacious.max_title_len > 0) { - info.audacious.max_title_len++; - } else { - CRIT_ERR("audacious_title: invalid length argument"); - } + END OBJ(audacious_status, INFO_AUDACIOUS) + END OBJ(audacious_title, INFO_AUDACIOUS) + if (arg) { + sscanf(arg, "%d", &info.audacious.max_title_len); + if (info.audacious.max_title_len > 0) { + info.audacious.max_title_len++; + } else { + CRIT_ERR("audacious_title: invalid length argument"); } - END OBJ(audacious_length, INFO_AUDACIOUS) - END OBJ(audacious_length_seconds, INFO_AUDACIOUS) - END OBJ(audacious_position, INFO_AUDACIOUS) - END OBJ(audacious_position_seconds, INFO_AUDACIOUS) - END OBJ(audacious_bitrate, INFO_AUDACIOUS) - END OBJ(audacious_frequency, INFO_AUDACIOUS) - END OBJ(audacious_channels, INFO_AUDACIOUS) - END OBJ(audacious_filename, INFO_AUDACIOUS) - END OBJ(audacious_playlist_length, INFO_AUDACIOUS) - END OBJ(audacious_playlist_position, INFO_AUDACIOUS) - END OBJ(audacious_bar, INFO_AUDACIOUS) - scan_bar(arg, &obj->a, &obj->b); + } + END OBJ(audacious_length, INFO_AUDACIOUS) + END OBJ(audacious_length_seconds, INFO_AUDACIOUS) + END OBJ(audacious_position, INFO_AUDACIOUS) + END OBJ(audacious_position_seconds, INFO_AUDACIOUS) + END OBJ(audacious_bitrate, INFO_AUDACIOUS) + END OBJ(audacious_frequency, INFO_AUDACIOUS) + END OBJ(audacious_channels, INFO_AUDACIOUS) + END OBJ(audacious_filename, INFO_AUDACIOUS) + END OBJ(audacious_playlist_length, INFO_AUDACIOUS) + END OBJ(audacious_playlist_position, INFO_AUDACIOUS) + END OBJ(audacious_bar, INFO_AUDACIOUS) + scan_bar(arg, &obj->a, &obj->b); #endif #ifdef BMPX - END OBJ(bmpx_title, INFO_BMPX) - memset(&(info.bmpx), 0, sizeof(struct bmpx_s)); - END OBJ(bmpx_artist, INFO_BMPX) - memset(&(info.bmpx), 0, sizeof(struct bmpx_s)); - END OBJ(bmpx_album, INFO_BMPX) - memset(&(info.bmpx), 0, sizeof(struct bmpx_s)); - END OBJ(bmpx_track, INFO_BMPX) - memset(&(info.bmpx), 0, sizeof(struct bmpx_s)); - END OBJ(bmpx_uri, INFO_BMPX) - memset(&(info.bmpx), 0, sizeof(struct bmpx_s)); - END OBJ(bmpx_bitrate, INFO_BMPX) - memset(&(info.bmpx), 0, sizeof(struct bmpx_s)); + END OBJ(bmpx_title, INFO_BMPX) + memset(&(info.bmpx), 0, sizeof(struct bmpx_s)); + END OBJ(bmpx_artist, INFO_BMPX) + memset(&(info.bmpx), 0, sizeof(struct bmpx_s)); + END OBJ(bmpx_album, INFO_BMPX) + memset(&(info.bmpx), 0, sizeof(struct bmpx_s)); + END OBJ(bmpx_track, INFO_BMPX) + memset(&(info.bmpx), 0, sizeof(struct bmpx_s)); + END OBJ(bmpx_uri, INFO_BMPX) + memset(&(info.bmpx), 0, sizeof(struct bmpx_s)); + END OBJ(bmpx_bitrate, INFO_BMPX) + memset(&(info.bmpx), 0, sizeof(struct bmpx_s)); #endif #ifdef EVE - END OBJ(eve, 0) - if(arg) { - int argc; - char *userid = (char *) malloc(20 * sizeof(char)); - char *apikey = (char *) malloc(64 * sizeof(char)); - char *charid = (char *) malloc(20 * sizeof(char)); + END OBJ(eve, 0) + if(arg) { + int argc; + char *userid = (char *) malloc(20 * sizeof(char)); + char *apikey = (char *) malloc(64 * sizeof(char)); + char *charid = (char *) malloc(20 * sizeof(char)); - argc = sscanf(arg, "%20s %64s %20s", userid, apikey, charid); - obj->data.eve.charid = charid; - obj->data.eve.userid = userid; - obj->data.eve.apikey = apikey; + argc = sscanf(arg, "%20s %64s %20s", userid, apikey, charid); + obj->data.eve.charid = charid; + obj->data.eve.userid = userid; + obj->data.eve.apikey = apikey; - init_eve(); - } else { - CRIT_ERR("eve needs arguments: <userid> <apikey> <characterid>"); - } + init_eve(); + } else { + CRIT_ERR("eve needs arguments: <userid> <apikey> <characterid>"); + } #endif #ifdef RSS - END OBJ(rss, 0) - if (arg) { - int argc, delay, act_par; - char *uri = (char *) malloc(128 * sizeof(char)); - char *action = (char *) malloc(64 * sizeof(char)); + END OBJ(rss, 0) + if (arg) { + int argc, delay, act_par; + char *uri = (char *) malloc(128 * sizeof(char)); + char *action = (char *) malloc(64 * sizeof(char)); - argc = sscanf(arg, "%127s %d %63s %d", uri, &delay, action, - &act_par); - obj->data.rss.uri = uri; - obj->data.rss.delay = delay; - obj->data.rss.action = action; - obj->data.rss.act_par = act_par; + argc = sscanf(arg, "%127s %d %63s %d", uri, &delay, action, + &act_par); + obj->data.rss.uri = uri; + obj->data.rss.delay = delay; + obj->data.rss.action = action; + obj->data.rss.act_par = act_par; - init_rss_info(); - } else { - CRIT_ERR("rss needs arguments: <uri> <delay in minutes> <action> " - "[act_par]"); - } + init_rss_info(); + } else { + CRIT_ERR("rss needs arguments: <uri> <delay in minutes> <action> " + "[act_par]"); + } #endif #ifdef HDDTEMP - END OBJ(hddtemp, 0) - if (!arg || scan_hddtemp(arg, &obj->data.hddtemp.dev, - &obj->data.hddtemp.addr, &obj->data.hddtemp.port, &obj->data.hddtemp.temp)) { - ERR("hddtemp needs arguments"); - obj->type = OBJ_text; - obj->data.s = strndup("${hddtemp}", text_buffer_size); - obj->data.hddtemp.update_time = 0; - return NULL; - } + END OBJ(hddtemp, 0) + if (!arg || scan_hddtemp(arg, &obj->data.hddtemp.dev, + &obj->data.hddtemp.addr, &obj->data.hddtemp.port, &obj->data.hddtemp.temp)) { + ERR("hddtemp needs arguments"); + obj->type = OBJ_text; + obj->data.s = strndup("${hddtemp}", text_buffer_size); + obj->data.hddtemp.update_time = 0; + return NULL; + } #endif #ifdef TCP_PORT_MONITOR - END OBJ(tcp_portmon, INFO_TCP_PORT_MONITOR) - int argc, port_begin, port_end, item, connection_index; - char itembuf[32]; + END OBJ(tcp_portmon, INFO_TCP_PORT_MONITOR) + int argc, port_begin, port_end, item, connection_index; + char itembuf[32]; - memset(itembuf, 0, sizeof(itembuf)); - connection_index = 0; - /* massive argument checking */ - if (!arg) { - CRIT_ERR("tcp_portmon: needs arguments"); - } - argc = sscanf(arg, "%d %d %31s %d", &port_begin, &port_end, itembuf, - &connection_index); - if ((argc != 3) && (argc != 4)) { - CRIT_ERR("tcp_portmon: requires 3 or 4 arguments"); - } - if ((port_begin < 1) || (port_begin > 65535) || (port_end < 1) - || (port_end > 65535)) { - CRIT_ERR("tcp_portmon: port values must be from 1 to 65535"); - } - if (port_begin > port_end) { - CRIT_ERR("tcp_portmon: starting port must be <= ending port"); - } - if (strncmp(itembuf, "count", 31) == EQUAL) { - item = COUNT; - } else if (strncmp(itembuf, "rip", 31) == EQUAL) { - item = REMOTEIP; - } else if (strncmp(itembuf, "rhost", 31) == EQUAL) { - item = REMOTEHOST; - } else if (strncmp(itembuf, "rport", 31) == EQUAL) { - item = REMOTEPORT; - } else if (strncmp(itembuf, "rservice", 31) == EQUAL) { - item = REMOTESERVICE; - } else if (strncmp(itembuf, "lip", 31) == EQUAL) { - item = LOCALIP; - } else if (strncmp(itembuf, "lhost", 31) == EQUAL) { - item = LOCALHOST; - } else if (strncmp(itembuf, "lport", 31) == EQUAL) { - item = LOCALPORT; - } else if (strncmp(itembuf, "lservice", 31) == EQUAL) { - item = LOCALSERVICE; - } else { - CRIT_ERR("tcp_portmon: invalid item specified"); - } - if ((argc == 3) && (item != COUNT)) { - CRIT_ERR("tcp_portmon: 3 argument form valid only for \"count\" " - "item"); - } - if ((argc == 4) && (connection_index < 0)) { - CRIT_ERR("tcp_portmon: connection index must be non-negative"); - } - /* ok, args looks good. save the text object data */ - obj->data.tcp_port_monitor.port_range_begin = (in_port_t) port_begin; - obj->data.tcp_port_monitor.port_range_end = (in_port_t) port_end; - obj->data.tcp_port_monitor.item = item; - obj->data.tcp_port_monitor.connection_index = connection_index; + memset(itembuf, 0, sizeof(itembuf)); + connection_index = 0; + /* massive argument checking */ + if (!arg) { + CRIT_ERR("tcp_portmon: needs arguments"); + } + argc = sscanf(arg, "%d %d %31s %d", &port_begin, &port_end, itembuf, + &connection_index); + if ((argc != 3) && (argc != 4)) { + CRIT_ERR("tcp_portmon: requires 3 or 4 arguments"); + } + if ((port_begin < 1) || (port_begin > 65535) || (port_end < 1) + || (port_end > 65535)) { + CRIT_ERR("tcp_portmon: port values must be from 1 to 65535"); + } + if (port_begin > port_end) { + CRIT_ERR("tcp_portmon: starting port must be <= ending port"); + } + if (strncmp(itembuf, "count", 31) == EQUAL) { + item = COUNT; + } else if (strncmp(itembuf, "rip", 31) == EQUAL) { + item = REMOTEIP; + } else if (strncmp(itembuf, "rhost", 31) == EQUAL) { + item = REMOTEHOST; + } else if (strncmp(itembuf, "rport", 31) == EQUAL) { + item = REMOTEPORT; + } else if (strncmp(itembuf, "rservice", 31) == EQUAL) { + item = REMOTESERVICE; + } else if (strncmp(itembuf, "lip", 31) == EQUAL) { + item = LOCALIP; + } else if (strncmp(itembuf, "lhost", 31) == EQUAL) { + item = LOCALHOST; + } else if (strncmp(itembuf, "lport", 31) == EQUAL) { + item = LOCALPORT; + } else if (strncmp(itembuf, "lservice", 31) == EQUAL) { + item = LOCALSERVICE; + } else { + CRIT_ERR("tcp_portmon: invalid item specified"); + } + if ((argc == 3) && (item != COUNT)) { + CRIT_ERR("tcp_portmon: 3 argument form valid only for \"count\" " + "item"); + } + if ((argc == 4) && (connection_index < 0)) { + CRIT_ERR("tcp_portmon: connection index must be non-negative"); + } + /* ok, args looks good. save the text object data */ + obj->data.tcp_port_monitor.port_range_begin = (in_port_t) port_begin; + obj->data.tcp_port_monitor.port_range_end = (in_port_t) port_end; + obj->data.tcp_port_monitor.item = item; + obj->data.tcp_port_monitor.connection_index = connection_index; - /* if the port monitor collection hasn't been created, - * we must create it */ + /* if the port monitor collection hasn't been created, + * we must create it */ + if (!info.p_tcp_port_monitor_collection) { + info.p_tcp_port_monitor_collection = + create_tcp_port_monitor_collection(); if (!info.p_tcp_port_monitor_collection) { - info.p_tcp_port_monitor_collection = - create_tcp_port_monitor_collection(); - if (!info.p_tcp_port_monitor_collection) { - CRIT_ERR("tcp_portmon: unable to create port monitor " - "collection"); - } + CRIT_ERR("tcp_portmon: unable to create port monitor " + "collection"); } + } - /* if a port monitor for this port does not exist, - * create one and add it to the collection */ - if (find_tcp_port_monitor(info.p_tcp_port_monitor_collection, - port_begin, port_end) == NULL) { - tcp_port_monitor_t *p_monitor = create_tcp_port_monitor(port_begin, - port_end, &tcp_port_monitor_args); + /* if a port monitor for this port does not exist, + * create one and add it to the collection */ + if (find_tcp_port_monitor(info.p_tcp_port_monitor_collection, + port_begin, port_end) == NULL) { + tcp_port_monitor_t *p_monitor = create_tcp_port_monitor(port_begin, + port_end, &tcp_port_monitor_args); - if (!p_monitor) { - CRIT_ERR("tcp_portmon: unable to create port monitor"); - } - /* add the newly created monitor to the collection */ - if (insert_tcp_port_monitor_into_collection( - info.p_tcp_port_monitor_collection, p_monitor) != 0) { - CRIT_ERR("tcp_portmon: unable to add port monitor to " - "collection"); - } + if (!p_monitor) { + CRIT_ERR("tcp_portmon: unable to create port monitor"); } + /* add the newly created monitor to the collection */ + if (insert_tcp_port_monitor_into_collection( + info.p_tcp_port_monitor_collection, p_monitor) != 0) { + CRIT_ERR("tcp_portmon: unable to add port monitor to " + "collection"); + } + } #endif - END OBJ(entropy_avail, INFO_ENTROPY) - END OBJ(entropy_poolsize, INFO_ENTROPY) - END OBJ(entropy_bar, INFO_ENTROPY) - scan_bar(arg, &obj->a, &obj->b); - END OBJ(scroll, 0) - int n; + END OBJ(entropy_avail, INFO_ENTROPY) + END OBJ(entropy_poolsize, INFO_ENTROPY) + END OBJ(entropy_bar, INFO_ENTROPY) + scan_bar(arg, &obj->a, &obj->b); + END OBJ(scroll, 0) + int n; - if (arg && sscanf(arg, "%u %n", &obj->data.scroll.show, &n) > 0) { - obj->data.scroll.text = strndup(arg + n, text_buffer_size); - obj->data.scroll.start = 0; - } else { - CRIT_ERR("scroll needs arguments: <length> <text>"); - } + if (arg && sscanf(arg, "%u %n", &obj->data.scroll.show, &n) > 0) { + obj->data.scroll.text = strndup(arg + n, text_buffer_size); + obj->data.scroll.start = 0; + } else { + CRIT_ERR("scroll needs arguments: <length> <text>"); + } #ifdef NVIDIA - END OBJ(nvidia, 0) - if (!arg) { - CRIT_ERR("nvidia needs an argument\n"); - } else if (set_nvidia_type(&obj->data.nvidia, arg)) { - CRIT_ERR("nvidia: invalid argument" - " specified: '%s'\n", arg); - } + END OBJ(nvidia, 0) + if (!arg) { + CRIT_ERR("nvidia needs an argument\n"); + } else if (set_nvidia_type(&obj->data.nvidia, arg)) { + CRIT_ERR("nvidia: invalid argument" + " specified: '%s'\n", arg); + } #endif /* NVIDIA */ - END { - char buf[256]; + END { + char buf[256]; - ERR("unknown variable %s", s); - obj->type = OBJ_text; - snprintf(buf, 256, "${%s}", s); - obj->data.s = strndup(buf, text_buffer_size); - } + ERR("unknown variable %s", s); + obj->type = OBJ_text; + snprintf(buf, 256, "${%s}", s); + obj->data.s = strndup(buf, text_buffer_size); + } #undef OBJ - return obj; + return obj; } static struct text_object *create_plain_text(const char *s) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <n0...@us...> - 2008-09-01 23:08:12
|
Revision: 1242 http://conky.svn.sourceforge.net/conky/?rev=1242&view=rev Author: n0-1 Date: 2008-09-01 23:08:09 +0000 (Mon, 01 Sep 2008) Log Message: ----------- another indentation (and some whitespace) fixup Modified Paths: -------------- trunk/conky1/src/conky.c Modified: trunk/conky1/src/conky.c =================================================================== --- trunk/conky1/src/conky.c 2008-09-01 22:30:54 UTC (rev 1241) +++ trunk/conky1/src/conky.c 2008-09-01 23:08:09 UTC (rev 1242) @@ -4514,420 +4514,420 @@ default: ERR("not implemented obj type %d", obj->type); #ifndef __OpenBSD__ - OBJ(acpitemp) { - /* does anyone have decimals in acpi temperature? */ - spaced_print(p, p_max_size, "%d", 5, "acpitemp", - round_to_int(get_acpi_temperature(obj->data.i))); - } - OBJ(acpitempf) { - /* does anyone have decimals in acpi temperature? */ - spaced_print(p, p_max_size, "%d", 5, "acpitemp", - round_to_int((get_acpi_temperature(obj->data.i) + 40) * - 9.0 / 5 - 40)); - } + OBJ(acpitemp) { + /* does anyone have decimals in acpi temperature? */ + spaced_print(p, p_max_size, "%d", 5, "acpitemp", + round_to_int(get_acpi_temperature(obj->data.i))); + } + OBJ(acpitempf) { + /* does anyone have decimals in acpi temperature? */ + spaced_print(p, p_max_size, "%d", 5, "acpitemp", + round_to_int((get_acpi_temperature(obj->data.i) + 40) * + 9.0 / 5 - 40)); + } #endif /* !__OpenBSD__ */ - OBJ(freq) { - if (obj->a) { - obj->a = get_freq(p, p_max_size, "%.0f", 1, - obj->data.cpu_index); - } + OBJ(freq) { + if (obj->a) { + obj->a = get_freq(p, p_max_size, "%.0f", 1, + obj->data.cpu_index); } - OBJ(freq_g) { - if (obj->a) { + } + OBJ(freq_g) { + if (obj->a) { #ifndef __OpenBSD__ - obj->a = get_freq(p, p_max_size, "%'.2f", 1000, - obj->data.cpu_index); + obj->a = get_freq(p, p_max_size, "%'.2f", 1000, + obj->data.cpu_index); #else - /* OpenBSD has no such flag (SUSv2) */ - obj->a = get_freq(p, p_max_size, "%.2f", 1000, - obj->data.cpu_index); + /* OpenBSD has no such flag (SUSv2) */ + obj->a = get_freq(p, p_max_size, "%.2f", 1000, + obj->data.cpu_index); #endif - } } + } #if defined(__linux__) - OBJ(voltage_mv) { - if (obj->a) { - obj->a = get_voltage(p, p_max_size, "%.0f", 1, - obj->data.cpu_index); - } + OBJ(voltage_mv) { + if (obj->a) { + obj->a = get_voltage(p, p_max_size, "%.0f", 1, + obj->data.cpu_index); } - OBJ(voltage_v) { - if (obj->a) { - obj->a = get_voltage(p, p_max_size, "%'.3f", 1000, - obj->data.cpu_index); - } + } + OBJ(voltage_v) { + if (obj->a) { + obj->a = get_voltage(p, p_max_size, "%'.3f", 1000, + obj->data.cpu_index); } + } #ifdef HAVE_IWLIB - OBJ(wireless_essid) { - snprintf(p, p_max_size, "%s", obj->data.net->essid); + OBJ(wireless_essid) { + snprintf(p, p_max_size, "%s", obj->data.net->essid); + } + OBJ(wireless_mode) { + snprintf(p, p_max_size, "%s", obj->data.net->mode); + } + OBJ(wireless_bitrate) { + snprintf(p, p_max_size, "%s", obj->data.net->bitrate); + } + OBJ(wireless_ap) { + snprintf(p, p_max_size, "%s", obj->data.net->ap); + } + OBJ(wireless_link_qual) { + spaced_print(p, p_max_size, "%d", 4, "wireless_link_qual", + obj->data.net->link_qual); + } + OBJ(wireless_link_qual_max) { + spaced_print(p, p_max_size, "%d", 4, + "wireless_link_qual_max", obj->data.net->link_qual_max); + } + OBJ(wireless_link_qual_perc) { + if (obj->data.net->link_qual_max > 0) { + spaced_print(p, p_max_size, "%.0f", 5, + "wireless_link_qual_perc", + (double) obj->data.net->link_qual / + obj->data.net->link_qual_max * 100); + } else { + spaced_print(p, p_max_size, "unk", 5, + "wireless_link_qual_perc"); } - OBJ(wireless_mode) { - snprintf(p, p_max_size, "%s", obj->data.net->mode); - } - OBJ(wireless_bitrate) { - snprintf(p, p_max_size, "%s", obj->data.net->bitrate); - } - OBJ(wireless_ap) { - snprintf(p, p_max_size, "%s", obj->data.net->ap); - } - OBJ(wireless_link_qual) { - spaced_print(p, p_max_size, "%d", 4, "wireless_link_qual", - obj->data.net->link_qual); - } - OBJ(wireless_link_qual_max) { - spaced_print(p, p_max_size, "%d", 4, - "wireless_link_qual_max", obj->data.net->link_qual_max); - } - OBJ(wireless_link_qual_perc) { - if (obj->data.net->link_qual_max > 0) { - spaced_print(p, p_max_size, "%.0f", 5, - "wireless_link_qual_perc", - (double) obj->data.net->link_qual / - obj->data.net->link_qual_max * 100); - } else { - spaced_print(p, p_max_size, "unk", 5, - "wireless_link_qual_perc"); - } - } - OBJ(wireless_link_bar) { - new_bar(p, obj->a, obj->b, ((double) obj->data.net->link_qual / - obj->data.net->link_qual_max) * 255.0); - } + } + OBJ(wireless_link_bar) { + new_bar(p, obj->a, obj->b, ((double) obj->data.net->link_qual / + obj->data.net->link_qual_max) * 255.0); + } #endif /* HAVE_IWLIB */ #endif /* __linux__ */ - OBJ(freq_dyn) { - get_freq_dynamic(p, p_max_size, "%.0f", 1); - spaced_print(p, p_max_size, "%s", 6, "freq_dyn", p); - } - OBJ(freq_dyn_g) { + OBJ(freq_dyn) { + get_freq_dynamic(p, p_max_size, "%.0f", 1); + spaced_print(p, p_max_size, "%s", 6, "freq_dyn", p); + } + OBJ(freq_dyn_g) { #ifndef __OpenBSD__ - get_freq_dynamic(p, p_max_size, "%'.2f", 1000); + get_freq_dynamic(p, p_max_size, "%'.2f", 1000); #else - get_freq_dynamic(p, p_max_size, "%.2f", 1000); + get_freq_dynamic(p, p_max_size, "%.2f", 1000); #endif - spaced_print(p, p_max_size, "%s", 6, "freq_dyn", p); - } + spaced_print(p, p_max_size, "%s", 6, "freq_dyn", p); + } #ifndef __OpenBSD__ - OBJ(adt746xcpu) { - get_adt746x_cpu(p, p_max_size); - } - OBJ(adt746xfan) { - get_adt746x_fan(p, p_max_size); - } - OBJ(acpifan) { - get_acpi_fan(p, p_max_size); - } - OBJ(acpiacadapter) { - get_acpi_ac_adapter(p, p_max_size); - } - OBJ(battery) { - get_battery_stuff(p, p_max_size, obj->data.s, BATTERY_STATUS); - } - OBJ(battery_time) { - get_battery_stuff(p, p_max_size, obj->data.s, BATTERY_TIME); - } - OBJ(battery_percent) { - spaced_print(p, p_max_size, "%*d", 4, "battery_percent", - pad_percents, get_battery_perct(obj->data.s)); - } - OBJ(battery_bar) { - new_bar(p, obj->a, obj->b, get_battery_perct_bar(obj->data.s)); - } + OBJ(adt746xcpu) { + get_adt746x_cpu(p, p_max_size); + } + OBJ(adt746xfan) { + get_adt746x_fan(p, p_max_size); + } + OBJ(acpifan) { + get_acpi_fan(p, p_max_size); + } + OBJ(acpiacadapter) { + get_acpi_ac_adapter(p, p_max_size); + } + OBJ(battery) { + get_battery_stuff(p, p_max_size, obj->data.s, BATTERY_STATUS); + } + OBJ(battery_time) { + get_battery_stuff(p, p_max_size, obj->data.s, BATTERY_TIME); + } + OBJ(battery_percent) { + spaced_print(p, p_max_size, "%*d", 4, "battery_percent", + pad_percents, get_battery_perct(obj->data.s)); + } + OBJ(battery_bar) { + new_bar(p, obj->a, obj->b, get_battery_perct_bar(obj->data.s)); + } #endif /* __OpenBSD__ */ - OBJ(buffers) { - human_readable(cur->buffers * 1024, p, 255, "buffers"); + OBJ(buffers) { + human_readable(cur->buffers * 1024, p, 255, "buffers"); + } + OBJ(cached) { + human_readable(cur->cached * 1024, p, 255, "buffers"); + } + OBJ(cpu) { + if (obj->data.cpu_index > info.cpu_count) { + printf("obj->data.cpu_index %i info.cpu_count %i", + obj->data.cpu_index, info.cpu_count); + CRIT_ERR("attempting to use more CPUs than you have!"); } - OBJ(cached) { - human_readable(cur->cached * 1024, p, 255, "buffers"); - } - OBJ(cpu) { - if (obj->data.cpu_index > info.cpu_count) { - printf("obj->data.cpu_index %i info.cpu_count %i", - obj->data.cpu_index, info.cpu_count); - CRIT_ERR("attempting to use more CPUs than you have!"); - } - spaced_print(p, p_max_size, "%*d", 4, "cpu", pad_percents, - round_to_int(cur->cpu_usage[obj->data.cpu_index] * 100.0)); - } - OBJ(cpubar) { - new_bar(p, obj->a, obj->b, - round_to_int(cur->cpu_usage[obj->data.cpu_index] * 255.0)); - } - OBJ(cpugraph) { - new_graph(p, obj->a, obj->b, obj->c, obj->d, (unsigned int) - round_to_int(cur->cpu_usage[obj->data.cpu_index] * 100), - 100, 1, obj->showaslog); - } - OBJ(loadgraph) { - new_graph(p, obj->a, obj->b, obj->c, obj->d, cur->loadavg[0], - obj->e, 1, obj->showaslog); - } - OBJ(color) { - new_fg(p, obj->data.l); - } - OBJ(color0) { - new_fg(p, color0); - } - OBJ(color1) { - new_fg(p, color1); - } - OBJ(color2) { - new_fg(p, color2); - } - OBJ(color3) { - new_fg(p, color3); - } - OBJ(color4) { - new_fg(p, color4); - } - OBJ(color5) { - new_fg(p, color5); - } - OBJ(color6) { - new_fg(p, color6); - } - OBJ(color7) { - new_fg(p, color7); - } - OBJ(color8) { - new_fg(p, color8); - } - OBJ(color9) { - new_fg(p, color9); - } - OBJ(conky_version) { - snprintf(p, p_max_size, "%s", VERSION); - } - OBJ(conky_build_date) { - snprintf(p, p_max_size, "%s", BUILD_DATE); - } - OBJ(conky_build_arch) { - snprintf(p, p_max_size, "%s", BUILD_ARCH); - } + spaced_print(p, p_max_size, "%*d", 4, "cpu", pad_percents, + round_to_int(cur->cpu_usage[obj->data.cpu_index] * 100.0)); + } + OBJ(cpubar) { + new_bar(p, obj->a, obj->b, + round_to_int(cur->cpu_usage[obj->data.cpu_index] * 255.0)); + } + OBJ(cpugraph) { + new_graph(p, obj->a, obj->b, obj->c, obj->d, (unsigned int) + round_to_int(cur->cpu_usage[obj->data.cpu_index] * 100), + 100, 1, obj->showaslog); + } + OBJ(loadgraph) { + new_graph(p, obj->a, obj->b, obj->c, obj->d, cur->loadavg[0], + obj->e, 1, obj->showaslog); + } + OBJ(color) { + new_fg(p, obj->data.l); + } + OBJ(color0) { + new_fg(p, color0); + } + OBJ(color1) { + new_fg(p, color1); + } + OBJ(color2) { + new_fg(p, color2); + } + OBJ(color3) { + new_fg(p, color3); + } + OBJ(color4) { + new_fg(p, color4); + } + OBJ(color5) { + new_fg(p, color5); + } + OBJ(color6) { + new_fg(p, color6); + } + OBJ(color7) { + new_fg(p, color7); + } + OBJ(color8) { + new_fg(p, color8); + } + OBJ(color9) { + new_fg(p, color9); + } + OBJ(conky_version) { + snprintf(p, p_max_size, "%s", VERSION); + } + OBJ(conky_build_date) { + snprintf(p, p_max_size, "%s", BUILD_DATE); + } + OBJ(conky_build_arch) { + snprintf(p, p_max_size, "%s", BUILD_ARCH); + } #if defined(__linux__) - OBJ(disk_protect) { - snprintf(p, p_max_size, "%s", - get_disk_protect_queue(obj->data.s)); - } - OBJ(i8k_version) { - snprintf(p, p_max_size, "%s", i8k.version); - } - OBJ(i8k_bios) { - snprintf(p, p_max_size, "%s", i8k.bios); - } - OBJ(i8k_serial) { - snprintf(p, p_max_size, "%s", i8k.serial); - } - OBJ(i8k_cpu_temp) { - snprintf(p, p_max_size, "%s", i8k.cpu_temp); - } - OBJ(i8k_cpu_tempf) { - int cpu_temp; + OBJ(disk_protect) { + snprintf(p, p_max_size, "%s", + get_disk_protect_queue(obj->data.s)); + } + OBJ(i8k_version) { + snprintf(p, p_max_size, "%s", i8k.version); + } + OBJ(i8k_bios) { + snprintf(p, p_max_size, "%s", i8k.bios); + } + OBJ(i8k_serial) { + snprintf(p, p_max_size, "%s", i8k.serial); + } + OBJ(i8k_cpu_temp) { + snprintf(p, p_max_size, "%s", i8k.cpu_temp); + } + OBJ(i8k_cpu_tempf) { + int cpu_temp; - sscanf(i8k.cpu_temp, "%d", &cpu_temp); - snprintf(p, p_max_size, "%.1f", cpu_temp * (9.0 / 5.0) + 32.0); - } - OBJ(i8k_left_fan_status) { - int left_fan_status; + sscanf(i8k.cpu_temp, "%d", &cpu_temp); + snprintf(p, p_max_size, "%.1f", cpu_temp * (9.0 / 5.0) + 32.0); + } + OBJ(i8k_left_fan_status) { + int left_fan_status; - sscanf(i8k.left_fan_status, "%d", &left_fan_status); - if (left_fan_status == 0) { - snprintf(p, p_max_size, "off"); - } - if (left_fan_status == 1) { - snprintf(p, p_max_size, "low"); - } - if (left_fan_status == 2) { - snprintf(p, p_max_size, "high"); - } + sscanf(i8k.left_fan_status, "%d", &left_fan_status); + if (left_fan_status == 0) { + snprintf(p, p_max_size, "off"); } - OBJ(i8k_right_fan_status) { - int right_fan_status; - - sscanf(i8k.right_fan_status, "%d", &right_fan_status); - if (right_fan_status == 0) { - snprintf(p, p_max_size, "off"); - } - if (right_fan_status == 1) { - snprintf(p, p_max_size, "low"); - } - if (right_fan_status == 2) { - snprintf(p, p_max_size, "high"); - } + if (left_fan_status == 1) { + snprintf(p, p_max_size, "low"); } - OBJ(i8k_left_fan_rpm) { - snprintf(p, p_max_size, "%s", i8k.left_fan_rpm); + if (left_fan_status == 2) { + snprintf(p, p_max_size, "high"); } - OBJ(i8k_right_fan_rpm) { - snprintf(p, p_max_size, "%s", i8k.right_fan_rpm); - } - OBJ(i8k_ac_status) { - int ac_status; + } + OBJ(i8k_right_fan_status) { + int right_fan_status; - sscanf(i8k.ac_status, "%d", &ac_status); - if (ac_status == -1) { - snprintf(p, p_max_size, "disabled (read i8k docs)"); - } - if (ac_status == 0) { - snprintf(p, p_max_size, "off"); - } - if (ac_status == 1) { - snprintf(p, p_max_size, "on"); - } + sscanf(i8k.right_fan_status, "%d", &right_fan_status); + if (right_fan_status == 0) { + snprintf(p, p_max_size, "off"); } - OBJ(i8k_buttons_status) { - snprintf(p, p_max_size, "%s", i8k.buttons_status); + if (right_fan_status == 1) { + snprintf(p, p_max_size, "low"); } - OBJ(ibm_fan) { - get_ibm_acpi_fan(p, p_max_size); + if (right_fan_status == 2) { + snprintf(p, p_max_size, "high"); } - OBJ(ibm_temps) { - get_ibm_acpi_temps(); - snprintf(p, p_max_size, "%d", ibm_acpi.temps[obj->data.sensor]); + } + OBJ(i8k_left_fan_rpm) { + snprintf(p, p_max_size, "%s", i8k.left_fan_rpm); + } + OBJ(i8k_right_fan_rpm) { + snprintf(p, p_max_size, "%s", i8k.right_fan_rpm); + } + OBJ(i8k_ac_status) { + int ac_status; + + sscanf(i8k.ac_status, "%d", &ac_status); + if (ac_status == -1) { + snprintf(p, p_max_size, "disabled (read i8k docs)"); } - OBJ(ibm_volume) { - get_ibm_acpi_volume(p, p_max_size); + if (ac_status == 0) { + snprintf(p, p_max_size, "off"); } - OBJ(ibm_brightness) { - get_ibm_acpi_brightness(p, p_max_size); + if (ac_status == 1) { + snprintf(p, p_max_size, "on"); } - OBJ(if_up) { - if ((obj->data.ifblock.s) - && (!interface_up(obj->data.ifblock.s))) { - i = obj->data.ifblock.pos; - if_jumped = 1; - } else { - if_jumped = 0; - } + } + OBJ(i8k_buttons_status) { + snprintf(p, p_max_size, "%s", i8k.buttons_status); + } + OBJ(ibm_fan) { + get_ibm_acpi_fan(p, p_max_size); + } + OBJ(ibm_temps) { + get_ibm_acpi_temps(); + snprintf(p, p_max_size, "%d", ibm_acpi.temps[obj->data.sensor]); + } + OBJ(ibm_volume) { + get_ibm_acpi_volume(p, p_max_size); + } + OBJ(ibm_brightness) { + get_ibm_acpi_brightness(p, p_max_size); + } + OBJ(if_up) { + if ((obj->data.ifblock.s) + && (!interface_up(obj->data.ifblock.s))) { + i = obj->data.ifblock.pos; + if_jumped = 1; + } else { + if_jumped = 0; } - OBJ(if_gw) { - if (!cur->gw_info.count) { - i = obj->data.ifblock.pos; - if_jumped = 1; - } else { - if_jumped = 0; - } + } + OBJ(if_gw) { + if (!cur->gw_info.count) { + i = obj->data.ifblock.pos; + if_jumped = 1; + } else { + if_jumped = 0; } - OBJ(gw_iface) { - snprintf(p, p_max_size, "%s", cur->gw_info.iface); - } - OBJ(gw_ip) { - snprintf(p, p_max_size, "%s", cur->gw_info.ip); - } - OBJ(laptop_mode) { - snprintf(p, p_max_size, "%d", get_laptop_mode()); - } - OBJ(pb_battery) { - get_powerbook_batt_info(p, p_max_size, obj->data.i); - } + } + OBJ(gw_iface) { + snprintf(p, p_max_size, "%s", cur->gw_info.iface); + } + OBJ(gw_ip) { + snprintf(p, p_max_size, "%s", cur->gw_info.ip); + } + OBJ(laptop_mode) { + snprintf(p, p_max_size, "%d", get_laptop_mode()); + } + OBJ(pb_battery) { + get_powerbook_batt_info(p, p_max_size, obj->data.i); + } #endif /* __linux__ */ #ifdef __OpenBSD__ - OBJ(obsd_sensors_temp) { - obsd_sensors.device = sensor_device; - update_obsd_sensors(); - snprintf(p, p_max_size, "%.1f", - obsd_sensors.temp[obsd_sensors.device][obj->data.sensor]); - } - OBJ(obsd_sensors_fan) { - obsd_sensors.device = sensor_device; - update_obsd_sensors(); - snprintf(p, p_max_size, "%d", - obsd_sensors.fan[obsd_sensors.device][obj->data.sensor]); - } - OBJ(obsd_sensors_volt) { - obsd_sensors.device = sensor_device; - update_obsd_sensors(); - snprintf(p, p_max_size, "%.2f", - obsd_sensors.volt[obsd_sensors.device][obj->data.sensor]); - } - OBJ(obsd_vendor) { - get_obsd_vendor(p, p_max_size); - } - OBJ(obsd_product) { - get_obsd_product(p, p_max_size); - } + OBJ(obsd_sensors_temp) { + obsd_sensors.device = sensor_device; + update_obsd_sensors(); + snprintf(p, p_max_size, "%.1f", + obsd_sensors.temp[obsd_sensors.device][obj->data.sensor]); + } + OBJ(obsd_sensors_fan) { + obsd_sensors.device = sensor_device; + update_obsd_sensors(); + snprintf(p, p_max_size, "%d", + obsd_sensors.fan[obsd_sensors.device][obj->data.sensor]); + } + OBJ(obsd_sensors_volt) { + obsd_sensors.device = sensor_device; + update_obsd_sensors(); + snprintf(p, p_max_size, "%.2f", + obsd_sensors.volt[obsd_sensors.device][obj->data.sensor]); + } + OBJ(obsd_vendor) { + get_obsd_vendor(p, p_max_size); + } + OBJ(obsd_product) { + get_obsd_product(p, p_max_size); + } #endif /* __OpenBSD__ */ #ifdef X11 - OBJ(font) { - new_font(p, obj->data.s); - } + OBJ(font) { + new_font(p, obj->data.s); + } #endif - /* TODO: move this correction from kB to kB/s elsewhere - * (or get rid of it??) */ - OBJ(diskio) { - if (obj->data.diskio) { - human_readable( - (obj->data.diskio->current / update_interval) * 1024LL, - p, p_max_size, "diskio"); - } else { - human_readable(info.diskio_value * 1024LL, p, p_max_size, - "diskio"); - } + /* TODO: move this correction from kB to kB/s elsewhere + * (or get rid of it??) */ + OBJ(diskio) { + if (obj->data.diskio) { + human_readable( + (obj->data.diskio->current / update_interval) * 1024LL, + p, p_max_size, "diskio"); + } else { + human_readable(info.diskio_value * 1024LL, p, p_max_size, + "diskio"); } - OBJ(diskio_write) { - if (obj->data.diskio) { - human_readable((obj->data.diskio->current_write / update_interval) * 1024LL, p, p_max_size, - "diskio_write"); - } else { - human_readable(info.diskio_write_value * 1024LL, p, p_max_size, - "diskio_write"); - } + } + OBJ(diskio_write) { + if (obj->data.diskio) { + human_readable((obj->data.diskio->current_write / update_interval) * 1024LL, p, p_max_size, + "diskio_write"); + } else { + human_readable(info.diskio_write_value * 1024LL, p, p_max_size, + "diskio_write"); } - OBJ(diskio_read) { - if (obj->data.diskio) { - human_readable((obj->data.diskio->current_read / update_interval) * 1024LL, p, p_max_size, - "diskio_read"); - } else { - human_readable(info.diskio_read_value * 1024LL, p, p_max_size, - "diskio_read"); - } + } + OBJ(diskio_read) { + if (obj->data.diskio) { + human_readable((obj->data.diskio->current_read / update_interval) * 1024LL, p, p_max_size, + "diskio_read"); + } else { + human_readable(info.diskio_read_value * 1024LL, p, p_max_size, + "diskio_read"); } - OBJ(diskiograph) { - if (obj->data.diskio) { - new_graph(p, obj->a, obj->b, obj->c, obj->d, - obj->data.diskio->current, obj->e, 1, obj->showaslog); - } else { - new_graph(p, obj->a, obj->b, obj->c, obj->d, info.diskio_value, - obj->e, 1, obj->showaslog); - } + } + OBJ(diskiograph) { + if (obj->data.diskio) { + new_graph(p, obj->a, obj->b, obj->c, obj->d, + obj->data.diskio->current, obj->e, 1, obj->showaslog); + } else { + new_graph(p, obj->a, obj->b, obj->c, obj->d, info.diskio_value, + obj->e, 1, obj->showaslog); } - OBJ(diskiograph_read) { - if (obj->data.diskio) { - new_graph(p, obj->a, obj->b, obj->c, obj->d, - obj->data.diskio->current_read, obj->e, 1, obj->showaslog); - } else { - new_graph(p, obj->a, obj->b, obj->c, obj->d, - info.diskio_read_value, obj->e, 1, obj->showaslog); - } + } + OBJ(diskiograph_read) { + if (obj->data.diskio) { + new_graph(p, obj->a, obj->b, obj->c, obj->d, + obj->data.diskio->current_read, obj->e, 1, obj->showaslog); + } else { + new_graph(p, obj->a, obj->b, obj->c, obj->d, + info.diskio_read_value, obj->e, 1, obj->showaslog); } - OBJ(diskiograph_write) { - if (obj->data.diskio) { - new_graph(p, obj->a, obj->b, obj->c, obj->d, - obj->data.diskio->current_write, obj->e, 1, obj->showaslog); - } else { - new_graph(p, obj->a, obj->b, obj->c, obj->d, - info.diskio_write_value, obj->e, 1, obj->showaslog); - } + } + OBJ(diskiograph_write) { + if (obj->data.diskio) { + new_graph(p, obj->a, obj->b, obj->c, obj->d, + obj->data.diskio->current_write, obj->e, 1, obj->showaslog); + } else { + new_graph(p, obj->a, obj->b, obj->c, obj->d, + info.diskio_write_value, obj->e, 1, obj->showaslog); } - OBJ(downspeed) { - spaced_print(p, p_max_size, "%d", 6, "downspeed", - round_to_int(obj->data.net->recv_speed / 1024)); - } - OBJ(downspeedf) { - spaced_print(p, p_max_size, "%.1f", 8, "downspeedf", - obj->data.net->recv_speed / 1024.0); - } - OBJ(downspeedgraph) { - new_graph(p, obj->a, obj->b, obj->c, obj->d, - obj->data.net->recv_speed / 1024.0, obj->e, 1, obj->showaslog); } + OBJ(downspeed) { + spaced_print(p, p_max_size, "%d", 6, "downspeed", + round_to_int(obj->data.net->recv_speed / 1024)); + } + OBJ(downspeedf) { + spaced_print(p, p_max_size, "%.1f", 8, "downspeedf", + obj->data.net->recv_speed / 1024.0); + } + OBJ(downspeedgraph) { + new_graph(p, obj->a, obj->b, obj->c, obj->d, + obj->data.net->recv_speed / 1024.0, obj->e, 1, obj->showaslog); + } OBJ(else) { if (!if_jumped) { i = obj->data.ifblock.pos - 1; @@ -6144,11 +6144,11 @@ OBJ(lines) { FILE *fp = fopen(obj->data.s,"r"); - + if(fp != NULL) { char buf[BUFSZ]; int j, lines; - + lines = 0; while(fgets(buf, BUFSZ, fp) != NULL){ for(j = 0; buf[j] != 0; j++) { @@ -6166,12 +6166,12 @@ OBJ(words) { FILE *fp = fopen(obj->data.s,"r"); - + if(fp != NULL) { char buf[BUFSZ]; int j, words; char inword = FALSE; - + words = 0; while(fgets(buf, BUFSZ, fp) != NULL){ for(j = 0; buf[j] != 0; j++) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bre...@us...> - 2008-09-11 03:22:41
|
Revision: 1246 http://conky.svn.sourceforge.net/conky/?rev=1246&view=rev Author: brenden1 Date: 2008-09-11 03:22:37 +0000 (Thu, 11 Sep 2008) Log Message: ----------- oops, remove debug stuff Modified Paths: -------------- trunk/conky1/src/conky.c Modified: trunk/conky1/src/conky.c =================================================================== --- trunk/conky1/src/conky.c 2008-09-11 03:21:39 UTC (rev 1245) +++ trunk/conky1/src/conky.c 2008-09-11 03:22:37 UTC (rev 1246) @@ -5344,7 +5344,7 @@ #endif #ifdef HDDTEMP OBJ(hddtemp) { -// if (obj->data.hddtemp.update_time < current_update_time - 30) { + if (obj->data.hddtemp.update_time < current_update_time - 30) { char *str = get_hddtemp_info(obj->data.hddtemp.dev, obj->data.hddtemp.addr, obj->data.hddtemp.port, &obj->data.hddtemp.unit); if (str) { @@ -5353,7 +5353,7 @@ obj->data.hddtemp.temp[0] = 0; } obj->data.hddtemp.update_time = current_update_time; -// } + } if (!obj->data.hddtemp.temp) { snprintf(p, p_max_size, "N/A"); } else if (obj->data.hddtemp.unit == '*') { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bre...@us...> - 2008-09-24 21:04:37
|
Revision: 1256 http://conky.svn.sourceforge.net/conky/?rev=1256&view=rev Author: brenden1 Date: 2008-09-24 21:04:29 +0000 (Wed, 24 Sep 2008) Log Message: ----------- fix small bug in imap idle stuff Modified Paths: -------------- trunk/conky1/src/conky.c Modified: trunk/conky1/src/conky.c =================================================================== --- trunk/conky1/src/conky.c 2008-09-24 20:56:09 UTC (rev 1255) +++ trunk/conky1/src/conky.c 2008-09-24 21:04:29 UTC (rev 1256) @@ -1902,6 +1902,7 @@ timed_thread_unlock(mail->p_timed_thread); } } + buf = recvbuf; buf = strstr(buf, "RECENT"); if (buf) { // back up until we reach '*' This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bre...@us...> - 2008-09-25 04:01:53
|
Revision: 1258 http://conky.svn.sourceforge.net/conky/?rev=1258&view=rev Author: brenden1 Date: 2008-09-25 04:01:47 +0000 (Thu, 25 Sep 2008) Log Message: ----------- improving IMAP IDLE support, more Modified Paths: -------------- trunk/conky1/src/conky.c Modified: trunk/conky1/src/conky.c =================================================================== --- trunk/conky1/src/conky.c 2008-09-25 03:11:24 UTC (rev 1257) +++ trunk/conky1/src/conky.c 2008-09-25 04:01:47 UTC (rev 1258) @@ -1647,11 +1647,11 @@ return mail; } -int imap_command(int sockfd, char *command, char *response, const char *verify) +int imap_command(int sockfd, const char *command, char *response, const char *verify) { struct timeval timeout; fd_set fdset; - int res, numbytes; + int res, numbytes = 0; if (send(sockfd, command, strlen(command), 0) == -1) { perror("send"); return -1; @@ -1674,12 +1674,43 @@ return 0; } +int imap_check_status(char *recvbuf, struct mail_s *mail) +{ + char *reply; + reply = strstr(recvbuf, " (MESSAGES "); + if (!reply || strlen(reply) < 2) { + return -1; + } + reply += 2; + *strchr(reply, ')') = '\0'; + if (reply == NULL) { + ERR("Error parsing IMAP response: %s", recvbuf); + return -1; + } else { + timed_thread_lock(mail->p_timed_thread); + sscanf(reply, "MESSAGES %lu UNSEEN %lu", &mail->messages, + &mail->unseen); + timed_thread_unlock(mail->p_timed_thread); + } + return 0; +} + +void imap_unseen_command(struct mail_s *mail, unsigned long old_unseen, unsigned long old_messages) +{ + if (strlen(mail->command) > 1 && (mail->unseen > old_unseen + || (mail->messages > old_messages && mail->unseen > 0))) { + // new mail goodie + if (system(mail->command) == -1) { + perror("system()"); + } + } +} + void *imap_thread(void *arg) { int sockfd, numbytes; char recvbuf[MAXDATASIZE]; char sendbuf[MAXDATASIZE]; - char *reply; unsigned int fail = 0; unsigned long old_unseen = ULONG_MAX; unsigned long old_messages = ULONG_MAX; @@ -1778,27 +1809,11 @@ break; } - // now we get the data - reply = strstr(recvbuf, " (MESSAGES "); - reply += 2; - *strchr(reply, ')') = '\0'; - if (reply == NULL) { - ERR("Error parsing IMAP response: %s", recvbuf); + if (imap_check_status(recvbuf, mail)) { fail++; break; - } else { - timed_thread_lock(mail->p_timed_thread); - sscanf(reply, "MESSAGES %lu UNSEEN %lu", &mail->messages, - &mail->unseen); - timed_thread_unlock(mail->p_timed_thread); } - if (strlen(mail->command) > 1 && (mail->unseen > old_unseen - || (mail->messages > old_messages && mail->unseen > 0))) { - // new mail goodie - if (system(mail->command) == -1) { - perror("system()"); - } - } + imap_unseen_command(mail, old_unseen, old_messages); fail = 0; old_unseen = mail->unseen; old_messages = mail->messages; @@ -1867,27 +1882,41 @@ while (buf >= recvbuf && buf[0] != '*') { buf--; } - if (sscanf(buf, "* %lu RECENT\r\n", &recent) == 1) { - /* - * if we have > 0 recent, re-check the unseen count - */ - timed_thread_lock(mail->p_timed_thread); - mail->unseen = recent; - timed_thread_unlock(mail->p_timed_thread); + if (sscanf(buf, "* %lu RECENT\r\n", &recent) != 1) { + recent = 0; } } - } - if (strlen(mail->command) > 1 && (mail->unseen > old_unseen - || (mail->messages > old_messages && mail->unseen > 0))) { - // new mail goodie - if (system(mail->command) == -1) { - perror("system()"); + // check if we got a FETCH from server + buf = recvbuf; + if (recent > 0 || (buf && strstr(buf, " FETCH "))) { + // re-check messages and unseen + if (imap_command(sockfd, "DONE\r\n", recvbuf, "a5 OK")) { + fail++; + break; + } + strncpy(sendbuf, "a2 STATUS ", MAXDATASIZE); + strncat(sendbuf, mail->folder, MAXDATASIZE - strlen(sendbuf) - 1); + strncat(sendbuf, " (MESSAGES UNSEEN)\r\n", + MAXDATASIZE - strlen(sendbuf) - 1); + if (imap_command(sockfd, sendbuf, recvbuf, "a2 OK")) { + fail++; + break; + } + if (imap_check_status(recvbuf, mail)) { + fail++; + break; + } + strncpy(sendbuf, "a5 IDLE\r\n", MAXDATASIZE); + if (imap_command(sockfd, sendbuf, recvbuf, "+ idling")) { + fail++; + break; + } } } + imap_unseen_command(mail, old_unseen, old_messages); fail = 0; old_unseen = mail->unseen; old_messages = mail->messages; - } } else { strncpy(sendbuf, "a3 logout\r\n", MAXDATASIZE); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bre...@us...> - 2008-09-25 18:29:13
|
Revision: 1259 http://conky.svn.sourceforge.net/conky/?rev=1259&view=rev Author: brenden1 Date: 2008-09-25 18:29:04 +0000 (Thu, 25 Sep 2008) Log Message: ----------- close socket before exiting thread Modified Paths: -------------- trunk/conky1/src/conky.c Modified: trunk/conky1/src/conky.c =================================================================== --- trunk/conky1/src/conky.c 2008-09-25 04:01:47 UTC (rev 1258) +++ trunk/conky1/src/conky.c 2008-09-25 18:29:04 UTC (rev 1259) @@ -1839,11 +1839,12 @@ FD_SET(sockfd, &fdset); FD_SET(threadfd, &fdset); res = pselect(MAX(sockfd + 1, threadfd + 1), &fdset, NULL, NULL, NULL, &oldmask); - if (timed_thread_test(mail->p_timed_thread)) { + if (timed_thread_test(mail->p_timed_thread) || (res == -1 && errno == EINTR) || FD_ISSET(threadfd, &fdset)) { + if ((fstat(sockfd, &stat_buf) == 0) && S_ISSOCK(stat_buf.st_mode)) { + /* if a valid socket, close it */ + close(sockfd); + } timed_thread_exit(mail->p_timed_thread); - } - if ((res == -1 && errno == EINTR) || FD_ISSET(threadfd, &fdset)) { - timed_thread_exit(mail->p_timed_thread); } else if (res > 0) { if ((numbytes = recv(sockfd, recvbuf, MAXDATASIZE - 1, 0)) == -1) { perror("recv idling"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bre...@us...> - 2008-09-26 21:09:53
|
Revision: 1260 http://conky.svn.sourceforge.net/conky/?rev=1260&view=rev Author: brenden1 Date: 2008-09-26 21:09:48 +0000 (Fri, 26 Sep 2008) Log Message: ----------- respect IMAP IDLE timeout period Modified Paths: -------------- trunk/conky1/src/conky.c Modified: trunk/conky1/src/conky.c =================================================================== --- trunk/conky1/src/conky.c 2008-09-25 18:29:04 UTC (rev 1259) +++ trunk/conky1/src/conky.c 2008-09-26 21:09:48 UTC (rev 1260) @@ -70,9 +70,8 @@ #define MAX_IF_BLOCK_DEPTH 5 #define MAX_TAIL_LINES 100 -#define SIGNAL_BLOCKING -//#undef SIGNAL_BLOCKING -sigset_t oldmask; +//#define SIGNAL_BLOCKING +#undef SIGNAL_BLOCKING static void print_version(void) __attribute__((noreturn)); @@ -1835,10 +1834,16 @@ recvbuf[0] = '\0'; while (1) { + /* + * RFC 2177 says we have to re-idle every 29 minutes. + * We'll do it every 20 minutes to be safe. + */ + timeout.tv_sec = 1200; + timeout.tv_usec = 0; FD_ZERO(&fdset); FD_SET(sockfd, &fdset); FD_SET(threadfd, &fdset); - res = pselect(MAX(sockfd + 1, threadfd + 1), &fdset, NULL, NULL, NULL, &oldmask); + res = select(MAX(sockfd + 1, threadfd + 1), &fdset, NULL, NULL, NULL); if (timed_thread_test(mail->p_timed_thread) || (res == -1 && errno == EINTR) || FD_ISSET(threadfd, &fdset)) { if ((fstat(sockfd, &stat_buf) == 0) && S_ISSOCK(stat_buf.st_mode)) { /* if a valid socket, close it */ @@ -1887,9 +1892,12 @@ recent = 0; } } - // check if we got a FETCH from server + /* + * check if we got a FETCH from server, recent was + * something other than 0, or we had a timeout + */ buf = recvbuf; - if (recent > 0 || (buf && strstr(buf, " FETCH "))) { + if (recent > 0 || (buf && strstr(buf, " FETCH ")) || timeout.tv_sec == 0) { // re-check messages and unseen if (imap_command(sockfd, "DONE\r\n", recvbuf, "a5 OK")) { fail++; @@ -7561,7 +7569,7 @@ static void main_loop(void) { #ifdef SIGNAL_BLOCKING - sigset_t newmask; + sigset_t newmask, oldmask; #endif double t; #ifdef X11 @@ -8005,7 +8013,6 @@ memset(text_buffer, 0, max_user_text); update_text(); } - sigemptyset(&oldmask); } void clean_up(void) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bre...@us...> - 2008-09-26 21:29:15
|
Revision: 1261 http://conky.svn.sourceforge.net/conky/?rev=1261&view=rev Author: brenden1 Date: 2008-09-26 21:29:02 +0000 (Fri, 26 Sep 2008) Log Message: ----------- handle BYE from server when idling (IMAP stuff) Modified Paths: -------------- trunk/conky1/src/conky.c Modified: trunk/conky1/src/conky.c =================================================================== --- trunk/conky1/src/conky.c 2008-09-26 21:09:48 UTC (rev 1260) +++ trunk/conky1/src/conky.c 2008-09-26 21:29:02 UTC (rev 1261) @@ -1921,6 +1921,14 @@ break; } } + /* + * check if we got a BYE from server + */ + buf = recvbuf; + if (buf && strstr(buf, "* BYE")) { + // need to re-connect + break; + } } imap_unseen_command(mail, old_unseen, old_messages); fail = 0; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <n0...@us...> - 2008-11-04 21:43:13
|
Revision: 1268 http://conky.svn.sourceforge.net/conky/?rev=1268&view=rev Author: n0-1 Date: 2008-11-04 21:42:48 +0000 (Tue, 04 Nov 2008) Log Message: ----------- fix a potential segfault * happened when passing wrong arguments to ${scroll}, particularly with only one instead of the mandatory two unsigned ints * as it's not clear whether %n will change the value returned by sscanf or not, use a solution that works in both situations (%n incrementing the return value or not) Modified Paths: -------------- trunk/conky1/src/conky.c Modified: trunk/conky1/src/conky.c =================================================================== --- trunk/conky1/src/conky.c 2008-10-08 11:44:27 UTC (rev 1267) +++ trunk/conky1/src/conky.c 2008-11-04 21:42:48 UTC (rev 1268) @@ -4218,7 +4218,7 @@ int n; obj->data.scroll.step = 1; - if (arg && sscanf(arg, "%u %u %n", &obj->data.scroll.show, &obj->data.scroll.step, &n) > 0) { + if (arg && sscanf(arg, "%u %u %n", &obj->data.scroll.show, &obj->data.scroll.step, &n) >= 2) { obj->data.scroll.text = strndup(arg + n, text_buffer_size); obj->data.scroll.start = 0; } else { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <n0...@us...> - 2008-11-04 23:25:35
|
Revision: 1269 http://conky.svn.sourceforge.net/conky/?rev=1269&view=rev Author: n0-1 Date: 2008-11-04 23:25:28 +0000 (Tue, 04 Nov 2008) Log Message: ----------- fix my own fix The second parameter is optional, so have conky act accordingly. This time I tested using either two or three params and it worked flawlessly. Modified Paths: -------------- trunk/conky1/src/conky.c Modified: trunk/conky1/src/conky.c =================================================================== --- trunk/conky1/src/conky.c 2008-11-04 21:42:48 UTC (rev 1268) +++ trunk/conky1/src/conky.c 2008-11-04 23:25:28 UTC (rev 1269) @@ -4215,11 +4215,13 @@ END OBJ(entropy_bar, INFO_ENTROPY) scan_bar(arg, &obj->a, &obj->b); END OBJ(scroll, 0) - int n; + int n1, n2; obj->data.scroll.step = 1; - if (arg && sscanf(arg, "%u %u %n", &obj->data.scroll.show, &obj->data.scroll.step, &n) >= 2) { - obj->data.scroll.text = strndup(arg + n, text_buffer_size); + if (arg && sscanf(arg, "%u %n", &obj->data.scroll.show, &n1) > 0) { + if (sscanf(arg + n1, "%u %n", &obj->data.scroll.step, &n2) > 0) + n1 += n2; + obj->data.scroll.text = strndup(arg + n1, text_buffer_size); obj->data.scroll.start = 0; } else { CRIT_ERR("scroll needs arguments: <length> [<step>] <text>"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |