This code: BPath path1 = "/aaa/bbb"; BPath path2 = "/ccc/ddd"; path1.Append(path2.Path()); printf("%s\n", path1.Path()); Will print "(null)". The reason is that path2 must be relative (and not absolute) so the call to Append fails. I don't have anymore any working ZETA or BeOS installations here to test but I would be surprised if this behaviour is expected. IMHO, it should simply not change the original path. So, is this really the wanetd behaviour? Can someone test this on BeOS/ ZETA and check if the same happens? -Bruno