Use the highest order actually used, not MAX_ORDER, for checking whether to flush (Thanks Mirko)

This commit is contained in:
Michael Stapelberg 2009-07-22 18:39:25 +02:00
parent c9ab465cbb
commit 329a8994f7
2 changed files with 6 additions and 3 deletions

View File

@ -11,7 +11,7 @@
#define generate(orderidx, name, function) \
do { \
write_to_statusbar(order_to_str(order[orderidx], name), function, (j == (MAX_ORDER-1))); \
write_to_statusbar(order_to_str(order[orderidx], name), function, (j == (highest_order-1))); \
} while (0)
#define generate_order(condition, orderidx, name, function) \
@ -63,6 +63,8 @@ extern struct battery_head batteries;
/* socket file descriptor for general purposes */
extern int general_socket;
extern int highest_order;
extern const char *wlan_interface;
extern const char *eth_interface;
extern const char *wmii_path;

View File

@ -7,6 +7,8 @@
#include "i3status.h"
int highest_order = 0;
/*
* Reads the configuration from the given file
*
@ -111,9 +113,8 @@ int load_configuration(const char *configfile) {
}
OPT("order")
{
#define SET_ORDER(opt, idx) { if (strcasecmp(token, opt) == 0) order[idx] = c++; }
#define SET_ORDER(opt, idx) { if (strcasecmp(token, opt) == 0) order[idx] = highest_order++; }
char *walk, *token;
int c = 0;
walk = token = dest_value;
while (*walk != '\0') {
while ((*walk != ',') && (*walk != '\0'))