diff options
author | 2021-09-01 15:48:32 +0200 | |
---|---|---|
committer | 2021-09-01 15:48:32 +0200 | |
commit | ce7609375646cfb1e7d490579e172c37c74a0589 (patch) | |
tree | 0e0855e3c3971fc831c1378c35169990fb21cb13 /tools/idevicesyslog.c | |
parent | 24abbb9450c723617e10a6843978aa04a576523e (diff) | |
download | libimobiledevice-ce7609375646cfb1e7d490579e172c37c74a0589.tar.gz libimobiledevice-ce7609375646cfb1e7d490579e172c37c74a0589.tar.bz2 |
Remove common code in favor of new libimobiledevice-glue
Diffstat (limited to 'tools/idevicesyslog.c')
-rw-r--r-- | tools/idevicesyslog.c | 92 |
1 files changed, 12 insertions, 80 deletions
diff --git a/tools/idevicesyslog.c b/tools/idevicesyslog.c index d9b627f..4eb1605 100644 --- a/tools/idevicesyslog.c +++ b/tools/idevicesyslog.c | |||
@@ -41,10 +41,10 @@ | |||
41 | 41 | ||
42 | #include <libimobiledevice/libimobiledevice.h> | 42 | #include <libimobiledevice/libimobiledevice.h> |
43 | #include <libimobiledevice/syslog_relay.h> | 43 | #include <libimobiledevice/syslog_relay.h> |
44 | #include <libimobiledevice-glue/termcolors.h> | ||
44 | 45 | ||
45 | static int quit_flag = 0; | 46 | static int quit_flag = 0; |
46 | static int exit_on_disconnect = 0; | 47 | static int exit_on_disconnect = 0; |
47 | static int use_colors = 0; | ||
48 | static int show_device_name = 0; | 48 | static int show_device_name = 0; |
49 | 49 | ||
50 | static char* udid = NULL; | 50 | static char* udid = NULL; |
@@ -75,58 +75,6 @@ static char *line = NULL; | |||
75 | static int line_buffer_size = 0; | 75 | static int line_buffer_size = 0; |
76 | static int lp = 0; | 76 | static int lp = 0; |
77 | 77 | ||
78 | #ifdef WIN32 | ||
79 | static WORD COLOR_RESET = 0; | ||
80 | static HANDLE h_stdout = INVALID_HANDLE_VALUE; | ||
81 | |||
82 | #define COLOR_NORMAL COLOR_RESET | ||
83 | #define COLOR_DARK FOREGROUND_INTENSITY | ||
84 | #define COLOR_RED FOREGROUND_RED |FOREGROUND_INTENSITY | ||
85 | #define COLOR_DARK_RED FOREGROUND_RED | ||
86 | #define COLOR_GREEN FOREGROUND_GREEN | FOREGROUND_INTENSITY | ||
87 | #define COLOR_DARK_GREEN FOREGROUND_GREEN | ||
88 | #define COLOR_YELLOW FOREGROUND_GREEN | FOREGROUND_RED | FOREGROUND_INTENSITY | ||
89 | #define COLOR_DARK_YELLOW FOREGROUND_GREEN | FOREGROUND_RED | ||
90 | #define COLOR_BLUE FOREGROUND_BLUE | FOREGROUND_INTENSITY | ||
91 | #define COLOR_DARK_BLUE FOREGROUND_BLUE | ||
92 | #define COLOR_MAGENTA FOREGROUND_BLUE | FOREGROUND_RED | FOREGROUND_INTENSITY | ||
93 | #define COLOR_DARK_MAGENTA FOREGROUND_BLUE | FOREGROUND_RED | ||
94 | #define COLOR_CYAN FOREGROUND_BLUE | FOREGROUND_GREEN | ||
95 | #define COLOR_BRIGHT_CYAN FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_INTENSITY | ||
96 | #define COLOR_DARK_CYAN FOREGROUND_BLUE | FOREGROUND_GREEN | ||
97 | #define COLOR_WHITE FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY | ||
98 | #define COLOR_DARK_WHITE FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | ||
99 | |||
100 | static void TEXT_COLOR(WORD attr) | ||
101 | { | ||
102 | if (use_colors) { | ||
103 | SetConsoleTextAttribute(h_stdout, attr); | ||
104 | } | ||
105 | } | ||
106 | #else | ||
107 | |||
108 | #define COLOR_RESET "\e[m" | ||
109 | #define COLOR_NORMAL "\e[0m" | ||
110 | #define COLOR_DARK "\e[2m" | ||
111 | #define COLOR_RED "\e[0;31m" | ||
112 | #define COLOR_DARK_RED "\e[2;31m" | ||
113 | #define COLOR_GREEN "\e[0;32m" | ||
114 | #define COLOR_DARK_GREEN "\e[2;32m" | ||
115 | #define COLOR_YELLOW "\e[0;33m" | ||
116 | #define COLOR_DARK_YELLOW "\e[2;33m" | ||
117 | #define COLOR_BLUE "\e[0;34m" | ||
118 | #define COLOR_DARK_BLUE "\e[2;34m" | ||
119 | #define COLOR_MAGENTA "\e[0;35m" | ||
120 | #define COLOR_DARK_MAGENTA "\e[2;35m" | ||
121 | #define COLOR_CYAN "\e[0;36m" | ||
122 | #define COLOR_BRIGHT_CYAN "\e[1;36m" | ||
123 | #define COLOR_DARK_CYAN "\e[2;36m" | ||
124 | #define COLOR_WHITE "\e[1;37m" | ||
125 | #define COLOR_DARK_WHITE "\e[0;37m" | ||
126 | |||
127 | #define TEXT_COLOR(x) if (use_colors) { fwrite(x, 1, sizeof(x)-1, stdout); } | ||
128 | #endif | ||
129 | |||
130 | static void add_filter(const char* filterstr) | 78 | static void add_filter(const char* filterstr) |
131 | { | 79 | { |
132 | int filter_len = strlen(filterstr); | 80 | int filter_len = strlen(filterstr); |
@@ -201,7 +149,7 @@ static void syslog_callback(char c, void *user_data) | |||
201 | do { | 149 | do { |
202 | if (lp < 16) { | 150 | if (lp < 16) { |
203 | shall_print = 1; | 151 | shall_print = 1; |
204 | TEXT_COLOR(COLOR_WHITE); | 152 | cprintf(COLOR_WHITE); |
205 | break; | 153 | break; |
206 | } else if (line[3] == ' ' && line[6] == ' ' && line[15] == ' ') { | 154 | } else if (line[3] == ' ' && line[6] == ' ' && line[15] == ' ') { |
207 | char* end = &line[lp]; | 155 | char* end = &line[lp]; |
@@ -331,11 +279,7 @@ static void syslog_callback(char c, void *user_data) | |||
331 | /* log level */ | 279 | /* log level */ |
332 | char* level_start = p; | 280 | char* level_start = p; |
333 | char* level_end = p; | 281 | char* level_end = p; |
334 | #ifdef WIN32 | ||
335 | WORD level_color = COLOR_NORMAL; | ||
336 | #else | ||
337 | const char* level_color = NULL; | 282 | const char* level_color = NULL; |
338 | #endif | ||
339 | if (!strncmp(p, "<Notice>:", 9)) { | 283 | if (!strncmp(p, "<Notice>:", 9)) { |
340 | level_end += 9; | 284 | level_end += 9; |
341 | level_color = COLOR_GREEN; | 285 | level_color = COLOR_GREEN; |
@@ -353,24 +297,24 @@ static void syslog_callback(char c, void *user_data) | |||
353 | } | 297 | } |
354 | 298 | ||
355 | /* write date and time */ | 299 | /* write date and time */ |
356 | TEXT_COLOR(COLOR_DARK_WHITE); | 300 | cprintf(COLOR_LIGHT_GRAY); |
357 | fwrite(line, 1, 16, stdout); | 301 | fwrite(line, 1, 16, stdout); |
358 | 302 | ||
359 | if (show_device_name) { | 303 | if (show_device_name) { |
360 | /* write device name */ | 304 | /* write device name */ |
361 | TEXT_COLOR(COLOR_DARK_YELLOW); | 305 | cprintf(COLOR_DARK_YELLOW); |
362 | fwrite(device_name_start, 1, device_name_end-device_name_start+1, stdout); | 306 | fwrite(device_name_start, 1, device_name_end-device_name_start+1, stdout); |
363 | TEXT_COLOR(COLOR_RESET); | 307 | cprintf(COLOR_RESET); |
364 | } | 308 | } |
365 | 309 | ||
366 | /* write process name */ | 310 | /* write process name */ |
367 | TEXT_COLOR(COLOR_BRIGHT_CYAN); | 311 | cprintf(COLOR_BRIGHT_CYAN); |
368 | fwrite(process_name_start, 1, process_name_end-process_name_start, stdout); | 312 | fwrite(process_name_start, 1, process_name_end-process_name_start, stdout); |
369 | TEXT_COLOR(COLOR_CYAN); | 313 | cprintf(COLOR_CYAN); |
370 | fwrite(process_name_end, 1, proc_name_end-process_name_end+1, stdout); | 314 | fwrite(process_name_end, 1, proc_name_end-process_name_end+1, stdout); |
371 | 315 | ||
372 | /* write log level */ | 316 | /* write log level */ |
373 | TEXT_COLOR(level_color); | 317 | cprintf(level_color); |
374 | if (level_end > level_start) { | 318 | if (level_end > level_start) { |
375 | fwrite(level_start, 1, level_end-level_start, stdout); | 319 | fwrite(level_start, 1, level_end-level_start, stdout); |
376 | p = level_end; | 320 | p = level_end; |
@@ -379,17 +323,17 @@ static void syslog_callback(char c, void *user_data) | |||
379 | lp -= p - linep; | 323 | lp -= p - linep; |
380 | linep = p; | 324 | linep = p; |
381 | 325 | ||
382 | TEXT_COLOR(COLOR_WHITE); | 326 | cprintf(COLOR_WHITE); |
383 | 327 | ||
384 | } else { | 328 | } else { |
385 | shall_print = 1; | 329 | shall_print = 1; |
386 | TEXT_COLOR(COLOR_WHITE); | 330 | cprintf(COLOR_WHITE); |
387 | } | 331 | } |
388 | } while (0); | 332 | } while (0); |
389 | 333 | ||
390 | if ((num_msg_filters == 0 && num_proc_filters == 0 && num_pid_filters == 0 && num_trigger_filters == 0 && num_untrigger_filters == 0) || shall_print) { | 334 | if ((num_msg_filters == 0 && num_proc_filters == 0 && num_pid_filters == 0 && num_trigger_filters == 0 && num_untrigger_filters == 0) || shall_print) { |
391 | fwrite(linep, 1, lp, stdout); | 335 | fwrite(linep, 1, lp, stdout); |
392 | TEXT_COLOR(COLOR_RESET); | 336 | cprintf(COLOR_RESET); |
393 | fflush(stdout); | 337 | fflush(stdout); |
394 | if (trigger_off) { | 338 | if (trigger_off) { |
395 | triggered = 0; | 339 | triggered = 0; |
@@ -560,14 +504,6 @@ static void print_usage(int argc, char **argv, int is_error) | |||
560 | 504 | ||
561 | int main(int argc, char *argv[]) | 505 | int main(int argc, char *argv[]) |
562 | { | 506 | { |
563 | #ifdef WIN32 | ||
564 | CONSOLE_SCREEN_BUFFER_INFO csbi; | ||
565 | h_stdout = GetStdHandle(STD_OUTPUT_HANDLE); | ||
566 | if (GetConsoleScreenBufferInfo(h_stdout, &csbi)) { | ||
567 | COLOR_RESET = csbi.wAttributes; | ||
568 | } | ||
569 | #endif | ||
570 | int no_colors = 0; | ||
571 | int include_filter = 0; | 507 | int include_filter = 0; |
572 | int exclude_filter = 0; | 508 | int exclude_filter = 0; |
573 | int include_kernel = 0; | 509 | int include_kernel = 0; |
@@ -700,7 +636,7 @@ int main(int argc, char *argv[]) | |||
700 | return 0; | 636 | return 0; |
701 | } | 637 | } |
702 | case 2: | 638 | case 2: |
703 | no_colors = 1; | 639 | term_colors_set_enabled(0); |
704 | break; | 640 | break; |
705 | case 'v': | 641 | case 'v': |
706 | printf("%s %s\n", TOOL_NAME, PACKAGE_VERSION); | 642 | printf("%s %s\n", TOOL_NAME, PACKAGE_VERSION); |
@@ -756,10 +692,6 @@ int main(int argc, char *argv[]) | |||
756 | argc -= optind; | 692 | argc -= optind; |
757 | argv += optind; | 693 | argv += optind; |
758 | 694 | ||
759 | if (!no_colors && isatty(1)) { | ||
760 | use_colors = 1; | ||
761 | } | ||
762 | |||
763 | int num = 0; | 695 | int num = 0; |
764 | idevice_info_t *devices = NULL; | 696 | idevice_info_t *devices = NULL; |
765 | idevice_get_device_list_extended(&devices, &num); | 697 | idevice_get_device_list_extended(&devices, &num); |