Trying to fix curses.

This commit is contained in:
Berk Geveci 2001-11-09 16:05:33 -05:00
parent 722283804b
commit 23f0b7760f
5 changed files with 40 additions and 18 deletions

View File

@ -49,7 +49,9 @@ ENDIF (WIN32)
IF (UNIX) IF (UNIX)
INCLUDE (${CMAKE_ROOT}/Modules/FindCurses.cmake) INCLUDE (${CMAKE_ROOT}/Modules/FindCurses.cmake)
IF (CURSES_LIBRARY) IF (CURSES_LIBRARY)
SUBDIRS(CursesDialog/form)
SUBDIRS(CursesDialog) SUBDIRS(CursesDialog)
SUBDIR_DEPENDS(CursesDialog CursesDialog/form)
ENDIF (CURSES_LIBRARY) ENDIF (CURSES_LIBRARY)
ENDIF (UNIX) ENDIF (UNIX)

View File

@ -1,4 +1,3 @@
SUBDIRS(form)
SOURCE_FILES( CURSES_SRCS SOURCE_FILES( CURSES_SRCS
cmCursesBoolWidget cmCursesBoolWidget

View File

@ -2,10 +2,20 @@
#define _MSE_INT_H #define _MSE_INT_H
#endif #endif
#define _BOOL_DEFINED #if defined(__hpux)
#include <sys/time.h> #define _BOOL_DEFINED
#define _XOPEN_SOURCE_EXTENDED #include <sys/time.h>
#include <curses.h> #define _XOPEN_SOURCE_EXTENDED
#include <form.h> #include <curses.h>
#undef _XOPEN_SOURCE_EXTENDED #include <form.h>
#undef _XOPEN_SOURCE_EXTENDED
#else
#include <curses.h>
#include <form.h>
#endif
#ifndef getmaxyx
#define getmaxyx(w,y,x) ((y) = getmaxy(w), (x) = getmaxx(w))
#endif

View File

@ -29,12 +29,13 @@
/**************************************************************************** /****************************************************************************
* Author: Juergen Pfeifer <juergen.pfeifer@gmx.net> 1995,1997 * * Author: Juergen Pfeifer <juergen.pfeifer@gmx.net> 1995,1997 *
****************************************************************************/ ****************************************************************************/
#define _XOPEN_SOURCE_EXTENDED #if defined(__hpux)
#ifdef __FreeBSD__ #define _XOPEN_SOURCE_EXTENDED
#define _WCHAR_T #endif
#endif /* __FreeBSD__ */
#include "form.priv.h" #include "form.priv.h"
#undef _XOPEN_SOURCE_EXTENDED #if defined(__hpux)
#undef _XOPEN_SOURCE_EXTENDED
#endif
MODULE_ID("$Id$") MODULE_ID("$Id$")
@ -1994,7 +1995,10 @@ static int Insert_String(FORM *form, int row, char *txt, int len)
int requiredlen = len+1; int requiredlen = len+1;
char *split; char *split;
int result = E_REQUEST_DENIED; int result = E_REQUEST_DENIED;
const char *Space = " "; char *Space;
Space = (char*)malloc(2*sizeof(char));
strcpy(Space, " ");
if (freelen >= requiredlen) if (freelen >= requiredlen)
{ {
@ -2002,6 +2006,7 @@ static int Insert_String(FORM *form, int row, char *txt, int len)
winsnstr(form->w,txt,len); winsnstr(form->w,txt,len);
wmove(form->w,row,len); wmove(form->w,row,len);
winsnstr(form->w,Space,1); winsnstr(form->w,Space,1);
free(Space);
return E_OK; return E_OK;
} }
else else
@ -2010,7 +2015,10 @@ static int Insert_String(FORM *form, int row, char *txt, int len)
if ((row == (field->drows - 1)) && Growable(field)) if ((row == (field->drows - 1)) && Growable(field))
{ {
if (!Field_Grown(field,1)) if (!Field_Grown(field,1))
{
free(Space);
return(E_SYSTEM_ERROR); return(E_SYSTEM_ERROR);
}
/* !!!Side-Effect : might be changed due to growth!!! */ /* !!!Side-Effect : might be changed due to growth!!! */
bp = Address_Of_Row_In_Buffer(field,row); bp = Address_Of_Row_In_Buffer(field,row);
} }
@ -2033,9 +2041,11 @@ static int Insert_String(FORM *form, int row, char *txt, int len)
winsnstr(form->w,txt,len); winsnstr(form->w,txt,len);
wmove(form->w,row,len); wmove(form->w,row,len);
winsnstr(form->w,Space,1); winsnstr(form->w,Space,1);
free(Space);
return E_OK; return E_OK;
} }
} }
free(Space);
return(result); return(result);
} }
} }

View File

@ -35,12 +35,13 @@
* Routines to handle external names of menu requests * * Routines to handle external names of menu requests *
***************************************************************************/ ***************************************************************************/
#define _XOPEN_SOURCE_EXTENDED #if defined(__hpux)
#ifdef __FreeBSD__ #define _XOPEN_SOURCE_EXTENDED
#define _WCHAR_T #endif
#endif /* __FreeBSD__ */
#include "form.priv.h" #include "form.priv.h"
#undef _XOPEN_SOURCE_EXTENDED #if defined(__hpux)
#undef _XOPEN_SOURCE_EXTENDED
#endif
MODULE_ID("$Id$") MODULE_ID("$Id$")