X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=xgamelist.c;h=2ed39da6b2507ae53d8823187d001c9b9c6a180a;hb=3830e6aea9b487049e7e1ca9961a848f64ba98eb;hp=aa7c6a2d4bd0df656d53ce8d3eeb592ce326f73f;hpb=5cd55bddca592918f38deff675d05b650a71412e;p=xboard.git diff --git a/xgamelist.c b/xgamelist.c index aa7c6a2..2ed39da 100644 --- a/xgamelist.c +++ b/xgamelist.c @@ -184,7 +184,7 @@ GameListCreate(name, callback, client_data) XtSetArg(args[j], XtNdefaultColumns, 1); j++; XtSetArg(args[j], XtNforceColumns, True); j++; XtSetArg(args[j], XtNverticalList, True); j++; - listwidg = + listwidg = XtCreateManagedWidget("list", listWidgetClass, viewport, args, j); XawListHighlight(listwidg, 0); XtAugmentTranslations(listwidg, @@ -357,14 +357,13 @@ GameListPrepare() static void GameListReplace() -{ // [HGM] filter: put in separate routine, to make callable from call-back - Arg args[16]; - int j; - Widget listwidg; +{ + // filter: put in separate routine, to make callable from call-back + Widget listwidg; - listwidg = XtNameToWidget(glc->shell, "*form.viewport.list"); - XawListChange(listwidg, glc->strings, 0, 0, True); - XawListHighlight(listwidg, 0); + listwidg = XtNameToWidget(glc->shell, "*form.viewport.list"); + XawListChange(listwidg, glc->strings, 0, 0, True); + XawListHighlight(listwidg, 0); } void @@ -415,7 +414,7 @@ GameListCallback(w, client_data, call_data) j = 0; XtSetArg(args[j], XtNstring, &name); j++; XtGetValues(filterText, args, j); - strcpy(filterString, name); + safeStrCpy(filterString, name, sizeof(filterString)/sizeof(filterString[0])); XawListHighlight(listwidg, 0); if(GameListPrepare()) GameListReplace(); // crashes on empty list... return; @@ -434,9 +433,7 @@ GameListPopUp(fp, filename) char *filename; { Arg args[16]; - int j, nstrings; - Widget listwidg; - ListGame *lg; + int j; char **st; if (glc == NULL) { @@ -461,7 +458,7 @@ GameListPopUp(fp, filename) if (glc->shell == NULL) { - glc->shell = GameListCreate(filename, GameListCallback, glc); + glc->shell = GameListCreate(filename, GameListCallback, glc); } else { GameListReplace(); // [HGM] filter: code put in separate routine j = 0; @@ -538,7 +535,7 @@ LoadSelectedProc(w, event, prms, nprms) index = rs->list_index; if (index < 0) return; if(direction != 0) { - index += direction; + index += direction; if(direction == -2) index = 0; if(direction == 2) index = listLength-1; if(index < 0 || index >= listLength) return; @@ -566,7 +563,7 @@ SetFilterProc(w, event, prms, nprms) int j = 0; XtSetArg(args[j], XtNstring, &name); j++; XtGetValues(filterText, args, j); - strcpy(filterString, name); + safeStrCpy(filterString, name, sizeof(filterString)/sizeof(filterString[0])); if(GameListPrepare()) GameListReplace(); // crashes on empty list... list = XtNameToWidget(glc->shell, "*form.viewport.list"); XawListHighlight(list, 0); @@ -642,7 +639,8 @@ void GLT_AddToList(char *name) Boolean GLT_GetFromList(int index, char *name) { - strcpy(name, strings[index]); + safeStrCpy(name, strings[index], MSG_SIZ); + return TRUE; } void GLT_DeSelectList() @@ -654,14 +652,12 @@ void GLT_DeSelectList() void GameListOptionsPopDown() { - Arg args[16]; - int j; + if (gameListOptShell == NULL) return; - if (gameListOptShell == NULL) return; - XtPopdown(gameListOptShell); - XtDestroyWidget(gameListOptShell); - gameListOptShell = 0; - XtSetKeyboardFocus(shellWidget, formWidget); + XtPopdown(gameListOptShell); + XtDestroyWidget(gameListOptShell); + gameListOptShell = 0; + XtSetKeyboardFocus(shellWidget, formWidget); } void @@ -710,9 +706,9 @@ GameListOptionsCallback(w, client_data, call_data) strings[--index] = p; } else if (strcmp(name, _("factory")) == 0) { - strcpy(lpUserGLT, GLT_DEFAULT_TAGS); - GLT_TagsToList(lpUserGLT); - index = 0; + safeStrCpy(lpUserGLT, GLT_DEFAULT_TAGS, LPUSERGLT_SIZE); + GLT_TagsToList(lpUserGLT); + index = 0; } XawListHighlight(listwidg, index); } @@ -809,7 +805,7 @@ GameListOptionsCreate() XtCreateManagedWidget(_("OK"), commandWidgetClass, form, args, j); XtAddCallback(b_close, XtNcallback, GameListOptionsCallback, client_data); - strcpy(lpUserGLT, appData.gameListTags); + safeStrCpy(lpUserGLT, appData.gameListTags, LPUSERGLT_SIZE); GLT_TagsToList(lpUserGLT); XtRealizeWidget(shell); @@ -821,15 +817,10 @@ GameListOptionsCreate() void GameListOptionsPopUp(Widget w, XEvent *event, String *prms, Cardinal *nprms) { - Arg args[16]; - int j, nstrings; - Widget listwidg; - - if (gameListOptShell == NULL) { - gameListOptShell = GameListOptionsCreate(); - } + if (gameListOptShell == NULL) + gameListOptShell = GameListOptionsCreate(); - XtPopup(gameListOptShell, XtGrabNone); + XtPopup(gameListOptShell, XtGrabNone); }