return(NULL) is correct for the other functions here but not for this
one, since it's meant to return a DtHELP_ error code. The man page also
says it should also set *widget to NULL on error.
When building a program foo in-tree, libtool 2.4.6 generates an
executable called lt-foo with a wrapper script called foo. This
means that argv[0] inside the program is lt-foo rather than foo.
This is a problem for dtcodegen, which uses the program name for various
purposes including the "generated by" banner and the logfile name.
Remove the lt- prefix if present to avoid this.