pike.git / src / modules / JSON / JSON.pmod.in

version» Context lines:

pike.git/src/modules/JSON/JSON.pmod.in:47:       protected void create(string err_str, int err_pos, void|string reason, void|array bt) {    this_program::err_str = err_str;    this_program::err_pos = err_pos;       string pre_context = err_pos > 13 ?    sprintf ("...%O", err_str[err_pos - 10..err_pos - 1]) :    err_pos > 0 ?    sprintf ("%O", err_str[..err_pos - 1]) :    ""; +  if (err_pos >= sizeof (err_str)) +  err_str = sprintf ("%s-><-", pre_context); +  else {    string post_context = err_pos < sizeof (err_str) - 14 ?    sprintf ("%O...", err_str[err_pos + 1..err_pos + 10]) :    err_pos + 1 < sizeof (err_str) ?    sprintf ("%O", err_str[err_pos + 1..]) :    ""; -  err_str = sprintf ("%s->[%c]<-%s", pre_context, err_str[err_pos], post_context); +  err_str = sprintf ("%s->[%c]<-%s", +  pre_context, err_str[err_pos], post_context); +  }       if (reason)    ::create(sprintf("Error decoding JSON at position %d %s: %s.\n",    err_pos, err_str, reason), bt);    else    ::create(sprintf("Error decoding JSON at position %d %s\n",    err_pos, err_str), bt);    }   }      void decode_error(string err_str, int err_pos, void|string reason, void|mixed ... args) {    if (sizeof(args)) reason = sprintf(reason, @args);    throw(DecodeError(err_str, err_pos, reason, backtrace()[..<1]));   }      #endif // constant (@module@)