Hopefully this is a straight forward issue and I'm missing
something obvious.

I'm trying to print a wchar_t [] argument from a simple example
program like

#include <stdio.h>
#include <wchar.h>
#include <unistd.h>

void
prout(wchar_t *wstr)
{
}

int
main()
{
        wchar_t name[]=L"Angelo Rajadurai";
        int i;

        for(i=0; i<1000 ; i++)
        {
                prout(name);
                sleep(1);
        }
}


With a D script like

#!/usr/sbin/dtrace -s

pid$target::prout:entry{
         printf("Argument of %s is %s\n",probefunc,copyinstr(arg0));
}

but it just prints the first char of the string "A"

I'm aware of the %ls and %ws format options in printf() but for
the life of me I'm unable to typecast copyin() into a whcar_t[]
So help! I think I need a copyinwstr() or wstringof() equiv!

Thanks

Angelo




_______________________________________________
dtrace-discuss mailing list
[email protected]

Reply via email to