There was a TODO comment about this, which dated all the way back
to the original OpenTracker import over 20 years ago.
There's still more cleanup needed, so I left another TODO.
* We can return early from duplocale() so set the "magic" flag early.
* Initialize all fields up front.
* Add an internal method __posix_locale_t() which returns a locale_t
usable as a global C/POSIX locale type, and add the appropriate
definition to the musl internal header.
Our features.h does not define __USE_GNU, and so applications trying
to use this GNU-ism would have to define it for themselves, even if
_GNU_SOURCE had already been specified.
BSlowContextPopup was mostly a duplicate class of BNavMenu
only on top of BPopUpMenu instead of BMenu. Now, BPopUpNavMenu
just subclasses BNavMenu and adds the few features of BPopUpMenu
neccessary.
Drag-and-drop of files using the pop-up nav menu seems to still work fine.
Change-Id: Ic1f49c5bed60fff7a3076a22f74aebc6eba51d57
Differences between DWARF v3/v4 for line-info:
- added new field maxOpsPerInstruction
this new field will typically have the value of 1
unless VLIW architecture is being used
(which is not the case for Haiku)
- state machine contains a new field op_index
it has any relevance only when maxOpsPerInstruction > 1
i.e. on VLIW architectures
- added new operation DW_LNE_set_discriminator
this is already implemented in LineNumberProgram.cpp
This implementation just reads maxOpsPerInstruction and
checks that it is set to 1, which is what we expect on
all architectures currently supported by Haiku.
Change-Id: I14755d615a0e2b3a5177928c4d8f9014940a5fcf
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6876
Reviewed-by: Rene Gollent <rene@gollent.com>
When building with GCC 13, this test no longer builds correctly and errors out
because the overloaded `operator<<` for `BPrivate::BDate` and `BPrivate::BTime`
can not be found.
The underlying cause is that the libstdc++ depended on some template SFINAE
behavior, and that did not work because the `operator<<` should only be looked
up in the `BPrivate` namespace.
It is unclear whether the code for libstdc++ changed, or whether this never was
supposed to work. GCC bug #51577 seems to imply that GCC before version 12
errornously allowed the lookup of names in the global namespace. It could be
that we always relied on this behavior:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51577
Change-Id: Ia2f2306a2e97d5f19dc8c4df90a8491f22ef0bcd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6874
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Fixes#16760
The problem comes from trying to cast a void* array to an int32 array.
However, sizeof(void*) is not always equal to sizeof(int32).
Change-Id: I12b7f71621f150edb732b5e0a7d84bf7ced5444a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6871
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
The original change to fix ramfs appearance (hrev56642)
in Tracker and elsewhere said the reason for adding the
FS_IS_REMOVABLE flag instead of removing FS_IS_PERSISTENT
was because of problems encountered with writing/deleting
entries on ramfs mounts.
I was unable to reproduce those problems; writing and
deleting entries on RAMFS mounts still works just fine
in Tracker and elsewhere, even after removing the flag.
So it seems safe to remove; subsequent problems can be
addressed as they come up.
Fixes#18173.
The common version was also derived from BFS' original implementation,
but was genericized during packagefs development, and has more recent
fixes and additions.
Only lightly tested, but arbitrary-attribute-indexed queries seem to be
working just fine.
This allows Icon-O-Matic to be shrunk further horizontally.
Change-Id: Idd54a51dc0d20dcd981dc1ef10d0d5a7a78979cd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6870
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
This allows to copy a file over an existing file
Change-Id: I174751987dcb2f372718e949a8d57b795dc1fd29
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6868
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
As part of adding perspective transformations, agg_trans_perspective.h
was patched to fix a multiple definitions error. This change has been
submitted for review to the "upstream" repositories at [1], [2],
and [3].
Also includes various other improvements such as VertexSource being
split into its own file, code style improvements, and documentation
improvements.
[1] https://sourceforge.net/p/agg/patches/6/
[2] https://github.com/ghaerr/agg-2.6/pull/9
[3] https://github.com/aggeom/agg-2.6/pull/7
Change-Id: I4bffd2f87354bde10155e23145a232a925be6ff3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6801
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
The new version has many more features than the old one. This update
is necessary for an upcoming update to Icon-O-Matic adding perspective
transformers.
This update is pulled from https://github.com/ghaerr/agg-2.6 at commit
e7db22bd12700118257b4cb780539c421e01aa51 with our changes applied on
top. Note that this repository isn't necessarily the chosen upstream
that all future updates should be pulled from. See the discussion
starting at [1] for more information.
This also updates the affine transformation since the newer perspective
transformation requires the newer version.
[1] https://discuss.haiku-os.org/t/gsoc-2023-progress-on-perspective-transformation-haiku-project/13594/34
Change-Id: Ic578eec15fbb9131338b3c605c737ce1bfb252ca
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6808
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
on x86_64 implemented with rdtscp or rdpid, generically with a syscall.
Change-Id: I8f776848bf35575abec8a8c612c4a25d8550daea
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6866
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
This brings us in-line with ext2
Change-Id: I0be7c4b1cbcd5a0a9f501e3e512b5bf6d0b86ffe
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6865
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
I find this API weird but apparently Tracker relies on it and if it
doesn't work it forgets to show icon on the desktop.
Change-Id: I162ff004406e28f56db5ac2293851aa30535109e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6863
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Return is boolean and not a status.
Change-Id: I03b74d8d7b9b205428665059a3b9d4dc708857a0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6861
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Current code forgets to clamp readings to actual file size anf moreover
never adjust the buffer fo subsequent reads. Fix both of those.
Change-Id: I3b8eb98142215ac3b30badfbbbb811147f76563a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6852
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
The step is reclen. Honour it or we end up stepping in the middle of garbage
when OS aligns next entry to avoid crossing sector boundaries.
Change-Id: I749f9533d4d39e7a9abf9295b8e7c519dab52921
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6851
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Passed size needs to be size of name buffer, not of length we compare to.
Fix the value and remove now unused parameter.
Change-Id: Idb69a0e78ba376751edf8b3df3635cd0af4c9460
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6850
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
At the same time make it in line with ext2 module
Change-Id: Iab879cf532cbc0b58b23cdd97d50419c21d199b6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6849
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
The code multiplied fragno by MINBSIZE instead on fragment size.
Moreover IsDirectory and IsSymlink were called before inode was read.
Change-Id: I9e62007c900fb4376812f8ebef508a3f8a8f619b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6848
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>