- } else if (!strcmp(argv[i],"-ident")) {
- strncpy(info->ident, argv[i+1],32);
+ } else if (!strncmp(Tcl_GetStringFromObj(objv[i],NULL),"-ident",7)) {
+ char *ident_name=Tcl_GetString(objv[i+1]);
+ Tcl_DString *dstring=(Tcl_DString *)Tcl_Alloc(sizeof(Tcl_DString));
+ Tcl_DStringInit(dstring);
+ Tcl_UtfToExternalDString(NULL,ident_name,strlen(ident_name),
+ dstring);
+ strncpy(info->ident,Tcl_DStringValue(dstring),32);
+ Tcl_DStringFree(dstring);
+ Tcl_Free((char *)dstring);