On Thu, Sep 05, 2013 at 11:28:14PM +0200, Laurent Blume wrote: > > I'm not sure I'm still good at adding printf("DEBUG\n") lines around :-) > so I tried my hand with dtrace for a start. > > Here are some examples of what it returns when looking at smb_iconv() > while I opened the directory and listed the content: > > 0 61539 smb_iconv:entry > 0 88770 convert_string_talloc:return > 0 88786 push_ucs2_talloc:return > 0 69264 talloc_tos:entry > 0 88535 talloc_tos:return > 0 69516 push_ucs2_talloc:entry > 0 69500 convert_string_talloc:entry > 0 69497 lazy_initialize_conv:entry > 0 88767 lazy_initialize_conv:return > 0 61537 get_iconv_convenience:entry > 0 61585 get_iconv_convenience:return > 0 69852 get_conv_handle:entry > 0 89122 get_conv_handle:return > 0 82016 _talloc_realloc:entry > 0 81992 talloc_alloc_pool:entry > 0 81991 talloc_pool_objectcount:entry > 0 101091 talloc_pool_objectcount:return > 0 101092 talloc_alloc_pool:return > 0 101116 _talloc_realloc:return > > > 0 61539 smb_iconv:entry > 0 88770 convert_string_talloc:return > 0 88786 push_ucs2_talloc:return > 0 69821 strupper_w:entry > 0 69840 toupper_w:entry > 0 69846 toupper_m:entry > 0 89116 toupper_m:return > 0 89110 toupper_w:return > 0 69840 toupper_w:entry > 0 69846 toupper_m:entry > 0 75259 toupper:entry > 0 94407 toupper:return > 0 89116 toupper_m:return > 0 89110 toupper_w:return > 0 69840 toupper_w:entry > 0 69846 toupper_m:entry > 0 75259 toupper:entry > 0 94407 toupper:return > 0 89116 toupper_m:return > 0 89110 toupper_w:return > 0 89091 strupper_w:return > 0 69499 convert_string:entry > 0 69497 lazy_initialize_conv:entry > 0 88767 lazy_initialize_conv:return > 0 61537 get_iconv_convenience:entry > 0 61585 get_iconv_convenience:return > 0 69852 get_conv_handle:entry > 0 89122 get_conv_handle:return > > Does it make sense? There are some longer examples, but the only > function call containing iconv is get_iconv_convenience().
No, it doesn't make sense. smb_iconv() vectors through pull and push function pointers that do the actual conversion - that's where the errno is coming from. That's why you need debug statements - you know it's going into smb_iconv() but you don't know where it's going from there. Jeremy. -- To unsubscribe from this list go to the following URL and read the instructions: https://lists.samba.org/mailman/options/samba