Branch: Tag:

2017-07-20

2017-07-20 18:31:33 by Martin Nilsson <nilsson@fastmail.com>

Fix issue with non-constant string input to %x

2017-02-09

2017-02-09 17:34:20 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Moved yyreport() et al to pike_compiler.cmod.

More code cleanup.

2017-01-25

2017-01-25 15:22:32 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Break out sprintf-related stuff from stralloc.h to sprintf.h.

Minor header file cleanup.

2016-12-31

2016-12-31 17:12:23 by Arne Goedeke <el@laramies.com>

Replace dynamic_buffer API everywhere

This change should be purely cosmetic. It replaces the old
dynamic_buffer API by the corresponding byte_buffer API everywhere.
The wrapper definitions in dynamic_buffer.h will remain for now.

2016-12-31 17:12:22 by Arne Goedeke <el@laramies.com>

describe_svalue: do not use global buffer

This commit removes the dynamic buffer from describe_svalue and related
funtions.

2016-12-31 17:12:22 by Arne Goedeke <el@laramies.com>

dynamic_buffer: use new buffer internally

The API of dynamic_buffer is now a slim swapper around the new buffer
API. This changes many places where the dynamic_buffer internals were
directly used.

2016-12-30

2016-12-30 09:29:45 by Arne Goedeke <el@laramies.com>

Replace dynamic_buffer API everywhere

This change should be purely cosmetic. It replaces the old
dynamic_buffer API by the corresponding byte_buffer API everywhere.
The wrapper definitions in dynamic_buffer.h will remain for now.

2016-12-30 09:29:44 by Arne Goedeke <el@laramies.com>

describe_svalue: do not use global buffer

This commit removes the dynamic buffer from describe_svalue and related
funtions.

2016-12-29

2016-12-29 15:02:35 by Arne Goedeke <el@laramies.com>

dynamic_buffer: use new buffer internally

The API of dynamic_buffer is now a slim swapper around the new buffer
API. This changes many places where the dynamic_buffer internals were
directly used.

2016-11-08

2016-11-08 12:46:01 by Arne Goedeke <el@laramies.com>

dynamic_buffer: use new buffer internally

The API of dynamic_buffer is now a slim swapper around the new buffer
API. This changes many places where the dynamic_buffer internals were
directly used.

2016-11-05

2016-11-05 10:49:05 by Martin Nilsson <nilsson@fastmail.com>

Revert sprintf %m.

2016-08-28

2016-08-28 13:35:32 by Martin Nilsson <nilsson@fastmail.com>

Allow sprintf %x on a string.

2016-08-27

2016-08-27 10:26:58 by Martin Nilsson <nilsson@fastmail.com>

More precise return type for %X expressions.

2016-04-08

2016-04-08 19:48:49 by Martin Nilsson <nilsson@fastmail.com>

Removed PTRDIFF_T_TO_LONG

2016-02-12

2016-02-12 13:50:54 by Martin Nilsson <nilsson@fastmail.com>

Removed PTRDIFF_T_TO_LONG

2016-01-26

2016-01-26 19:38:42 by Martin Nilsson <nilsson@fastmail.com>

SIMPLE_BAD_ARG_ERROR is only kept for compatibility, but we still had 500+ uses of it.

2016-01-14

2016-01-14 22:48:26 by Martin Nilsson <nilsson@fastmail.com>

math.h is included from pike_float.h

2016-01-10

2016-01-10 21:43:01 by Martin Nilsson <nilsson@fastmail.com>

Fix warnings.

2016-01-10 21:37:17 by Martin Nilsson <nilsson@fastmail.com>

Hide the different versions of isinf in PIKE_ISINF properly.

2015-10-14

2015-10-14 18:49:19 by Martin Nilsson <nilsson@fastmail.com>

Removed Intel IA64 compiler specific DO_NOT_WARN.

2015-09-27

2015-09-27 04:26:33 by Martin Nilsson <nilsson@fastmail.com>

Start using __builtin_unreachable

2015-09-06

2015-09-06 13:27:34 by Henrik Grubbström (Grubba) <grubba@grubba.org>

sprintf: Adjusted result type lower bound for %m.

Error descriptions often contain spaces...

2015-09-06 02:29:55 by Per Hedbor <ph@opera.com>

Added the gnu %m extension to sprintf

This is a fairly specific format: It inserts strerror(errno())

Useful for things like

if(!read_file(file))
exit(1,"Failed to read %s: %m\n", file);

and not much more.

2015-08-22

2015-08-22 18:32:00 by Arne Goedeke <el@laramies.com>

strings: split string header and contents

All string structs are now allocated by the block allocator while the
actual string content is kept in a different area. Short strings with
byte length smaller than sizeof(struct pike_string) have their content
allocated from the block allocator, aswell. In most cases short string
contents are allocated on creation and therefore the data will end up
directly after the header in memory.

2015-08-18

2015-08-18 16:55:08 by Per Hedbor <ph@opera.com>

Merge branch 'arne/string_alloc' into 8.1

Conflicts:
src/backend.cmod
src/builtin.cmod
src/builtin_functions.c
src/stralloc.c

2015-07-23

2015-07-23 20:20:28 by Jonas Walldén <jonasw@roxen.com>

Switch from finite() to isfinite() since the former is flagged as
deprecated on OS X.

2015-07-23 19:58:49 by Jonas Walldén <jonasw@roxen.com>

Switch from finite() to isfinite() since the former is flagged as
deprecated on OS X.

2015-05-25

2015-05-25 15:33:02 by Martin Nilsson <nilsson@opera.com>

Removed trailing spaces.

2015-05-01

2015-05-01 10:04:17 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Sprintf: Added a few fall-through markers.

2015-05-01 01:55:03 by Martin Nilsson <nilsson@opera.com>

Deleted too much.

2015-05-01 01:42:32 by Martin Nilsson <nilsson@opera.com>

Removed unused code. CID 1294693

2015-04-23

2015-04-23 12:05:46 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Sprintf: Added missing fall-thorough marker. Fixes [CID 742645].

2014-11-15

2014-11-15 13:42:52 by Stephen R. van den Berg <srb@cuci.nl>

Remove superfluous legacy compat support prior to 7.8.

2014-10-17

2014-10-17 23:10:47 by Arne Goedeke <el@laramies.com>

sprintf: fix last argument handling with _sprintf lfuns

Since I broke this in 7fdf942f6b5344b7d52c141441913f283661006a, sprintf
did not properly keep track of the last argument when calling _sprintf
lfuns.

2014-10-17 23:10:20 by Arne Goedeke <el@laramies.com>

sprintf: fix last argument handling with _sprintf lfuns

Since I broke this in 7fdf942f6b5344b7d52c141441913f283661006a, sprintf
did not properly keep track of the last argument when calling _sprintf
lfuns.

2014-10-05

2014-10-05 21:12:29 by Martin Nilsson <nilsson@opera.com>

Removed compat flags from sprintf and sscanf.

2014-10-05 19:00:27 by Martin Nilsson <nilsson@opera.com>

Removed f_sscanf_76 and f_sprintf_76.

2014-09-04

2014-09-04 15:57:43 by Arne Goedeke <el@laramies.com>

Merge remote-tracking branch 'origin/8.0' into string_alloc

Conflicts:
src/stralloc.c

2014-09-03

2014-09-03 21:29:00 by Martin Nilsson <nilsson@opera.com>

ldexp is C89 and 4.3BSD

2014-09-03 21:22:40 by Martin Nilsson <nilsson@opera.com>

frexp is C89 and 4.3BSD

2014-09-03 18:14:04 by Martin Nilsson <nilsson@opera.com>

memcpy is C89 and 4.3BSD

2014-09-02

2014-09-02 13:05:50 by Martin Nilsson <nilsson@opera.com>

Call rint instead of RINT.

2014-08-22

2014-08-22 18:02:24 by Arne Goedeke <el@laramies.com>

Merge remote-tracking branch 'origin/8.0' into string_alloc

2014-08-21

2014-08-21 18:11:55 by Martin Nilsson <nilsson@opera.com>

Added void to zero argument functions.

2014-08-18

2014-08-18 21:31:29 by Martin Nilsson <nilsson@opera.com>

Shortened some error messages.

2014-08-18 08:32:17 by Arne Goedeke <el@laramies.com>

strings: split string header and contents

All string structs are now allocated by the block allocator while the
actual string content is kept in a different area. Short strings with
byte length smaller than sizeof(struct pike_string) have their content
allocated from the block allocator, aswell. In most cases short string
contents are allocated on creation and therefore the data will end up
directly after the header in memory.

2014-06-06

2014-06-06 16:06:10 by Arne Goedeke <el@laramies.com>

sprintf: missing cyclic unlink in recursive _sprintf calls

2014-06-02

2014-06-02 10:33:11 by Arne Goedeke <el@laramies.com>

sprintf: removed dead debug check

This debug check has been wrong/dead since the format stack is dynamically
reallocated. Thanks to Chris Angelico <rosuav@gmail.com> for pointing that out.

2014-06-01

2014-06-01 11:38:25 by Arne Goedeke <el@laramies.com>

sprintf: update the local stack top pointer

When a call to low_pike_sprintf reallocates the format stack during
snurkel handling, the local stack pointer variable becomes invalid.
Update it after handling snurkels.

2014-05-23

2014-05-23 19:48:31 by Arne Goedeke <el@laramies.com>

sprintf: optimization

keep the current format_info in a local variable, instead of accessing
it through the format stack. This saves a few loads and makes the code
more readable.

2014-05-23 19:48:31 by Arne Goedeke <el@laramies.com>

sprintf: reduce inlining of slow paths

The code handling snurkels and object _sprintf calls was inlined
into each format handling case. This patch reduces the code size to
about 25% of the original.

2014-05-23 16:00:17 by Per Hedbor <ph@opera.com>

Removed code that has been #if 0 for quite some time

It mainly confuses things when you are searching for code.

I also removed a few instances of 'well, this would be nice, but is
not possible' and 'this code is obviously broken because X' etc.

We do, after all, have a revision control system. With history. :)

2014-05-12

2014-05-12 19:44:46 by Arne Goedeke <el@laramies.com>

sprintf: optimization

keep the current format_info in a local variable, instead of accessing
it through the format stack. This saves a few loads and makes the code
more readable.

2014-05-12 19:44:46 by Arne Goedeke <el@laramies.com>

sprintf: reduce inlining of slow paths

The code handling snurkels and object _sprintf calls was inlined
into each format handling case. This patch reduces the code size to
about 25% of the original.

2014-05-10

2014-05-10 09:06:43 by Arne Goedeke <el@laramies.com>

sprintf: optimization

keep the current format_info in a local variable, instead of accessing
it through the format stack. This saves a few loads and makes the code
more readable.

2014-05-10 07:59:51 by Arne Goedeke <el@laramies.com>

sprintf: reduce inlining of slow paths

The code handling snurkels and object _sprintf calls was inlined
into each format handling case. This patch reduces the code size to
about 25% of the original.

2014-02-24

2014-02-24 13:21:46 by Arne Goedeke <el@laramies.com>

sprintf: typo in compile time type of %b

2014-01-05

2014-01-05 15:14:13 by Marcus Comstedt <marcus@mc.pp.se>

Merge branch '8.0' into gobject-introspection

2013-12-19

2013-12-19 20:42:29 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Fixed bug in derivation of sprintf return type.

This fixes the return type for %s and %q.

2013-12-12

2013-12-12 19:57:03 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Sprintf: Derive a stricter return type.

The sprintf attribute handler is now capable of deriving a return type.

2013-11-02

2013-11-02 16:43:14 by Martin Nilsson <nilsson@opera.com>

Support _sprintf for %F.

2013-11-01

2013-11-01 14:26:55 by Arne Goedeke <el@laramies.com>

sprintf: remove c++ comment

2013-10-31

2013-10-31 20:58:20 by Arne Goedeke <el@laramies.com>

sprintf: make the initial format stack size depend on the number of
arguments

2013-10-31 20:30:21 by Arne Goedeke <el@laramies.com>

sprintf: reallocate the format stack on demand

the sprintf format stack was a fixed size vector. this restricted the
number of formats/arguments.

2013-10-31 19:31:00 by Arne Goedeke <el@laramies.com>

sprintf: do not use alloca

This commit replaces alloca in sprintf by a simple heap allocator. This
fixes a stack corruption bug which occurs when using certain compilers
(e.g. msvc). The problem occurs when alloca and longjmp are used from
within the same frame.

2013-06-21

2013-06-21 09:18:55 by Arne Goedeke <el@laramies.com>

Merge remote-tracking branch 'origin/7.9' into pdf

2013-05-27

2013-05-27 16:40:30 by Martin Nilsson <nilsson@opera.com>

Removed outdated comments.

2013-05-27 16:27:57 by Martin Nilsson <nilsson@opera.com>

sprintf is not a module anymore