From: Enlightenment S. <no-...@en...> - 2012-06-19 19:53:09
|
Log: log: separate termpty logging from the rest. Make raster the-crying-baby stop complain about log. Now we can have only termpty logging, with a short format, by using: {{{ export EINA_LOG_FILE_DISABLE=1 export EINA_LOG_LEVELS=termpty:4 terminology }}} Author: barbieri Date: 2012-06-19 12:53:02 -0700 (Tue, 19 Jun 2012) New Revision: 72503 Trac: http://trac.enlightenment.org/e/changeset/72503 Modified: trunk/terminology/src/bin/termio.c trunk/terminology/src/bin/termpty.c trunk/terminology/src/bin/termpty.h Modified: trunk/terminology/src/bin/termio.c =================================================================== --- trunk/terminology/src/bin/termio.c 2012-06-19 19:40:40 UTC (rev 72502) +++ trunk/terminology/src/bin/termio.c 2012-06-19 19:53:02 UTC (rev 72503) @@ -986,6 +986,8 @@ sd->imf = NULL; ecore_imf_shutdown(); + termpty_shutdown(); + _parent_sc.del(obj); evas_object_smart_data_set(obj, NULL); } @@ -1146,6 +1148,8 @@ _termio_config_set(obj, config); + termpty_init(); + sd->pty = termpty_new(cmd, w, h, config->scrollback); sd->pty->cb.change.func = _smart_pty_change; sd->pty->cb.change.data = obj; Modified: trunk/terminology/src/bin/termpty.c =================================================================== --- trunk/terminology/src/bin/termpty.c 2012-06-19 19:40:40 UTC (rev 72502) +++ trunk/terminology/src/bin/termpty.c 2012-06-19 19:53:02 UTC (rev 72503) @@ -10,6 +10,39 @@ #include <string.h> #include <errno.h> +/* specific log domain to help debug only terminal code parser */ +static int _termpty_log_dom = -1; + +#undef CRITICAL +#undef ERR +#undef WRN +#undef INF +#undef DBG + +#define CRITICAL(...) EINA_LOG_DOM_CRIT(_termpty_log_dom, __VA_ARGS__) +#define ERR(...) EINA_LOG_DOM_ERR(_termpty_log_dom, __VA_ARGS__) +#define WRN(...) EINA_LOG_DOM_WARN(_termpty_log_dom, __VA_ARGS__) +#define INF(...) EINA_LOG_DOM_INFO(_termpty_log_dom, __VA_ARGS__) +#define DBG(...) EINA_LOG_DOM_DBG(_termpty_log_dom, __VA_ARGS__) + +void +termpty_init(void) +{ + if (_termpty_log_dom >= 0) return; + + _termpty_log_dom = eina_log_domain_register("termpty", NULL); + if (_termpty_log_dom < 0) + EINA_LOG_CRIT("could not create log domain 'termpty'."); +} + +void +termpty_shutdown(void) +{ + if (_termpty_log_dom < 0) return; + eina_log_domain_unregister(_termpty_log_dom); + _termpty_log_dom = -1; +} + static void _text_clear(Termpty *ty, Termcell *cells, int count, int val, Eina_Bool inherit_att) { @@ -143,7 +176,7 @@ /* translates VT100 ACS escape codes to Unicode values. * Based on rxvt-unicode screen.C table. */ -static int vt100_to_unicode[62] = { +static const int vt100_to_unicode[62] = { 0x2191, 0x2193, 0x2192, 0x2190, 0x2588, 0x259a, 0x2603, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, Modified: trunk/terminology/src/bin/termpty.h =================================================================== --- trunk/terminology/src/bin/termpty.h 2012-06-19 19:40:40 UTC (rev 72502) +++ trunk/terminology/src/bin/termpty.h 2012-06-19 19:53:02 UTC (rev 72503) @@ -99,6 +99,9 @@ Termcell cell[1]; }; +void termpty_init(void); +void termpty_shutdown(void); + Termpty *termpty_new(const char *cmd, int w, int h, int backscroll); void termpty_free(Termpty *ty); Termcell *termpty_cellrow_get(Termpty *ty, int y, int *wret); |