This reverts commit 7174197a8d
and all following changes to the related musl files.
(Besides just the reverts, though, it also uses glibc's
strtol-related routines even outside wchar_t.)
musl's behavior of only parsing POSIX-locale strings here may
be technically conformat, but in conjunction with a filled-in
"localeconv", produces behavior that glib does not expect,
and thus in locales with separators other than '.' and ',' as
in POSIX (or EN) locales, it doesn't work properly.
Fixes the main problem in #19582.
Check if fMouseClipboard is be_clipboard, and do nothing in that case.
This could happen if SetMouseClipboard has never been called, for example when running as a replicant.
Also updated copyright year.
Change-Id: I2468d80404c429797bd8c906f3aa747ffc414fa8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9309
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
The old BUrl constructor with just a string is now private. The new one
has a default value for the second parameter, but C++ doesn't exclude
the private constructor from the candidate functions search. So, the
default argument for the new constructor needs to be explicitly
specified now.
Change-Id: Idb1915649ea3d2c59e344801a9d4fe201f8040e9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9236
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: nephele nephele <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
The content of a BUrl should always be in encoded form, to simplify
handling and validation.
Deprecate the UrlEncode member function and make it private. Instead aadd a new
way to handle URL encoding:
- All ways to set an URL (constructors, SetUrlString, and all setters)
now take an extra boolean parameter indicating if the string is already
encoded. The default value is to encode strings automatically.
- The static version of UrlEncode and UrlDecode, which operate on a
string, are preserved and used by other parts of the API.
All unit tests adjusted to handle this, and still passing.
Fixes#12983
Change-Id: I06f06978d0d35e56d7c92b67f001856bb7dcafc8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1193
Reviewed-by: nephele nephele <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
* Allow Inode::LookUp to handle the case in which the inode number in
a DirectoryCache entry has no corresponding entry in the InoIdMap.
This situation can occur after an unused node is freed (due to low
system resources), since ~VnodeToInode will remove the node's
InoIdMap entry.
* When a file is overwritten by a rename operation, remove the
overwritten file's entry from the parent DirectoryCache (although a
file with this name is still present in the directory, the old
DirectoryCache entry is now invalid because the name is now linked
to a different inode).
* Invalidate the cached stat info, including the number of links, in
Inode::fMetaCache when linking to that inode.
* Make a correction to the assert added in
https://review.haiku-os.org/c/haiku/+/9282. Entries may still be
left in this client's InoIdMap if the file was deleted by another
client.
Change-Id: Id437be32e51a4b324eb818b398d7facd23b7be56
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9308
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
* 0463b95 removed a messy workaround ensuring the load address of
the kernel was 0 due to riscv64's PIC kernel design breaking rv64
booting.
* This is the proper fix to set the load address of our PIC kernel
as 0 (triggering a dynamic position)
Change-Id: I010d70bef90c84ca0243601b86d79fbb60c38728
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9301
Reviewed-by: Alexander von Gluck <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
* Stop deleting Inode objects in VnodeToInode::Unlink().
* Allow ~VnodeToInode() to do this in nfs4_remove_vnode(), instead.
At the time the unlink hook is called, other threads could still have
the file open.
With this change, the nfs4 driver can pass the open/unlink test in the
Connectathon NFS testsuite.
Change-Id: I6e4f67fbafad73dd2eeb285dbd2b9fa9670bf5b5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9282
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
- OPT+<key> combinations without a special meaning were generating
a space (' ') char instead of just the normal key.
While that helps to see on the Keymap preflet which OPT+<key>
combinations generate "level-3" chars and which do not...
having the "do not"s generate a space was akward.
For reference, on Windows, the equivalent AltGr+<key> only generates
a char for those key combinations that have a different than plain <key>
result.
- Use "keymap -s" (--load-source) on the shebang.
Change-Id: Iec5f46f2fceb45d31528da3ed5d8c48826ce3bb9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9065
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
In +9146, I added a 'Search all packages' helper message to the Haiku
Depot featured packages view using a TextDocumentView; seems I used the
TextDocumentRef incorrectly, causing a crash on exit; this fixes that.
Change-Id: Idc08fb58dee13b6e85663097876a80a190941f57
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9242
Reviewed-by: Andrew Lindesay <[email protected]>
- Only patch remaining in Haiku is replacement of a #error with a #warning
in achaiku.h. This change is preserved here.
Change-Id: I34474dc2995864ea67ae4e7257b0f6cc8f6a0d64
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8901
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
I've noticed that reviewers often search for something in Haiku
Depot on launch, and assume the package doesn't exist when they don't find
it under featured/don't check the other tab. This change adds a message
to the featured packages view if no results are found, and gives them a
link to click to switch tabs. It also adds a loading message to the
featured packages view.
Also, modify TextSpan::ClickMessage to remove empty message check
Change-Id: I045a2a91c945e28e6512232d203da680a70d4d36
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9146
Reviewed-by: humdinger humdinger <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Andrew Lindesay <[email protected]>
Fixes non-directory-filtered queries after the earlier refactor
to how they work (hrev58845).
Also don't bother writing an empty message if there are no
directory filters, and remove any attribute that does exist.
* Introduce notify_query_entry_moved to the fs_interface API.
axeld added a hook to the query parser (then in BFS) in hrev34317
to directly handle moves/renames, but just sent notifications for
it as B_ENTRY_REMOVED + B_ENTRY_CREATED (which is in fact the same
exact thing BeOS R5 did, I tested). We need to preserve that ABI/API,
unless flags that didn't exist on BeOS R5 are set.
* Rework notify_query_attr_changed to notify_query_attribute_changed.
This method is Haiku-specific (it was added in hrev39131), but it
wasn't very useful: it only sent the name of the file, not the name
of the attribute that changed.
It now sends the name of the attribute along with an "int32 cause",
same as notify_attribute_changed does.
* Rename the private flag B_ATTR_CHANGE_NOTIFICATION to B_QUERY_WATCH_ALL.
This better describes what it does (it's analogous to the B_WATCH_ALL
node_monitor flag). Probably we should make it public at some point...
(although probably at a lower value.)
* Overhaul QueryParser notifications logic to implement WATCH_ALL
properly, make use of the new and improved notification methods,
and to deduplify some logic.
This makes it possible to use queries with B_QUERY_WATCH_ALL
in a similar fashion to watching a directory node with B_WATCH_CHILDREN,
avoiding the need to watch every single node individually.