/*
* Copyright 2000, International Business Machines Corporation and others.
* All Rights Reserved.
- *
+ *
* This software has been released under the terms of the IBM Public
* License. For details, see the LICENSE file in the top-level source
* directory or online at http://www.openafs.org/dl/license10.html
*/
-#define IGNORE_STDS_H
#include <afsconfig.h>
#include <afs/param.h>
+#include <afs/stds.h>
-RCSID
- ("$Header$");
+#include <roken.h>
-#ifdef AFS_HPUX_ENV
-#include <sys/types.h>
-#endif
#include <lwp.h>
-#include <string.h>
-#include <stdlib.h>
-
#include "gtxobjects.h"
#include "gtxwindows.h"
#include "gtxcurseswin.h"
#include "gtxkeymap.h"
#include "gtxframe.h"
-extern char *gtx_CopyString();
static struct keymap_map *recursiveMap = 0;
static char menubuffer[1024]; /*Buffer for menu selections */
int gtxframe_exitValue = 0; /*Program exit value */
-gtxframe_CtrlUCmd(awindow, arock)
- char *arock;
- struct gwin *awindow;
+int
+gtxframe_CtrlUCmd(void *aparam, void *arock)
{
+ struct gwin *awindow = (struct gwin *) aparam;
struct gtx_frame *tframe;
tframe = awindow->w_frame;
return 0;
}
-gtxframe_CtrlHCmd(awindow, arock)
- char *arock;
- struct gwin *awindow;
+int
+gtxframe_CtrlHCmd(void *aparam, void *arock)
{
- register struct gtx_frame *tframe;
- register char *tp;
- register int pos;
+ struct gwin *awindow = (struct gwin *) aparam;
+
+ struct gtx_frame *tframe;
+ char *tp;
+ int pos;
tframe = awindow->w_frame;
if (!(tp = tframe->defaultLine))
return 0;
}
-gtxframe_RecursiveEndCmd(awindow, arock)
- char *arock;
- register struct gwin *awindow;
+int
+gtxframe_RecursiveEndCmd(void *aparam, void *arock)
{
- register struct gtx_frame *tframe;
+ struct gwin *awindow = (struct gwin *) aparam;
+
+ struct gtx_frame *tframe;
tframe = awindow->w_frame;
tframe->flags |= GTXFRAME_RECURSIVEEND;
return 0;
}
-gtxframe_RecursiveErrCmd(awindow, arock)
- char *arock;
- register struct gwin *awindow;
+int
+gtxframe_RecursiveErrCmd(void *aparam, void *arock)
{
- register struct gtx_frame *tframe;
+ struct gwin *awindow = (struct gwin *) aparam;
+
+ struct gtx_frame *tframe;
tframe = awindow->w_frame;
tframe->flags |= GTXFRAME_RECURSIVEEND;
return 0;
}
-gtxframe_SelfInsertCmd(awindow, arock)
- int arock;
- struct gwin *awindow;
+int
+gtxframe_SelfInsertCmd(void *aparam, void *rockparam)
{
- register struct gtx_frame *tframe;
- register int pos;
- register char *tp;
+ struct gwin *awindow = (struct gwin *) aparam;
+
+ int arock = (intptr_t)rockparam;
+
+ struct gtx_frame *tframe;
+ int pos;
+ char *tp;
tframe = awindow->w_frame;
if (!(tp = tframe->defaultLine))
}
/* save map, setup recursive map and install it */
-static
-SaveMap(aframe)
- register struct gtx_frame *aframe;
+static int
+SaveMap(struct gtx_frame *aframe)
{
char tstring[2];
- register int i;
+ int i;
if (!recursiveMap) {
/* setup recursive edit map if not previously done */
tstring[0] = i;
tstring[1] = 0;
keymap_BindToString(recursiveMap, tstring, gtxframe_SelfInsertCmd,
- NULL, i);
+ NULL, (void *)(intptr_t)i);
}
}
aframe->savemap = aframe->keymap;
}
/* Restore map to previous value */
-static
-RestoreMap(aframe)
- register struct gtx_frame *aframe;
+static int
+RestoreMap(struct gtx_frame *aframe)
{
aframe->keymap = aframe->savemap;
aframe->savemap = (struct keymap_map *)0;
return 0;
}
-gtxframe_SetFrame(awin, aframe)
- struct gtx_frame *aframe;
- struct gwin *awin;
+int
+gtxframe_SetFrame(struct gwin *awin, struct gtx_frame *aframe)
{
if (awin->w_frame) {
/* Unthread this frame */
}
struct gtx_frame *
-gtxframe_GetFrame(awin)
- struct gwin *awin;
+gtxframe_GetFrame(struct gwin *awin)
{
return awin->w_frame;
}
/* Add a menu string to display list */
-gtxframe_AddMenu(aframe, alabel, astring)
- char *alabel;
- char *astring;
- struct gtx_frame *aframe;
+int
+gtxframe_AddMenu(struct gtx_frame *aframe, char *alabel, char *astring)
{
- register struct gtxframe_menu *tmenu;
+ struct gtxframe_menu *tmenu;
if (aframe->menus)
for (tmenu = aframe->menus; tmenu; tmenu = tmenu->next) {
if (!tmenu) {
/* Handle everything but the command string, which is handled by the
* common-case code below */
- tmenu = (struct gtxframe_menu *)malloc(sizeof(*tmenu));
+ tmenu = calloc(1, sizeof(*tmenu));
if (tmenu == (struct gtxframe_menu *)0)
return (-1);
- memset(tmenu, 0, sizeof(*tmenu));
tmenu->next = aframe->menus;
aframe->menus = tmenu;
tmenu->name = gtx_CopyString(alabel);
}
/* Delete a given menu from a frame*/
-gtxframe_DeleteMenu(aframe, alabel)
- struct gtx_frame *aframe;
- char *alabel;
+int
+gtxframe_DeleteMenu(struct gtx_frame *aframe, char *alabel)
{
- register struct gtxframe_menu *tm, **lm;
+ struct gtxframe_menu *tm, **lm;
for (lm = &aframe->menus, tm = *lm; tm; lm = &tm->next, tm = *lm) {
if (strcmp(alabel, tm->name) == 0) {
}
/* Function to remove all known menus */
-gtxframe_ClearMenus(aframe)
- struct gtx_frame *aframe;
+int
+gtxframe_ClearMenus(struct gtx_frame *aframe)
{
- register struct gtxframe_menu *tm, *nm;
+ struct gtxframe_menu *tm, *nm;
if (aframe->menus != (struct gtxframe_menu *)0) {
for (tm = aframe->menus; tm; tm = nm) {
return 0;
}
-gtxframe_AskForString(aframe, aprompt, adefault, aresult, aresultSize)
- register struct gtx_frame *aframe;
- char *aprompt;
- char *adefault;
- char *aresult;
- int aresultSize;
+int
+gtxframe_AskForString(struct gtx_frame *aframe, char *aprompt,
+ char *adefault, char *aresult, int aresultSize)
{
- register int code;
- register char *tp;
+ int code;
+ char *tp;
/* Ensure recursive-edit map is initialized */
SaveMap(aframe);
if (aframe->defaultLine)
free(aframe->defaultLine);
aframe->promptLine = gtx_CopyString(aprompt);
- tp = aframe->defaultLine = (char *)malloc(1024);
+ tp = aframe->defaultLine = malloc(1024);
if (tp == NULL)
return (-1);
if (adefault)
return (code);
}
-gtxframe_DisplayString(aframe, amsgLine)
- char *amsgLine;
- register struct gtx_frame *aframe;
+int
+gtxframe_DisplayString(struct gtx_frame *aframe, char *amsgLine)
{
if (aframe->messageLine)
free(aframe->messageLine);
aframe->messageLine = gtx_CopyString(amsgLine);
+ return 0;
}
/* Called by input processor to try to clear the dude */
-gtxframe_ClearMessageLine(aframe)
- struct gtx_frame *aframe;
+int
+gtxframe_ClearMessageLine(struct gtx_frame *aframe)
{
/* If we haven't shown message long enough yet, just return */
if (aframe->flags & GTXFRAME_NEWDISPLAY)
return (0);
}
-static
-ShowMessageLine(aframe)
- struct gtx_frame *aframe;
+static int
+ShowMessageLine(struct gtx_frame *aframe)
{
struct gwin_strparams strparms;
struct gwin_sizeparams sizeparms;
- register char *tp;
+ char *tp;
if (!aframe->window)
return -1;
strparms.x = 0;
strparms.y = sizeparms.maxy - 1;
strparms.highlight = 1;
- tp = strparms.s = (char *)malloc(1024);
+ tp = strparms.s = malloc(1024);
strcpy(tp, aframe->promptLine);
strcat(tp, aframe->defaultLine);
WOP_DRAWSTRING(aframe->window, &strparms);
/* Exit function, returning whatever has been put in its argument */
int
-gtxframe_ExitCmd(a_exitValuep)
- char *a_exitValuep;
-
+gtxframe_ExitCmd(void *a_exitValuep, void *arock)
{ /*gtxframe_ExitCmd */
int exitval; /*Value we've been asked to exit with */
} /*gtxframe_ExitCmd */
struct gtx_frame *
-gtxframe_Create()
+gtxframe_Create(void)
{
struct gtx_frame *tframe;
struct keymap_map *newkeymap;
/*
* Allocate all the pieces first: frame, keymap, and key state.
*/
- tframe = (struct gtx_frame *)malloc(sizeof(struct gtx_frame));
+ tframe = calloc(1, sizeof(struct gtx_frame));
if (tframe == (struct gtx_frame *)0) {
return ((struct gtx_frame *)0);
}
return ((struct gtx_frame *)0);
}
- newkeystate = (struct keymap_state *)
- malloc(sizeof(struct keymap_state));
+ newkeystate = malloc(sizeof(struct keymap_state));
if (newkeystate == (struct keymap_state *)0) {
/*
* Get rid of the frame AND the keymap before exiting.
* Now that all the pieces exist, fill them in and stick them in
* the right places.
*/
- memset(tframe, 0, sizeof(struct gtx_frame));
tframe->keymap = newkeymap;
tframe->keystate = newkeystate;
keymap_InitState(tframe->keystate, tframe->keymap);
return (tframe);
}
-gtxframe_Delete(aframe)
- register struct gtx_frame *aframe;
+int
+gtxframe_Delete(struct gtx_frame *aframe)
{
keymap_Delete(aframe->keymap);
free(aframe->keystate);
return 0;
}
-gtxframe_Display(aframe, awm)
- struct gwin *awm;
- register struct gtx_frame *aframe;
+int
+gtxframe_Display(struct gtx_frame *aframe, struct gwin *awm)
{
- register struct gtxframe_dlist *tlist;
- register struct gtxframe_menu *tm;
+ struct gtxframe_dlist *tlist;
+ struct gtxframe_menu *tm;
struct gwin_strparams strparms;
/* Run through the menus, displaying them on the top line */
}
/* Add an object to a window's display list */
-gtxframe_AddToList(aframe, aobj)
- struct onode *aobj;
- register struct gtx_frame *aframe;
+int
+gtxframe_AddToList(struct gtx_frame *aframe, struct onode *aobj)
{
- register struct gtxframe_dlist *tlist;
+ struct gtxframe_dlist *tlist;
for (tlist = aframe->display; tlist; tlist = tlist->next) {
if (tlist->data == (char *)aobj) {
* OK, it's not alreadyt there. Create a new list object, fill it
* in, and splice it on.
*/
- tlist = (struct gtxframe_dlist *)malloc(sizeof(struct gtxframe_dlist));
+ tlist = malloc(sizeof(struct gtxframe_dlist));
if (tlist == (struct gtxframe_dlist *)0)
return (-1);
tlist->data = (char *)aobj;
}
/* Remove an object from a display list, if it is already there */
-gtxframe_RemoveFromList(aframe, aobj)
- struct onode *aobj;
- register struct gtx_frame *aframe;
+int
+gtxframe_RemoveFromList(struct gtx_frame *aframe, struct onode *aobj)
{
- register struct gtxframe_dlist *tlist, **plist;
+ struct gtxframe_dlist *tlist, **plist;
plist = &aframe->display;
for (tlist = *plist; tlist; plist = &tlist->next, tlist = *plist) {
}
/* Clear out everything on the display list for the given frame*/
-gtxframe_ClearList(aframe)
- register struct gtx_frame *aframe;
+int
+gtxframe_ClearList(struct gtx_frame *aframe)
{
- register struct gtxframe_dlist *tlist, *nlist;
+ struct gtxframe_dlist *tlist, *nlist;
if (aframe->display != (struct gtxframe_dlist *)0) {
/*