void DoOpen(Widget w, enum Choice client_data, XmAnyCallbackStruct * call_data) { char * s; char * p; XmFileSelectionBoxCallbackStruct * selection; if(client_data == OK) { selection=(XmFileSelectionBoxCallbackStruct *)call_data; XmStringGetLtoR(selection->value, XmSTRING_DEFAULT_CHARSET, &s); printf("user enetered file name =%s \n", s); strcpy(save_file_name, s); /* global */ XtFree(s); strcpy(root_file_name, save_file_name); p = strchr(root_file_name, '.'); if(p != NULL) *p = (char)0; printf("root file name =%s \n", root_file_name); XmListAddItem(draw_name, XMS(root_file_name), 1); set_action(RESTORE); } XtUnmanageChild(open_dialog); } /* end DoOpen */