GC: Support remaining types in Pike.count_memory().
Users of Pike.count_memory() typically do not want to bother
filtering its arguments, so perform filtering in count_memory()
rather than throwing errors.
Also adds support for counting memory for objects referenced
decode_value(): Allow to restrict decoding to simple types
The encoded value has quite a bit of control over our process. Allow to
restrict decoding to primitive types by passing coding as -1.
Stdio: Some pty-handling cleanup.
Add wrappers emulating missing libc functions.
Sprintf: Cleanup linebreak mode.
The sprintf "%/s" and "%=s" modes now break at the column width
(defaulting it to the field width) and not the field width. This
makes it possible to use formats like eg "%;*-=s" (instead of
"%*-=s") to not get every line padded to the full column width.
TURBO2-1398: Allow disabling of wrapping of describe_backtrace output.
The wrapping can add lots of spaces to the end of lines to pad
them, resulting in enormous backtrace files in some circumstances.
Tools.Standalone.precompile: Fix storage offset handling
Programs using their parent may store parent information in the
beginning of ->storage, thus we need to add
p->inherits.storage_offset when trying to reach an object's storage.
The compiler/runtime correctly takes care of this in THIS, but the OBJ2_
and GET_..._STORAGE macros did not take this into account.
Merge commit '722771973bd' into patches/lyslyskom22891031
* commit '722771973bd': (6177 commits)
Verify that callablep responses are aligned with reality.
Thread.Farm: Added ResultWrapper.
This is a wrapper for the Result class to detect when the user
loses its reference to it, in order to not lose reports of any
errors from the worker threads.
Image.Dims: Revert EXIF flipping of dimensions in get_JPEG
Like for JPEG._decode, add a specific exif_get_JPEG which does the
EFUNs: Support encoding to UTF-8 encoded UTF-16 in string_to_utf8().
string_to_utf8() now supports the same extensions as utf8_to_string().
Fixes PIKE-111 (#8111).
I/O [NT]: Use new low-level functions from Process.
Merge github.com:poppa/pike-libsass into patches/pike89
* github.com:poppa/pike-libsass: (64 commits)
Add extensible error handling in Protocols.DNS.server
Some servers might want to report errors during other mechanisms than
werror. By moving the error reporting to the new
report_decode_error() method, it is easy to override that method and
do something else.
Likewise, some servers might want to not reply to malformed requests.
Move that code to the new handle_decode_error() method.
Revert "Added the Markdown module and the standalone pike_to_html.pike from 8.1."
This reverts commit 2706a62c3c72b296a0c77b418f1e186c682c7ac5.
Added creation method raw to put binary data directly in an image object without adaptation.
Process.spawn_pike: Added launcher argument.
Merge remote-tracking branch 'origin/8.0' into string_alloc
Add class Standards.JSON.Validator which can be used to validate json with a schema
The Standards.JSON.Validator class does not yet implement the full set of
schema validations. It does not yet handle dependencies nor references.
The regular expressions (for pattern properties) are limited to those that
can be handled by Regexp.SimpleRegexp.
To use the validator, load and decode a JSON schema and create a validator:
mixed schema = Standards.JSON.decode(schema_string);
Standards.JSON.Validator validator = Standards.JSON.Validator(schema);
Then load and decode some JSON data and pass it to the function
mixed json_data = Standards.JSON.decode(data_string);
if (string error = validator->validate(json_data))
werror("Error: %s\n", error);
write("JSON matches the schema\n");
For more information of JSON schema look at
- http://json-schema.org/documentation.html "The home of JSON Schema"
No more appendices