if (num_unbound != 0) { (void) strcpy(&message[num_chars], ", "); num_chars = num_chars + 2; } (void) strcpy(&message[num_chars], s);
if (num_unbound != 0) num_chars += 2;
static void ReportUnboundActions(xlations, bindData)    XtTranslations	xlations;    TMBindData		bindData;{    TMSimpleStateTree	stateTree = (TMSimpleStateTree)xlations->stateTreeTbl[0];    Cardinal num_unbound;    char     message[10000];    register Cardinal num_chars;    register Cardinal i, j;    XtActionProc *procs;    num_unbound = 0;    (void) strcpy(message, "Actions not found: ");    num_chars = strlen(message);    for (i=0; 	 i < xlations->numStateTrees; 	 i++) {	if (bindData->simple.isComplex)	  procs = TMGetComplexBindEntry(bindData, i)->procs;	else	  procs = TMGetSimpleBindEntry(bindData, i)->procs;	stateTree = (TMSimpleStateTree)xlations->stateTreeTbl[i];	for (j=0; j < stateTree->numQuarks; j++) {	    if (procs[j] == NULL) {		String s = XrmQuarkToString(stateTree->quarkTbl[j]);		if (num_unbound != 0) {		    (void) strcpy(&message[num_chars], ", ");		    num_chars = num_chars + 2;		}		(void) strcpy(&message[num_chars], s);		num_chars += strlen(s);		num_unbound++;	    }	}    }    message[num_chars] = '\0';    if (num_unbound != 0)      XtWarningMsg(XtNtranslationError,"unboundActions",XtCXtToolkitError,		   message, (String *)NULL, (Cardinal *)NULL);}