AKA, what's wrong with the following? Isn't a string literal always a constant?

$ cat > cfretain_calayer.d
pid$target::CFRetain:entry
{
    isaptr = *(uint32_t*)copyin(arg0, 4);
    classnameptr = *(uint32_t*)copyin(isaptr+8, 4);
    classname = copyinstr(classnameptr);

    p = (classname == "CALayer" ? "CFRetain(CALayer)\n" : "");
    printf(p);
}

$ sudo dtrace -p 31303 -s cfretain_calayer.d 
dtrace: failed to compile script cfretain_calayer.d: line 8: printf( ) argument 
#1 is incompatible with prototype:
        prototype: string constant
         argument: string

Also, please let me know if there's a better way to be doing this (I'm a dtrace 
newbie).

Thanks,
Hamish
-- 
This message posted from opensolaris.org
_______________________________________________
dtrace-discuss mailing list
dtrace-discuss@opensolaris.org

Reply via email to