[interfacekit] Re: kernel_interface.POSIX.cpp and some grease
- From: Tyler Dauwalder <tyler@xxxxxxxxxxxxx>
- To: interfacekit@xxxxxxxxxxxxx
- Date: Sat, 03 Jul 2004 11:27:54 -0700
I believe you can blame axeld for all that, though I'm sure he intends to
eventually fix whatever he might have broken. :-) He started working on
transitioning the storage kit to accessing the Haiku kernel directly, and I
don't know that things are guaranteed to continue working while the
transition is in progress.
-Tyler
On 2004-07-03 at 02:47:09 [-0700], Pahtz wrote:
> BTW, kits/storage/kernel_interface.POSIX.cpp uses strlcat which doesn't
> seem to be in R5.
>
> #include <string.h>
>
> size_t strlcat(char *dst, const char *src, size_t dstsize)
> {
> size_t dst_size = strlen(dst);
> strncpy(dst + dst_size, src, dstsize - dst_size - 1);
> dst[dstsize - 1] = '\0';
> return dst_size + strlen(src);
> }
>
> Umm, also should add the kernel private headers to kits/Jamfile for
> <syscall.h> in
> storage/LibBeAdapter.cpp
>
> Screen.cpp is missing from interface/interface.src
>
> B_EMPTY_STRING needs to be defined somewhere.
>
> And something changed to cause a recursion stack overflow with
> entry_ref_to_path. I discovered
> some of this stuff be removing libbe.so from the kits/Jamfile.
>
> <250KB of stack snipped>
>
> fcfffde8 edd1e49f BPrivate::Storage::entry_ref_to_path(entry_ref const
> *, char *, unsigned
> long) + 00000033
> fcfffe0c edd0811d BEntry::SetTo(entry_ref const *, bool) + 0000004d
> fd00022c edd302d5 entry_ref_to_path_adapter(long, long long, char const
> *, char *, unsigned
> long) + 00000065
> fd0002bc edd1e4de BPrivate::Storage::entry_ref_to_path(long, long long,
> char const *, char *,
> unsigned long) + 0000002e
> fd0002e4 edd1e49f BPrivate::Storage::entry_ref_to_path(entry_ref const
> *, char *, unsigned
> long) + 00000033
> fd000308 edd0811d BEntry::SetTo(entry_ref const *, bool) + 0000004d
> fd000728 edd302d5 entry_ref_to_path_adapter(long, long long, char const
> *, char *, unsigned
> long) + 00000065
> fd0007b8 edd1e4de BPrivate::Storage::entry_ref_to_path(long, long long,
> char const *, char *,
> unsigned long) + 0000002e
> fd0007e0 edd1e49f BPrivate::Storage::entry_ref_to_path(entry_ref const
> *, char *, unsigned
> long) + 00000033
> fd000804 edd0811d BEntry::SetTo(entry_ref const *, bool) + 0000004d
> fd000c24 edd302d5 entry_ref_to_path_adapter(long, long long, char const
> *, char *, unsigned
> long) + 00000065
> fd000cb4 edd1e4de BPrivate::Storage::entry_ref_to_path(long, long long,
> char const *, char *,
> unsigned long) + 0000002e
> fd000cdc edd1e49f BPrivate::Storage::entry_ref_to_path(entry_ref const
> *, char *, unsigned
> long) + 00000033
> fd000d00 edd08c34 BEntry::set(int, char const *, bool) + 00000098
> fd0012d0 edd081ed BEntry::SetTo(char const *, bool) + 000000a9
> fd001300 edd07d7d BEntry::BEntry(char const *, bool) + 0000004d
> fd00131c edc9b15b BPrivate::get_app_ref(entry_ref *, bool) + 00000053
> fd00176c edc99ea8 BApplication::InitData(char const *, long *) + 000000b0
> fd001a70 edc98ccc BApplication::BApplication(char const *) + 000000ac
> fd001a90 80003b05 TApplication::TApplication(void) + 00000025
> fd001aa8 80003cd6 main + 0000003a
> fd001bc4 80002d95 _start + 00000061
> App01:
>
>
> ANOTHER EXAMPLE...
>
>
> fd0002c4 edb4153f BPrivate::Storage::entry_ref_to_path(entry_ref const
> *, char *, unsigned
> long) + 00000033
> fd0002e8 edb29546 BDirectory::SetTo(entry_ref const *) + 0000004a
> fd000708 edb295d3 BDirectory::SetTo(node_ref const *) + 0000005b
> fd000748 edb53383 _kern_dir_node_ref_to_path + 00000053
> fd000818 edb4157b BPrivate::Storage::entry_ref_to_path(long, long long,
> char const *, char *,
> unsigned long) + 0000002b
> fd000840 edb4153f BPrivate::Storage::entry_ref_to_path(entry_ref const
> *, char *, unsigned
> long) + 00000033
> fd000864 edb29546 BDirectory::SetTo(entry_ref const *) + 0000004a
> fd000c84 edb295d3 BDirectory::SetTo(node_ref const *) + 0000005b
> fd000cc4 edb53383 _kern_dir_node_ref_to_path + 00000053
> fd000d94 edb4157b BPrivate::Storage::entry_ref_to_path(long, long long,
> char const *, char *,
> unsigned long) + 0000002b
> fd000dbc edb4153f BPrivate::Storage::entry_ref_to_path(entry_ref const
> *, char *, unsigned
> long) + 00000033
> fd000de0 edb29546 BDirectory::SetTo(entry_ref const *) + 0000004a
> fd001200 edb295d3 BDirectory::SetTo(node_ref const *) + 0000005b
> fd001240 edb53383 _kern_dir_node_ref_to_path + 00000053
> fd001310 edb4157b BPrivate::Storage::entry_ref_to_path(long, long long,
> char const *, char *,
> unsigned long) + 0000002b
> fd001338 edb4153f BPrivate::Storage::entry_ref_to_path(entry_ref const
> *, char *, unsigned
> long) + 00000033
> fd00135c edb33852 BPath::SetTo(entry_ref const *) + 0000004a
> fd00177c edabd3c4 BApplication::InitData(char const *, long *) + 0000052c
> fd001a70 edabbd6c BApplication::BApplication(char const *) + 000000ac
> fd001a90 80003b05 TApplication::TApplication(void) + 00000025
> fd001aa8 80003cd6 main + 0000003a
> fd001bc4 80002d95 _start + 00000061
> App01:
>
>
> There's other stuff but later...
>
> Cheers,
> Pahtz.
>
>
>
>
> __________________________________
> Do you Yahoo!?
> Yahoo! Mail - 50x more storage than other providers!
> http://promotions.yahoo.com/new_mail
Other related posts: