Roxen.git / server / base_server / roxen.pike

version» Context lines:

Roxen.git/server/base_server/roxen.pike:6327:    mixed next_val;    if (pos < sizeof (cycle) - 1) {    next_val = cycle[pos + 1];    } else {    next_val = cycle[0];    }       if (multisetp(val)) {    formatted += "[[index]]";    } else { +  // NB: This catch is to handle the case where val is an object +  // that implements lfun::_indices() and/or lfun::_values() +  // that throw errors. +  if (catch {    array(mixed) inds = indices(val);    array(mixed) vals = values(val);    int i = search(vals, next_val);    if (i >= 0) {    // Found.    if (intp(inds[i])) {    formatted += sprintf("[%d]", inds[i]);    } else if (stringp(inds[i])) {    if (sizeof(inds[i]) < 100) {    formatted += sprintf("[%O]", inds[i]);    } else { -  formatted += sprintf("[string(%d characters)]", sizeof(inds[i])); +  formatted += sprintf("[string(len: %d)]", sizeof(inds[i]));    }    } else {    formatted += sprintf("[%t]", inds[i]);    }    } else {    i = search(inds, next_val);    if (i >= 0) {    formatted += "[[index]]";    } else if (objectp(val)) {    formatted += "->protected";    }    } -  +  }) { +  formatted += "[[broken]]";    } -  +  }       string_parts += ({ formatted });    }       return string_parts * " ==> ";   }      void reinstall_gc_callbacks()   {    mapping(string:mixed) gc_params = ([ "pre_cb": 0,