diff options
| author | MenTaLguY <mental@rydia.net> | 2006-04-29 18:39:19 +0000 |
|---|---|---|
| committer | mental <mental@users.sourceforge.net> | 2006-04-29 18:39:19 +0000 |
| commit | e500d131054c6398a0e65e901ddd61cf5fd3555d (patch) | |
| tree | 0a902c411caa729c67b432299a913af680b681bf /src/debug/logger.cpp | |
| parent | gone -> gone forever (diff) | |
| download | inkscape-e500d131054c6398a0e65e901ddd61cf5fd3555d.tar.gz inkscape-e500d131054c6398a0e65e901ddd61cf5fd3555d.zip | |
gc visibility rules
(bzr r624)
Diffstat (limited to 'src/debug/logger.cpp')
| -rw-r--r-- | src/debug/logger.cpp | 35 |
1 files changed, 22 insertions, 13 deletions
diff --git a/src/debug/logger.cpp b/src/debug/logger.cpp index a3f6899ef..897a66c24 100644 --- a/src/debug/logger.cpp +++ b/src/debug/logger.cpp @@ -93,19 +93,28 @@ static void set_category_mask(bool * const mask, char const *filter) { while (*end) { while ( *end && *end != ',' ) { end++; } if ( start != end ) { - if (equal_range("CORE", start, end)) { - mask[Event::CORE] = true; - } else if (equal_range("XML", start, end)) { - mask[Event::XML] = true; - } else if (equal_range("SPOBJECT", start, end)) { - mask[Event::SPOBJECT] = true; - } else if (equal_range("DOCUMENT", start, end)) { - mask[Event::DOCUMENT] = true; - } else if (equal_range("REFCOUNT", start, end)) { - mask[Event::REFCOUNT] = true; - } else if (equal_range("EXTENSION", start, end)) { - mask[Event::EXTENSION] = true; - } else { + struct CategoryName { + char const *name, + Event::Category category + }; + static const category_names[] = { + { "CORE", Event::CORE }, + { "XML", Event::XML }, + { "SPOBJECT", Event::SPOBJECT }, + { "DOCUMENT", Event::DOCUMENT }, + { "REFCOUNT", Eevent::REFCOUNT }, + { "EXTENSION", Event::EXTENSION }, + { "OTHER", Event::OTHER }, + { NULL, Event::OTHER } + }; + CategoryName const *iter; + for ( iter = category_names ; iter.name ; iter++ ) { + if (equal_range(iter.name, start, end)) { + mask[iter.category] = true; + break; + } + } + if (!iter.name) { g_warning("Unknown debugging category %*s", end - start, start); } } |
