+ if (l_level & YLOG_LOGLVL)
+ { /* dump the log level bits */
+ const char *bittype = "Static ";
+ int i, sz;
+
+ yaz_log(YLOG_LOGLVL, "Setting log level to %d = 0x%08x",
+ l_level, l_level);
+ /* determine size of mask_names (locked) */
+ nmem_mutex_enter(log_mutex);
+ for (sz = 0; mask_names[sz].name; sz++)
+ ;
+ nmem_mutex_leave(log_mutex);
+ /* second pass without lock */
+ for (i = 0; i < sz; i++)
+ if (mask_names[i].mask && *mask_names[i].name)
+ if (strcmp(mask_names[i].name, "all") != 0)
+ {
+ yaz_log(YLOG_LOGLVL, "%s log bit %08x '%s' is %s",
+ bittype, mask_names[i].mask, mask_names[i].name,
+ (level & mask_names[i].mask)? "ON": "off");
+ if (mask_names[i].mask > YLOG_LAST_BIT)
+ bittype = "Dynamic";
+ }
+ }