The standardized version of readv() and writev() take an int as the third
parameter. Arguably a size_t makes more sense, but the standardization bodies
decided otherwise.
The non-standard functions of readv_pos() and writev_pos() have been updated
for consistency. The corresponding _kern_readv() and _kern_writev() internal
functions continue to take the size_t parameter.
The ABI will not change, even though on 64 bit machines the size of the count
parameter will change from 8 to 4 bytes.
The actual use will be slightly different. Like with the size_t argument type,
it will not be possible to give a count lower than 0. If the value is less than
0, then the B_BAD_VALUE/EINVAL error will be set.
Change-Id: I949c8ed67dbc0b4e209768cbdee554c929fc242e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3770
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
I think this bug was introduced when modifying the code to handle
multiple slots. It would result in slots after the first two to use
incorrect bar offsets.
Should fix one of the problems seen in #16778.
Implement the needed parts in both the userland add-on (loaded in
DriveSetup) and the kernel side one (used by disk system manager in the
kernel).
This allows changing the active partition in DriveSetup.
Change-Id: Ia65768b5f8f11d626ef24621ae7735723dcbc39d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3771
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
When editing a partition parameters, we want to get the editor from the
parent partition. This will be the editor used to set the active
partition on Intel partition map, for example. The code testing if this
is supported and the code to apply the parameters did this, but the code
to get the parameter editor didn't.
Fixes the remaining part of #11641.
Change-Id: I25a6cf11fe315b8f6e118529f2395816101b7fe1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3766
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Just ask the partition if its parameters can be changed, instead of
trying to guess.
Now the menu is always disabled. This is because none of our
partitioning systems actually allow changing any of the parameters of an
already created partition (they don't enable B_DISK_SYSTEM_SUPPORTS_SETTING_PARAMETERS).
Fixes#11641 (but we should implement editing parameters in the intel
partitionning system to set the active partition).
Change-Id: I242e7f73c4188824ba0e3984c0d97172da84e9a7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3765
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
- Replace the popup menu with a BOptionPopUp to simplify the code
- Remove an unused menu to select "warp mode"
- The focus mode is not stored in the mouse settings file
(config/settings_Mouse_settings), it is in another file
(config/settings/system/app_server/mouse). This file is not read or
written directly by mouse preferences, but we get the settings by
asking app_server. However, the code to get these was missing in one
place, resulting in these settings not being correctly initialized.
Fixes#16524
Change-Id: Ia1efc235c9d1a5408e3c6abc2526da7a0a639fa4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3796
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Should fix the remaining part of #16778
Change-Id: Ia148f4bde095d33752df788b8f7911ee9cf44c61
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3773
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Found some bugs while testing different possible cases of Extent based
directories (1 extentmap case). Also did some refactoring.
Change-Id: Icb3b6e21de100c1bee93779c419bb2e86c694ae6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3118
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Node directories can now be read. With this, extent directories are
complete.
Change-Id: Ic42c8464e810137cff4946e8c975edc121daaa4f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3045
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Do the final installation operations for all the packages in the
/system/packages directory when the OS is booted for the first time.
This will run their post-install scripts, create users, groups and generate
settings files (marked with a package version attribute). Previously we just
ran all the shell scripts found in the /system/boot/post-install directory
(don't do that as much now).
Fixes bug #14382
This patch has simpler code flow in CommitTransactionHandler::_ApplyChanges
Tested on 32 and 64 bit systems. Once it's official, need to remove the
open_ssh redundant post-install script that creates users etc. from HaikuPorts.
Now we can notice bugs like package version attributes on settings files aren't
fully working. :-)
Didn't remove special case for add_catalog_entry_attributes.sh since it
still does stuff that the build system doesn't do. Might be able to add
that script as part of the Haiku.hpkg. See change 3751 for removing it,
https://review.haiku-os.org/c/haiku/+/3751
Change-Id: I3807b78042fdb70e5a79eca2e2a45816ece0236f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2342
Reviewed-by: Alexander G. M. Smith <agmsmith@ncf.ca>
Reviewed-by: Niels Sascha Reedijk <niels.reedijk@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Add checks for value of 'size', since FlattenedSize() may return
negative value (B_NO_INIT).
Pointed out by Clang Static Analyzer.
Change-Id: I68176ee47076512a0b96539f9986ac5edbb587af
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3772
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Updates BNumberFormat to be able to format
percentages. Also re-introduces some unit
tests and updates the BNumberFormat ones.
This doesn't actually fix#16312 as the
defaults for percentage formatting don't seem
to track the selected language, but goes part
way there.
Related to #16312
Change-Id: Id6ddf426ce5571f4e8513c0eb1663cf42ac53cb1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3767
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
The invalidation logic for when packages are
added or removed from this view was broken. The
new approach involves demarcating the mutation
of the data with a begin operation and
terminating it with an end operation with the
view invalidation happening in the end operation.
Resolves#16260
Change-Id: I012610c72714323cc2f7471ad05cc758d9127ef0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3764
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
The riscv64 UEFI executable has inconsistent header and therefore cannot
be loaded by the EDK2 implementation of UEFI. Apparently Uboot doesn't
care about this detail but EDK2 validates it.
Specifically NumberOfRvaAndSizes should be the number of data directory
entries. It is set to 6 but there are actually 16.
(All entries below NumberOfRvaAndSizes until section_table)
This was probably a typo 0x6 -> 16 (or 0x10).
This is the check of EDK2:
https://github.com/tianocore/edk2/blob/stable/202011/MdePkg/Library/BasePeCoffLib/BasePeCoff.c#L313-L321Fixes#16824
Change-Id: I5c0dc080cb1cd191b44e016298656db9edd9ca8d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3761
Reviewed-by: X512 <danger_mail@list.ru>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
This was broken in hrev54968, as some code was lost while switching to the new
way the network services kits writes files to disk.
This should fix#16822
Change-Id: I104d82e268ded287fd64db1cb902f94b71bad53b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3760
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
If device is not found, 'list' is allocated to size 0.
So, modify function to return 0 as FreeBSD's subr_bus.c
when 'count' is 0.
Pointed out by Clang Static Analyzer.
Change-Id: Ice24ae939bfcdb6e1276a86dba40d0b689030fbb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3753
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Previously, BUrlRequest returns data received via a callback that can't
return any value. This approach have several issues:
- It's not possible to signify failures to the request.
- Users have to implement custom listeners just to handle the common
case of outputting to a buffer/file/etc.
- The received data has to be serialized into BMessage when
BUrlProtocolDispatchingListener is employed. This can cause a
noticible slowdown in real-world scenarios as evident by #10748.
With this change, BUrlRequest will output directly into a BDataIO, which
exposes a richer API for request handlers to work with (for example a
BitTorrent client can request a BPositionIO for non-linear data
delivery), as well as simplifying common cases for users.
The adaptation only requires one additional API:
BHttpRequest::SetStopOnError(). This API simply instructs the HTTP
request handler to cancel the request if an HTTP error is occurred.
Change-Id: I4160884d77bff0e7678e0a623e2587987704443a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3084
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
The switch to make BUrlResult serializable was debuted in
f9e1854f19 with the rationale is that
BHttpRequest auto-redirection might cause the headers to become
obsolete by the time a client process the BMessage received from
BUrlProtocolDispatchingListener.
With the change to BHttpRequest to not notify listeners when
auto-redirection is enabled, this is no longer the case and the
serialization code can go away now. This simplifies BUrlResult and its
subclasses, and gain us some performance for clients using
BUrlProtocolDispatchingListener as the result object no longer has to be
serialized.
This also change the ABI of BUrlProtocolListener::HeadersReceived to no
longer passing a BUrlResult.
Additionally, BUrlResult and BHttpResult now express the size of the content
as an off_t, thus allowing results larger than 4 GB.
Change-Id: I9dd29a8b26fdd9aa8e5bbad8d1728084f136312d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3082
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
When the user enable auto-redirection, what they meant is that they do
not want to handle redirections, thus we should take total control of this
step and hide it from the user. In fact, a majority of in-tree users
write code to disable their listener when a redirection happen.
This should also allow us to simplify BUrlResult, which has been turned
into a BArchivable for the sole reason of "preserving" headers when
auto redirect is enabled when used with BUrlDispatchingListener, which
has been shown to have little (if any) practical usage.
Change-Id: I9b10b81de0a13edbaec25f6b48ed7a4335ea691a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3081
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Further removal of the use of custom list class;
this time part of the test engine inside HD.
Relates To #15534
Change-Id: Ia1f1d7c2577f92bba96da392fd48949a13b5a169
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3745
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
When getting icon is failed, get_team_name_and_icon()
does not return false, so bitmap allocated to
infoPack.team_icon can be leaked.
* Delete bitmap in get_team_name_and_icon(), not in caller.
* Return false when getiing icon is failed.
Change-Id: Ib65065b59b70cd839e6deda4e1142bd104072d84
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3744
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
To avoid having to upgrade cache-data formats,
drop the caches when the application starts with
a different version from last time the
application launches.
Change-Id: I2f5b831b6a4fc570457bc633fd440a9021648b02
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3749
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
fItems are allocated by new[] at line 31, but deallocated by delete.
Pointed out by Clang Static Analyzer.
Change-Id: I1d8ae0b2214290155612d4b5c6d1ce56676cc892
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3746
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Follow-up to #16670.
I have previously changed the locale kit to load all add-ons once at
start, but did not notice that it would unload them later on. This can
also create race conditions if the locale kit is used from inside
load_add_on (as is the case in translation kit add-ons for example).
Should fix the remaining problems in #16670
Change-Id: I0e22f8e146abe4fc85d8357ebe178db948fec1cd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3734
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Further removal of the use of custom list class;
this time with the generic undo functionality.
Relates To #15534
Change-Id: I804a31abc07f42f4f1695562b6f948feb465db0c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3739
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>