History log of /netbsd/common/lib/libprop/prop_number.c (Results 1 – 25 of 34)
Revision Date Author Comments
# f7c0aabf 03-Aug-2022 riastradh <riastradh@NetBSD.org>

proplib: Nix trailing whitespace.


# 8a2440af 06-Jun-2020 thorpej <thorpej@NetBSD.org>

Correct a deprecation warning.


# ca95539f 06-Jun-2020 thorpej <thorpej@NetBSD.org>

Improvements to the problib(3) API:

==> Provide a much more complete set of setters and getters for different
value types in the prop_array_util(3) and prop_dictionary_util(3)
functions.

==

Improvements to the problib(3) API:

==> Provide a much more complete set of setters and getters for different
value types in the prop_array_util(3) and prop_dictionary_util(3)
functions.

==> Overhaul the prop_data(3), prop_number(3), and prop_string(3) APIs
to be easier to use and less awkwardly named, Deprecate the old
awkward names, and produce link-time warnings when they are referenced.

==> Deprecate mutable prop_data(3) and prop_string(3) objects. The old
APIs that support them still exist, but will now produce link-time
warnings when used.

==> When the new prop_string(3) API is used, strings are internally
de-duplicated as a memory footprint optimization.

==> Provide a rich set of bounds-checked gettter functions in and a
corresponding set of convenience setters in the prop_number(3) API.

==> Add a new prop_bool_value(3) function that is equivalent to
prop_bool_true(3), but aligned with the new "value" routines in
prop_data(3), prop_string(3), and prop_number(3).

show more ...


# 1c3f2db6 08-May-2019 thorpej <thorpej@NetBSD.org>

Fix building libprop as a host tool library on platforms that don't have
the Matt Thomas rbtree:

- Include rb.c in libnbcompat, and provide a nbcompat sys/rbtree.h
header.
- Make sure libprop's so

Fix building libprop as a host tool library on platforms that don't have
the Matt Thomas rbtree:

- Include rb.c in libnbcompat, and provide a nbcompat sys/rbtree.h
header.
- Make sure libprop's source file include prop_object_impl.h before
anything else, and pull in nbtool_config.h from there.

Tested by simulating such a host system by renaming the host's
<sys/rbtree.h> out of the way (which reproduced the build failure)
and verifying that the host-tool installboot contained the rb_*
functions in its own .text segment.

show more ...


# 53e9da68 28-Jun-2016 pgoyette <pgoyette@NetBSD.org>

Fix the previous fix - there's only one _node suffix here!


# fb548875 28-Jun-2016 pgoyette <pgoyette@NetBSD.org>

Missed a couple of function-call renames in previous


# 15a3d648 28-Jun-2016 pgoyette <pgoyette@NetBSD.org>

The local copy of rb_tree code has been unused for quite some time. So
we can just remove it, and adjust callers to use the "real" rbtree
function names.

Addresses PR lib/44090


# 3532519e 05-Sep-2014 matt <matt@NetBSD.org>

Eliminate use of C++ keywords and don't nest struct definitions.


# 47a2ae9f 26-Mar-2014 christos <christos@NetBSD.org>

kill sprintf


# 8c82b371 18-Oct-2013 martin <martin@NetBSD.org>

Make this compilable with gcc 4.8.1 without options DIAGNOSTIC.


# 0823c678 27-Jul-2012 pooka <pooka@NetBSD.org>

Bit-un-rot the proplib portability layer.


# 879d5dfb 24-Sep-2010 rmind <rmind@NetBSD.org>

Fixes/improvements to RB-tree implementation:
1. Fix inverted node order, so that negative value from comparison operator
would represent lower (left) node, and positive - higher (right) node.
2.

Fixes/improvements to RB-tree implementation:
1. Fix inverted node order, so that negative value from comparison operator
would represent lower (left) node, and positive - higher (right) node.
2. Add an argument (i.e. "context"), passed to comparison operators.
3. Change rb_tree_insert_node() to return a node - either inserted one or
already existing one.
4. Amend the interface to manipulate the actual object, instead of the
rb_node (in a similar way as Patricia-tree interface does).
5. Update all RB-tree users accordingly.

XXX: Perhaps rename rb.h to rbtree.h, since cleaning-up..

1-3 address the PR/43488 by Jeremy Huddleston.

Passes RB-tree regression tests.
Reviewed by: matt@, christos@

show more ...


# ebceae53 15-Mar-2009 cegger <cegger@NetBSD.org>

ansify function definitions


# b6e6025d 03-Jan-2009 pooka <pooka@NetBSD.org>

Get rid of locks with static initializers using once and atomic ops.
This makes proplib simplelock-free.


# e51aea32 30-Nov-2008 haad <haad@NetBSD.org>

Fix two race conditions in proplib library. In prop_dictionary and prop_number
there was small window in which was entry left in rb tree with reference
count 0 which lead to rb tree coruption when an

Fix two race conditions in proplib library. In prop_dictionary and prop_number
there was small window in which was entry left in rb tree with reference
count 0 which lead to rb tree coruption when another thread picked this up
before it was released.
Add 2 new members to the prop_object_t which are used for locking/unlocking
rb tree guard mutex.

Ok by joerg@, core@, thorpej@

show more ...


# 4ce0dc3a 03-Aug-2008 thorpej <thorpej@NetBSD.org>

Fix an issue introduced with the prop_stack change: It's not a good idea to
return a 3-value enum from a function declared to return bool. This broke
the recurse case for prop_object_equals(). Inst

Fix an issue introduced with the prop_stack change: It's not a good idea to
return a 3-value enum from a function declared to return bool. This broke
the recurse case for prop_object_equals(). Instead, declare the object type
equals routine to return a _prop_object_equals_rv_t.

Give the same treatment to the object type free routines: declare them to
return a _prop_object_free_rv_t, and consistently check those return values
againt the enum type.

Tidy up some whitespace while we're here.

show more ...


# e0e4b153 17-Jun-2008 thorpej <thorpej@NetBSD.org>

_prop_rb_tree_insert_node() now returns true/false to indicate if the
insertion succeeded. Update existing usage that arranges for insertions
to always succeed to assert that they do.


# ce099b40 28-Apr-2008 martin <martin@NetBSD.org>

Remove clause 3 and 4 from TNF licenses


# 93244877 05-Jan-2008 ad <ad@NetBSD.org>

Include sys/simplelock.h in prop_object_impl.h.


# 0f546319 04-Jan-2008 xtraeme <xtraeme@NetBSD.org>

sys/simplelock.h is required now.


# 4deb5931 30-Aug-2007 joerg <joerg@NetBSD.org>

Avoid using unbound amount of stack frames in prop_object_equal
by using a dynamic stack as well. Reorder arguments for the internalizer
as the iteration is always present and should go before possib

Avoid using unbound amount of stack frames in prop_object_equal
by using a dynamic stack as well. Reorder arguments for the internalizer
as the iteration is always present and should go before possibly
NULL arguments.

Reviewed by mjf@ and adrianp@

show more ...


# e835604c 16-Aug-2007 joerg <joerg@NetBSD.org>

libprop is currently using a recursive parser. While this is fine for
userland, deeply nested arrays and dictionaries can easily overflow
the kernel stack and thereby force a panic.

Fix the internal

libprop is currently using a recursive parser. While this is fine for
userland, deeply nested arrays and dictionaries can easily overflow
the kernel stack and thereby force a panic.

Fix the internalizer and prop_object_release to use a separate call
stack and alter the dictionary and array handling to not recurse on
the C stack. The default stack has an inline depth of 16 elements,
which should keep the overhead reasonable.

This issue was found by Pavel Cahyna and Jachym Holecek.

Additionally add a limit for prop_object_copyin_ioctl to prevent user
programs from temporary allocating unbound amount of kernel memory.
Allow malloc to fail so that tight loops of userland processes can't
force panics by exhausting the kernel map.

Tested with the sample exploit of Jachym, his test suite and reviewed
by himself (initial patch), Christos Zoulas and Jason Thorpe.

show more ...


# 04377267 16-Aug-2007 thorpej <thorpej@NetBSD.org>

boolean_t -> bool
TRUE -> true
FALSE -> false


# 227b8ed7 15-Oct-2006 christos <christos@NetBSD.org>

delete junk I accidentally committed.


# dc579d1d 15-Oct-2006 christos <christos@NetBSD.org>

de-lint.


12