Fix getprop return value

According to IEEE 1275, "Size is either the actual size of the property,
or –1 if name does not exist."

The property might be larger than the client's buffer, so don't dup
the min used for writing into the buffer but the original proplen value.
Insert a comment to show what's going on.

Signed-off-by: Andreas Färber <andreas.faerber@web.de>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@894 f158a5a8-5612-0410-a976-696ce0be7e32
This commit is contained in:
Andreas Färber
2010-10-09 10:16:33 +00:00
committed by Blue Swirl
parent b3d98a9189
commit 43221313e3

View File

@@ -97,8 +97,9 @@ external
over cstrlen swap
?phandle get-package-property if 2drop -1 exit then
( buflen buf prop proplen )
>r swap rot r> min
dup >r move r>
>r swap rot r>
( prop buf buflen proplen )
dup >r min move r>
;
\ 1 OK, 0 no more prop, -1 prev invalid