Go to the FreeLists Home Page Home Signup Help Login
 



Browse interfacekit: This Month's ArchiveMain Archive PageRelated postsPrevious by DateNext by Date

[interfacekit] kernel_interface.POSIX.cpp and some grease

  • From: Pahtz <pahtz@xxxxxxxxxxxx>
  • To: interfacekit@xxxxxxxxxxxxx
  • Date: Sat, 3 Jul 2004 02:47:09 -0700 (PDT)
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:

  • [interfacekit] kernel_interface.POSIX.cpp and some grease
  • [interfacekit] Re: kernel_interface.POSIX.cpp and some grease
  • [interfacekit] Re: kernel_interface.POSIX.cpp and some grease
  • [interfacekit] Re: kernel_interface.POSIX.cpp and some grease
  • [interfacekit] Re: kernel_interface.POSIX.cpp and some grease




  • [ Home | Signup | Help | Login | Archives | Lists ]

    All trademarks and copyrights within the FreeLists archives are owned by their respective owners.
    Everything else ©2008 Avenir Technologies, LLC.