1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-07 02:06:57 +00:00
freebsd-ports/devel/tvision/files/patch-max

3765 lines
107 KiB
Plaintext

Index: demo/ascii.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/demo/ascii.cc,v
retrieving revision 1.1
retrieving revision 1.4
diff -u -r1.1 -r1.4
--- demo/ascii.cc 20 Dec 2002 12:06:16 -0000 1.1
+++ demo/ascii.cc 25 Dec 2002 14:10:14 -0000 1.4
@@ -12,11 +12,12 @@
* Copyright (c) 1994 by Borland International
* All Rights Reserved.
*
- */
-/*
* Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
+#include "ascii.h"
+
#define Uses_TRect
#define Uses_TEvent
#define Uses_TKeys
@@ -32,11 +33,15 @@
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
-#include <strstream.h>
-#include <iomanip.h>
-
-#include "ascii.h"
+#include <iomanip>
+#include <ios>
+#include <sstream>
+#include <string>
+
+using std::ios;
+using std::ostringstream;
+using std::string;
//
// TTable functions
@@ -207,16 +212,16 @@
{
TDrawBuffer buf;
char color = getColor(6);
- char str[80];
- ostrstream statusStr( str, sizeof str );
+ string str;
+ ostringstream statusStr(str);
statusStr
<< " Char: " << (char ) ((asciiChar == 0) ? 0x20 : asciiChar)
- << " Decimal: " << setw(3) << (int) asciiChar
- << " Hex " << hex << setiosflags(ios::uppercase)
- << setw(2) << (int) asciiChar << " " << ends;
+ << " Decimal: " << std::setw(3) << (int) asciiChar
+ << " Hex " << std::hex << std::setiosflags(ios::uppercase)
+ << std::setw(2) << (int) asciiChar << " " << std::ends;
- buf.moveStr(0, str, color);
+ buf.moveStr(0, str.c_str(), color);
writeLine(0, 0, 32, 1, buf);
}
Index: demo/ascii.h
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/demo/ascii.h,v
retrieving revision 1.1
retrieving revision 1.3
diff -u -r1.1 -r1.3
--- demo/ascii.h 20 Dec 2002 12:06:16 -0000 1.1
+++ demo/ascii.h 25 Dec 2002 14:10:14 -0000 1.3
@@ -9,10 +9,16 @@
* Copyright (c) 1994 by Borland International
* All Rights Reserved.
*
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
#if !defined( __ASCII_H )
#define __ASCII_H
+
+#define Uses_TEvent
+#define Uses_TWindow
+#define Uses_TView
+#include <tvision/tv.h>
const int cmAsciiTableCmdBase = 910;
const int cmCharFocused = 0;
Index: demo/calc.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/demo/calc.cc,v
retrieving revision 1.1
retrieving revision 1.5
diff -u -r1.1 -r1.5
--- demo/calc.cc 20 Dec 2002 12:06:16 -0000 1.1
+++ demo/calc.cc 25 Dec 2002 14:10:15 -0000 1.5
@@ -10,9 +10,8 @@
* Copyright (c) 1994 by Borland International
* All Rights Reserved.
*
- */
-/*
* Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
#define Uses_TRect
@@ -29,14 +28,17 @@
__link( RDialog )
__link( RButton )
+#include "calc.h"
+
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
-#include <strstream.h>
-#include <iomanip.h>
-#include "calc.h"
+#include <sstream>
+#include <iomanip>
+using std::string;
+using std::ostringstream;
#define cpCalcPalette "\x13"
@@ -158,27 +160,25 @@
void TCalcDisplay::setDisplay(double r)
{
- int len;
- char str[64];
- ostrstream displayStr( str, sizeof str );
+ string str;
+ ostringstream displayStr(str);
if(r < 0.0)
{
sign = '-';
- displayStr << -r << ends;
+ displayStr << -r << std::ends;
}
else
{
- displayStr << r << ends;
+ displayStr << r << std::ends;
sign = ' ';
}
- len = strlen(str) - 1; // Minus one so we can use as an index.
-
- if(len > DISPLAYLEN)
+ int len = str.length();
+ if (len > DISPLAYLEN)
error();
else
- strcpy(number, str);
+ strcpy(number, str.c_str());
}
Index: demo/calendar.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/demo/calendar.cc,v
retrieving revision 1.1
retrieving revision 1.3
diff -u -r1.1 -r1.3
--- demo/calendar.cc 20 Dec 2002 12:06:16 -0000 1.1
+++ demo/calendar.cc 25 Dec 2002 14:10:15 -0000 1.3
@@ -9,9 +9,8 @@
* Copyright (c) 1994 by Borland International
* All Rights Reserved.
*
- */
-/*
* Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
#define Uses_TRect
@@ -26,15 +25,19 @@
__link( RView )
__link( RWindow )
+#include "calendar.h"
+
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
-#include <strstream.h>
-#include <iomanip.h>
#include <time.h>
-#include "calendar.h"
+#include <iomanip>
+#include <sstream>
+#include <string>
+using std::string;
+using std::ostringstream;
static char *monthNames[] = {
"",
@@ -131,9 +134,9 @@
}
-void TCalendarView::draw()
+void
+TCalendarView::draw()
{
- char str[23];
char current = (char)(1 - dayOfWeek(1, month, year));
char days = (char)( daysInMonth[month] +
((year % 4 == 0 && month == 2) ? 1 : 0) );
@@ -146,38 +149,40 @@
buf.moveChar(0, ' ', color, 22);
- ostrstream s1( str, sizeof str);
- s1 << setw(9) << monthNames[month] << " " << setw(4) << year
- << " " << (char) 30 << " " << (char) 31 << " " << ends;
+ ostringstream s1;
+ s1 << std::setw(9) << monthNames[month]
+ << " " << std::setw(4) << year
+ << " " << (char) 30
+ << " " << (char) 31 <<
+ " " << std::ends;
- buf.moveStr(0, str, color);
+ buf.moveStr(0, s1.str().c_str(), color);
writeLine(0, 0, 22, 1, buf);
buf.moveChar(0, ' ', color, 22);
buf.moveStr(0, "Su Mo Tu We Th Fr Sa", color);
writeLine(0, 1, 22, 1, buf);
- for(i = 1; i <= 6; i++)
- {
+ for (i = 1; i <= 6; i++) {
buf.moveChar(0, ' ', color, 22);
- for(j = 0; j <= 6; j++)
- {
- if(current < 1 || current > days)
+ for(j = 0; j <= 6; j++) {
+ if (current < 1 || current > days) {
buf.moveStr((short)(j*3), " ", color);
- else
- {
- ostrstream s2( str, sizeof str );
- s2 << setw(2) << (int) current << ends;
- if(year == curYear && month == curMonth && current ==
- (int)curDay)
- buf.moveStr((short)(j*3), str, boldColor);
- else
- buf.moveStr((short)(j*3), str, color);
- }
+ } else {
+ ostringstream s2;
+ s2 << std::setw(2) << (int) current << std::ends;
+ if (year == curYear &&
+ month == curMonth &&
+ current == (int)curDay) {
+ buf.moveStr((short)(j*3), s2.str().c_str(), boldColor);
+ } else {
+ buf.moveStr((short)(j*3), s2.str().c_str(), color);
+ }
+ }
current++;
- }
+ }
writeLine(0, (short)(i+1), 22, 1, buf);
- }
+ }
}
Index: demo/fileview.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/demo/fileview.cc,v
retrieving revision 1.1
retrieving revision 1.4
diff -u -r1.1 -r1.4
--- demo/fileview.cc 20 Dec 2002 12:06:16 -0000 1.1
+++ demo/fileview.cc 27 Dec 2002 23:16:40 -0000 1.4
@@ -9,9 +9,8 @@
* Copyright (c) 1994 by Borland International
* All Rights Reserved.
*
- */
-/*
* Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
#define Uses_MsgBox
@@ -26,16 +25,17 @@
__link(RScroller)
__link(RScrollBar)
+#include "tvcmds.h"
+#include "fileview.h"
+
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
-#include <fstream.h>
-
-#include "tvcmds.h"
-#include "fileview.h"
+#include <fstream>
+using std::ifstream;
const char * const TFileViewer::name = "TFileViewer";
@@ -107,10 +107,7 @@
else
{
char line[maxLineLength+1];
- while( !lowMemory() &&
- !fileToView.eof() &&
- fileToView.get( line, sizeof line ) != 0
- )
+ while(!fileToView.eof() && fileToView.get( line, sizeof line ) != 0)
{
char c;
fileToView.get(c); // grab trailing newline
Index: demo/gadgets.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/demo/gadgets.cc,v
retrieving revision 1.1
retrieving revision 1.3
diff -u -r1.1 -r1.3
--- demo/gadgets.cc 20 Dec 2002 12:06:16 -0000 1.1
+++ demo/gadgets.cc 25 Dec 2002 14:10:15 -0000 1.3
@@ -14,9 +14,8 @@
* Copyright (c) 1994 by Borland International
* All Rights Reserved.
*
- */
-/*
* Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
#define Uses_TRect
@@ -24,14 +23,15 @@
#define Uses_TDrawBuffer
#include <tvision/tv.h>
+#include "gadgets.h"
+
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
-#include <strstream.h>
-#include <iomanip.h>
#include <time.h>
-#include "gadgets.h"
+#include <sstream>
+#include <iomanip>
//extern "C" unsigned long farcoreleft( void );
@@ -84,7 +84,7 @@
struct farheapinfo heap;
#endif
- ostrstream totalStr( heapStr, sizeof heapStr);
+ ostringstream totalStr( heapStr, sizeof heapStr);
//#if defined( __DPMI32__ )
// switch( _HEAPEMPTY )
Index: demo/mousedlg.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/demo/mousedlg.cc,v
retrieving revision 1.1
retrieving revision 1.3
diff -u -r1.1 -r1.3
--- demo/mousedlg.cc 20 Dec 2002 12:06:16 -0000 1.1
+++ demo/mousedlg.cc 25 Dec 2002 14:10:15 -0000 1.3
@@ -11,9 +11,8 @@
* Copyright (c) 1994 by Borland International
* All Rights Reserved.
*
- */
-/*
* Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
#define Uses_TRect
@@ -29,14 +28,11 @@
#define Uses_TEventQueue
#include <tvision/tv.h>
+#include "mousedlg.h"
+
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
-#include <strstream.h>
-#include <iomanip.h>
-
-#include "mousedlg.h"
-
#define cpMousePalette "\x07\x08"
Index: demo/puzzle.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/demo/puzzle.cc,v
retrieving revision 1.1
retrieving revision 1.3
diff -u -r1.1 -r1.3
--- demo/puzzle.cc 20 Dec 2002 12:06:16 -0000 1.1
+++ demo/puzzle.cc 25 Dec 2002 14:10:15 -0000 1.3
@@ -9,9 +9,8 @@
* Copyright (c) 1994 by Borland International
* All Rights Reserved.
*
- */
-/*
* Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
#define Uses_TRect
@@ -26,20 +25,16 @@
__link( RView )
__link( RWindow )
+#include "puzzle.h"
+
#include <string.h>
#include <stdio.h> /* SS: for sprintf(...) */
#include <stdlib.h>
#include <ctype.h>
-#include <strstream.h>
-#include <iomanip.h>
#include <time.h>
#include <unistd.h>
-#include "puzzle.h"
-
-
#define cpPuzzlePalette "\x06\x07"
-
//
// TPuzzleView functions & static variables
Index: demo/tvdemo1.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/demo/tvdemo1.cc,v
retrieving revision 1.1
retrieving revision 1.4
diff -u -r1.1 -r1.4
--- demo/tvdemo1.cc 20 Dec 2002 12:06:16 -0000 1.1
+++ demo/tvdemo1.cc 25 Dec 2002 14:10:15 -0000 1.4
@@ -9,9 +9,8 @@
* Copyright (c) 1994 by Borland International
* All Rights Reserved.
*
- */
-/*
* Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
#define Uses_TView
@@ -40,6 +39,8 @@
#include <stdio.h>
#include <string.h>
+using std::ios;
+
/* SS: changed */
//#ifdef __DPMI32__
@@ -135,7 +136,7 @@
if ((event.message.command == cmHelp) && ( helpInUse == False))
{
helpInUse = True;
- helpStrm = new fpstream(HELP_FILENAME, ios::in|ios::bin);
+ helpStrm = new fpstream(HELP_FILENAME, ios::in|ios::binary);
hFile = new THelpFile(*helpStrm);
if (!helpStrm)
{
@@ -219,7 +220,7 @@
else
{
fclose(fp);
- fpstream *f = new fpstream("TVDEMO.DST", ios::in|ios::bin);
+ fpstream *f = new fpstream("TVDEMO.DST", ios::in|ios::binary);
if( !f )
messageBox("Could not open desktop file", mfOKButton | mfError);
else
@@ -238,7 +239,7 @@
void TVDemo::saveDesktop()
{
- fpstream *f = new fpstream("TVDEMO.DST", ios::out|ios::bin);
+ fpstream *f = new fpstream("TVDEMO.DST", ios::out|ios::binary);
if( f )
{
Index: lib/Makefile.am
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/lib/Makefile.am,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- lib/Makefile.am 20 Dec 2002 12:06:20 -0000 1.1
+++ lib/Makefile.am 27 Dec 2002 23:16:43 -0000 1.2
@@ -13,7 +13,7 @@
CLEANFILES = tvision
pkginclude_HEADERS = \
-app.h buffers.h colorsel.h dialogs.h drawbuf.h editors.h \
+app.h colorsel.h dialogs.h drawbuf.h editors.h \
help.h helpbase.h menus.h msgbox.h objects.h outline.h resource.h \
stddlg.h system.h textview.h tkeys.h tobjstrm.h ttypes.h tv.h \
tvconfig.h tvobjs.h util.h validate.h views.h
@@ -37,7 +37,7 @@
TSortedCollection.cc TStaticText.cc TStatusLine.cc TStrListMaker.cc \
TStringCollection.cc TValidator.cc TView.cc TWindow.cc allnames.cc asm.cc \
colorsel.cc drivers.cc editstat.cc help.cc helpbase.cc histlist.cc menu.cc \
-misc.cc msgbox.cc new.cc palette.cc sall.cc stddlg.cc system.cc textview.cc \
+misc.cc msgbox.cc palette.cc sall.cc stddlg.cc system.cc textview.cc \
tobjstrm.cc tvtext.cc
libtvision_la_SOURCES = tvision TApplication.cc TBackground.cc TButton.cc \
@@ -53,5 +53,5 @@
TSortedCollection.cc TStaticText.cc TStatusLine.cc TStrListMaker.cc \
TStringCollection.cc TValidator.cc TView.cc TWindow.cc allnames.cc asm.cc \
colorsel.cc drivers.cc editstat.cc help.cc helpbase.cc histlist.cc menu.cc \
-misc.cc msgbox.cc new.cc palette.cc sall.cc stddlg.cc system.cc textview.cc \
+misc.cc msgbox.cc palette.cc sall.cc stddlg.cc system.cc textview.cc \
tobjstrm.cc tvtext.cc
Index: lib/TApplication.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/lib/TApplication.cc,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- lib/TApplication.cc 20 Dec 2002 12:06:20 -0000 1.1
+++ lib/TApplication.cc 27 Dec 2002 23:16:43 -0000 1.2
@@ -14,9 +14,6 @@
#define Uses_TObject
#define Uses_TMouse
#define Uses_TApplication
-#ifndef __UNPATCHED
-#define Uses_TVMemMgr
-#endif
#include <tvision/tv.h>
void initHistory();
@@ -41,9 +38,6 @@
/* SS: changed */
TScreen::suspend();
-#ifndef __UNPATCHED
- TVMemMgr::suspend(); // Release discardable memory.
-#endif
}
void TApplication::resume()
Index: lib/TFileEditor.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/lib/TFileEditor.cc,v
retrieving revision 1.1
retrieving revision 1.5
diff -u -r1.1 -r1.5
--- lib/TFileEditor.cc 20 Dec 2002 12:06:20 -0000 1.1
+++ lib/TFileEditor.cc 25 Dec 2002 14:10:17 -0000 1.5
@@ -7,6 +7,7 @@
* All Rights Reserved.
*
* Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
#define Uses_TProgram
@@ -18,12 +19,18 @@
#define Uses_ipstream
#include <tvision/tv.h>
-#include <fstream.h>
+#include <fstream>
+
#include <limits.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+using std::ifstream;
+using std::ios;
+using std::ofstream;
+using std::streampos;
+
inline ushort min( ushort u1, ushort u2 )
{
return u1 < u2 ? u1 : u2;
@@ -89,7 +96,7 @@
Boolean TFileEditor::loadFile()
{
- ifstream f( fileName, ios::in | ios::bin );
+ ifstream f( fileName, ios::in | ios::binary );
if( !f )
{
setBufLen( 0 );
@@ -97,7 +104,7 @@
}
else
{
- uint fSize = filelength( f.rdbuf()->fd() );
+ streampos fSize = filelength(f);
if( setBufSize(fSize) == False )
{
editorDialog( edOutOfMemory );
@@ -161,7 +168,7 @@
rename( fileName, backupName );
}
- ofstream f( fileName, ios::out | ios::bin );
+ ofstream f( fileName, ios::out | ios::binary );
if( !f )
{
Index: lib/TFileList.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/lib/TFileList.cc,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- lib/TFileList.cc 20 Dec 2002 12:06:20 -0000 1.1
+++ lib/TFileList.cc 27 Dec 2002 23:16:43 -0000 1.2
@@ -9,7 +9,6 @@
* Modified by Sergio Sigala <sergio@sigala.it>
*/
-#define Uses_TVMemMgr
#define Uses_MsgBox
#define Uses_TFileList
#define Uses_TRect
@@ -130,21 +129,7 @@
t.ft_year = broken->tm_year - 80;
time = *(long *) &t;
}
-
- void *operator new( size_t );
-
};
-
-void *DirSearchRec::operator new( size_t sz )
-{
- void *temp = ::operator new( sz );
- if( TVMemMgr::safetyPoolExhausted() )
- {
- delete temp;
- temp = 0;
- }
- return temp;
-}
void TFileList::readDirectory( const char *aWildCard )
{
Index: lib/TGroup.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/lib/TGroup.cc,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- lib/TGroup.cc 20 Dec 2002 12:06:20 -0000 1.1
+++ lib/TGroup.cc 27 Dec 2002 23:16:43 -0000 1.2
@@ -16,7 +16,6 @@
#define Uses_TEvent
#define Uses_opstream
#define Uses_ipstream
-#define Uses_TVMemMgr
#include <tvision/tv.h>
TView *TheTopView = 0;
Index: lib/TIndicator.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/lib/TIndicator.cc,v
retrieving revision 1.1
retrieving revision 1.5
diff -u -r1.1 -r1.5
--- lib/TIndicator.cc 20 Dec 2002 12:06:20 -0000 1.1
+++ lib/TIndicator.cc 25 Dec 2002 14:10:17 -0000 1.5
@@ -7,6 +7,7 @@
* All Rights Reserved.
*
* Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
#define Uses_TIndicator
@@ -18,7 +19,13 @@
#include <tvision/tv.h>
#include <string.h>
-#include <strstream.h>
+
+#include <sstream>
+#include <string>
+
+using std::ends;
+using std::ostringstream;
+using std::string;
#define cpIndicator "\x02\x03"
@@ -32,7 +39,6 @@
{
uchar color, frame;
TDrawBuffer b;
- char s[15];
if( (state & sfDragging) == 0 )
{
@@ -48,12 +54,14 @@
b.moveChar( 0, frame, color, size.x );
if( modified )
b.putChar( 0, 15 );
- ostrstream os( s, 15 );
-
- os << ' ' << (location.y+1)
- << ':' << (location.x+1) << ' ' << ends;
- b.moveCStr( 8-int(strchr(s, ':')-s), s, color);
+ string s;
+ ostringstream os(s);
+ os << ' ' << (location.y+1) << ':' << (location.x+1) << ' ' << ends;
+
+ b.moveCStr(8 - int(strchr(s.c_str(), ':') - s.c_str()),
+ s.c_str(),
+ color);
writeBuf(0, 0, size.x, 1, b);
}
Index: lib/TMemo.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/lib/TMemo.cc,v
retrieving revision 1.1
retrieving revision 1.4
diff -u -r1.1 -r1.4
--- lib/TMemo.cc 20 Dec 2002 12:06:20 -0000 1.1
+++ lib/TMemo.cc 25 Dec 2002 14:10:17 -0000 1.4
@@ -7,6 +7,7 @@
* All Rights Reserved.
*
* Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
#define Uses_TKeys
@@ -19,6 +20,8 @@
#include <string.h>
+using std::ios;
+
#define cpMemo "\x1A\x1B"
TMemo::TMemo( const TRect& bounds,
@@ -86,7 +89,7 @@
setBufLen( length );
}
else
- is.seekg( is.tellg() + length );
+ is.seekg( length, ios::cur );
return this;
}
Index: lib/TProgram.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/lib/TProgram.cc,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- lib/TProgram.cc 20 Dec 2002 12:06:20 -0000 1.1
+++ lib/TProgram.cc 27 Dec 2002 23:16:43 -0000 1.2
@@ -22,9 +22,6 @@
#define Uses_TStatusDef
#define Uses_TStatusItem
#define Uses_TDialog
-#ifndef __UNPATCHED
-#define Uses_TVMemMgr
-#endif
#include <tvision/tv.h>
// Public variables
@@ -90,9 +87,6 @@
menuBar = 0;
deskTop = 0;
TGroup::shutDown();
-#ifndef __UNPATCHED
- TVMemMgr::clearSafetyPool(); // Release the safety pool buffer.
-#endif
}
Boolean TProgram::canMoveFocus()
@@ -309,11 +303,6 @@
return NULL;
}
-
-void TProgram::outOfMemory()
-{
-}
-
void TProgram::putEvent( TEvent & event )
{
pending = event;
@@ -339,12 +328,6 @@
{
if( p == 0 )
return 0;
- if( lowMemory() )
- {
- destroy( p );
- outOfMemory();
- return 0;
- }
if( !p->valid( cmValid ) )
{
destroy( p );
Index: lib/TResourceFile.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/lib/TResourceFile.cc,v
retrieving revision 1.1
retrieving revision 1.7
diff -u -r1.1 -r1.7
--- lib/TResourceFile.cc 20 Dec 2002 12:06:20 -0000 1.1
+++ lib/TResourceFile.cc 25 Dec 2002 14:10:17 -0000 1.7
@@ -7,6 +7,7 @@
* All Rights Reserved.
*
* Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
#define Uses_TResourceFile
@@ -17,88 +18,82 @@
#define Uses_TResourceCollection
#include <tvision/tv.h>
+#include <assert.h>
+
+#include <ios>
+
+using std::ios;
+using std::streampos;
+
/*
* SS: Warning, this file is non-portable. It is not used by any of the
* classes in the library.
*/
const long rStreamMagic = 0x52504246uL; // 'FBPR'
-struct Count_type
-{
- ushort lastCount;
- ushort pageCount;
-};
-struct Info_type
-{
- ushort infoType;
- long infoSize;
-};
-
-struct THeader
-{
- ushort signature;
- union
- {
- Count_type count;
- Info_type info;
- };
-};
+TResourceFile::TResourceFile( fpstream *aStream )
+ : TObject(),
+ stream(aStream),
+ basePos(stream->tellp())
+{
+ struct Count_type {
+ ushort lastCount;
+ ushort pageCount;
+ };
+
+ struct Info_type {
+ ushort infoType;
+ long infoSize;
+ };
+
+ struct THeader {
+ ushort signature;
+ union {
+ Count_type count;
+ Info_type info;
+ };
+ };
+
+ streampos streamSize = filelength(*stream);
+ THeader header;
+ int found = 0;
-
-TResourceFile::TResourceFile( fpstream *aStream ) : TObject()
-{
- THeader *header;
- int handle;
- int found;
int repeat;
- long streamSize;
-
- stream = aStream;
- basePos = stream->tellp();
- handle = stream->rdbuf()->fd();
- streamSize = filelength(handle);
- header = new THeader;
- found = 0;
do {
repeat = 0;
if (basePos <= (streamSize - (long)sizeof(THeader)))
{
stream->seekg(basePos, ios::beg);
- stream->readBytes(header, sizeof(THeader));
- if (header->signature == 0x5a4d)
+ stream->readBytes(&header, sizeof(THeader));
+ if (header.signature == 0x5a4d)
{
- basePos += ((header->count.pageCount * 512L) -
- (-header->count.lastCount & 511));
+ basePos += ((header.count.pageCount * 512L) -
+ (-header.count.lastCount & 511));
repeat = 1;
}
- else if (header->signature == 0x4246)
+ else if (header.signature == 0x4246)
{
- if (header->info.infoType == 0x5250)
+ if (header.info.infoType == 0x5250)
found = 1;
else
{
basePos +=
- header->info.infoSize + 16 - (header->info.infoSize)%16;
+ header.info.infoSize + 16 - (header.info.infoSize)%16;
repeat = 1;
}
}
}
- } while (repeat);
+ } while (repeat);
- delete header;
-
- if (found)
- {
- stream->seekg(basePos + sizeof(long) * 2, ios::beg);
- *stream >> indexPos;
- stream->seekg(basePos + indexPos, ios::beg);
- *stream >> index;
- }
- else
- {
- indexPos = sizeof(long) * 3;
- index = new TResourceCollection(0, 8);
+ if (found) {
+ stream->seekg(basePos + sizeof(long) * 2, ios::beg);
+ *stream >> indexPos;
+ stream->seekg(basePos + indexPos, ios::beg);
+ *stream >> index;
+ } else {
+ indexPos = sizeof(long) * 3;
+ index = new TResourceCollection(0, 8);
}
}
@@ -127,16 +120,17 @@
void TResourceFile::flush()
{
- long lenRez;
-
- if (modified == True)
- {
+ if (modified == True) {
stream->seekp(basePos + indexPos, ios::beg);
*stream << index;
- lenRez = stream->tellp() - basePos - sizeof(long) * 2;
+#if 1
+ assert(0); /* XXX */
+#else
+ long lenRez = stream->tellp() - basePos - sizeof(long) * 2;
stream->seekp(basePos, ios::beg);
*stream << rStreamMagic;
*stream << lenRez;
+#endif
*stream << indexPos;
stream->flush();
modified = False;
Index: lib/TStrListMaker.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/lib/TStrListMaker.cc,v
retrieving revision 1.1
retrieving revision 1.4
diff -u -r1.1 -r1.4
--- lib/TStrListMaker.cc 20 Dec 2002 12:06:20 -0000 1.1
+++ lib/TStrListMaker.cc 25 Dec 2002 14:10:17 -0000 1.4
@@ -7,6 +7,7 @@
* All Rights Reserved.
*
* Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
#define Uses_TStringList
Index: lib/app.h
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/lib/app.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- lib/app.h 20 Dec 2002 12:06:20 -0000 1.1
+++ lib/app.h 27 Dec 2002 23:16:43 -0000 1.2
@@ -666,18 +666,6 @@
*/
virtual void initScreen();
/**
- * Called on out of memory condition.
- *
- * It is called from @ref validView() whenever @ref lowMemory() returns
- * True.
- *
- * This happens when there is few free memory. Of course this should
- * rarely happen. This method may be redefined to tell the user (by
- * calling @ref messageBox() for example) that there is not free memory
- * to end the current task.
- */
- virtual void outOfMemory();
- /**
* Sets a pending event.
*
* Puts an event in the pending state, by storing a copy of the `event'
@@ -726,10 +714,6 @@
*
* First, if `p' is 0 the call returns 0.
*
- * Next, if @ref lowMemory() returns True the view pointed by `p' is
- * released by calling @ref TObject::destroy() followed by
- * @ref outOfMemory() and the function returns 0.
- *
* Last if a call to `p->valid(cmValid)' returns False the view pointed by
* `p' is released and the function returns 0.
* @see TView::valid
@@ -746,7 +730,7 @@
*
* This method releases all the resources allocated by TProgram. It sets
* pointers @ref statusLine, @ref menuBar and @ref deskTop to 0 and then
- * calls @ref TGroup::shutDown() and @ref TVMemMgr::clearSafetyPool().
+ * calls @ref TGroup::shutDown().
*/
virtual void shutDown();
/**
Index: lib/helpbase.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/lib/helpbase.cc,v
retrieving revision 1.1
retrieving revision 1.5
diff -u -r1.1 -r1.5
--- lib/helpbase.cc 20 Dec 2002 12:06:20 -0000 1.1
+++ lib/helpbase.cc 25 Dec 2002 14:10:17 -0000 1.5
@@ -7,6 +7,7 @@
* All Rights Reserved.
*
* Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
#define Uses_TStreamableClass
@@ -31,6 +32,8 @@
#include <string.h>
#include <sys/stat.h>
+using std::streampos;
+
TCrossRefHandler crossRefHandler = notAssigned;
// THelpTopic
@@ -549,15 +552,10 @@
THelpFile::THelpFile( fpstream& s )
{
- long magic;
- int handle;
- long size;
+ long magic = 0;
- magic = 0;
- s.seekg(0);
- handle = s.rdbuf()->fd();
- size = filelength(handle);
s.seekg(0);
+ streampos size = filelength(s);
if (size > (long)sizeof(magic))
s >> magic;
if (magic != magicHeader)
@@ -580,24 +578,15 @@
THelpFile::~THelpFile(void)
{
- long magic, size;
- int handle;
if (modified == True)
{
stream->seekp(indexPos);
*stream << index;
+ long magic = magicHeader;
stream->seekp(0);
- magic = magicHeader;
- handle = stream->rdbuf()->fd();
-//
-// note: at this time, a bug in filelength leaves the seek pointer at
-// the end of file, so we must save and restore the seek pointer
-// around the call; this can be removed when filelength is fixed.
-//
- streampos sp=stream->tellp();
- size = filelength(handle) - 8;
- stream->seekp(sp);
+ streampos size = filelength(*stream);
+ size =- 8;
*stream << magic;
*stream << size;
*stream << indexPos;
Index: lib/histlist.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/lib/histlist.cc,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- lib/histlist.cc 20 Dec 2002 12:06:20 -0000 1.1
+++ lib/histlist.cc 27 Dec 2002 23:16:43 -0000 1.2
@@ -21,25 +21,11 @@
HistRec( uchar nId, const char *nStr );
- void *operator new( size_t );
- void *operator new( size_t, HistRec * );
-
uchar id;
uchar len;
char str[1];
};
-
-void *HistRec::operator new( size_t, HistRec *hr )
-{
- return hr;
-}
-
-void *HistRec::operator new( size_t )
-{
- abort();
- return 0;
-}
inline HistRec::HistRec( uchar nId, const char *nStr ) :
id( nId ),
Index: lib/misc.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/lib/misc.cc,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- lib/misc.cc 20 Dec 2002 12:06:20 -0000 1.1
+++ lib/misc.cc 27 Dec 2002 23:16:44 -0000 1.2
@@ -14,7 +14,6 @@
#define Uses_TGroup
#define Uses_TEvent
#define Uses_TObject
-#define Uses_TVMemMgr
#define Uses_TView
#define Uses_pstream
#include <tvision/tv.h>
@@ -37,11 +36,6 @@
return event.message.infoPtr;
else
return 0;
-}
-
-Boolean lowMemory()
-{
- return Boolean(TVMemMgr::safetyPoolExhausted());
}
/* from NEWSTR.CPP */
Index: lib/system.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/lib/system.cc,v
retrieving revision 1.2
retrieving revision 1.8
diff -u -r1.2 -r1.8
--- lib/system.cc 20 Dec 2002 12:19:01 -0000 1.2
+++ lib/system.cc 25 Dec 2002 14:10:17 -0000 1.8
@@ -23,11 +23,12 @@
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Modified by Sergey Clushin <serg@lamport.ru>, <Clushin@deol.ru>
+ * Modified by Dmitrij Korovkin <tkf@glasnet.ru>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
-/* Modified by Sergey Clushin <serg@lamport.ru>, <Clushin@deol.ru> */
-/* Modified by Dmitrij Korovkin <tkf@glasnet.ru> */
-
#define Uses_TButton
#define Uses_TColorSelector
#define Uses_TDeskTop
@@ -47,10 +48,11 @@
#define Uses_TStatusLine
#include <tvision/tv.h>
+#include <fstream>
+#include <iostream>
+
#include <ctype.h>
#include <fcntl.h>
-#include <fstream.h>
-#include <iostream.h>
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
@@ -62,6 +64,13 @@
#include <config.h> /* configuration file */
+using std::endl;
+using std::ios;
+using std::istream;
+using std::ofstream;
+using std::streambuf;
+using std::streampos;
+
#ifdef ENABLE_FBSDM
/* #include <machine/console.h> */
#define CONS_MOUSECTL _IOWR('c', 10, mouse_info_t)
@@ -2300,36 +2309,24 @@
}
}
-/*
- * Returns the length of a file.
+/**
+ * Returns the length of the file associated with the stream.
*/
-
-long int filelength(int fd)
+streampos
+filelength(istream &s)
{
- struct stat s;
-
/*
- * This should handle any regular file.
+ * First get curent position, then get position after seeking
+ * from begining to the end, finally seek back to original
+ * position.
*/
- if (fstat(fd, &s) == 0 && s.st_size > 0) return s.st_size;
- else
- {
- char buf[1024];
- int len, size = 0;
+ streampos curpos = s.tellg();
- /*
- * This works with special files which are not empty, even if
- * their size is zero, like those in the `/proc' directory.
- */
- off_t old = lseek(fd, 0, SEEK_CUR); /* save position */
- lseek(fd, 0, SEEK_SET); /* go to the beginning */
- while ((len = read(fd, buf, sizeof(buf))) > 0)
- {
- size += len;
- }
- lseek(fd, old, SEEK_SET); /* restore old position */
- return size;
- }
+ s.seekg(0, ios::end);
+ streampos size = s.tellg();
+
+ s.seekg(curpos);
+ return size;
}
/*
Index: lib/textview.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/lib/textview.cc,v
retrieving revision 1.1
retrieving revision 1.4
diff -u -r1.1 -r1.4
--- lib/textview.cc 20 Dec 2002 12:06:20 -0000 1.1
+++ lib/textview.cc 25 Dec 2002 14:10:17 -0000 1.4
@@ -7,6 +7,7 @@
* All Rights Reserved.
*
* Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
#define Uses_TTextDevice
@@ -15,6 +16,9 @@
#include <tvision/tv.h>
#include <string.h>
+
+using std::ostream;
+using std::streamsize;
TTextDevice::TTextDevice( const TRect& bounds,
TScrollBar *aHScrollBar,
Index: lib/textview.h
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/lib/textview.h,v
retrieving revision 1.1
retrieving revision 1.3
diff -u -r1.1 -r1.3
--- lib/textview.h 20 Dec 2002 12:06:20 -0000 1.1
+++ lib/textview.h 25 Dec 2002 14:10:17 -0000 1.3
@@ -7,6 +7,7 @@
* All Rights Reserved.
*
* Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
#if defined( Uses_TTextDevice ) && !defined( __TTextDevice )
@@ -16,7 +17,7 @@
* textview.h
*/
-#include <iostream.h>
+#include <iostream>
class TRect;
class TScrollBar;
@@ -168,14 +169,12 @@
#if defined( Uses_otstream ) && !defined( __otstream )
#define __otstream
-class ostream;
-
-#include <iostream.h>
+#include <iostream>
/**
* Undocumented.
*/
-class TerminalBuf: public streambuf
+class TerminalBuf: public std::streambuf
{
protected:
/**
@@ -208,7 +207,7 @@
/**
* Undocumented.
*/
-class otstream : public ostream
+class otstream : public std::ostream
{
protected:
/**
Index: lib/tobjstrm.h
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/lib/tobjstrm.h,v
retrieving revision 1.1
retrieving revision 1.9
diff -u -r1.1 -r1.9
--- lib/tobjstrm.h 20 Dec 2002 12:06:20 -0000 1.1
+++ lib/tobjstrm.h 27 Dec 2002 23:16:44 -0000 1.9
@@ -1,5 +1,5 @@
-/*
- * tobjstrm.h
+/**
+ * @file tobjstrm.h
*
* Turbo Vision - Version 2.0
*
@@ -7,11 +7,14 @@
* All Rights Reserved.
*
* Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
-/** \file tobjstrm.h
- * tobjstrm.h
- */
+#include <ios>
+#include <iostream>
+#include <fstream>
+
+#include <limits.h>
/**
* Undocumented.
@@ -19,13 +22,11 @@
typedef unsigned P_id_type;
/* ------------------------------------------------------------------------*/
-/* */
/* class TStreamable */
/* */
/* This is the base class for all storable objects. It provides */
/* three member functions, streamableName(), read(), and write(), which */
/* must be overridden in every derived class. */
-/* */
/* ------------------------------------------------------------------------*/
#if !defined( __fLink_def )
@@ -117,18 +118,12 @@
#endif // Uses_TStreamable
/* ------------------------------------------------------------------------*/
-/* */
/* class TStreamableClass */
-/* */
-/* Used internally by TStreamableTypes and pstream. */
-/* */
/* ------------------------------------------------------------------------*/
#if defined( Uses_TStreamableClass ) && !defined( __TStreamableClass )
#define __TStreamableClass
-#include <limits.h>
-
/**
* Undocumented.
*/
@@ -154,9 +149,9 @@
*/
class TStreamableClass
{
- friend TStreamableTypes;
- friend opstream;
- friend ipstream;
+ friend class TStreamableTypes;
+ friend class opstream;
+ friend class ipstream;
public:
/**
* Creates a TStreamable object with the given name and the given builder
@@ -184,7 +179,7 @@
* typedef TStreamable *(*BUILDER)();
* </pre>
*/
- TStreamableClass( const char *aName, BUILDER aBuild, int aDelta );
+ TStreamableClass(const char *aName, BUILDER aBuild, int aDelta );
private:
const char *name;
BUILDER build;
@@ -194,13 +189,7 @@
#endif // Uses_TStreamableClass
/* ------------------------------------------------------------------------*/
-/* */
/* class TStreamableTypes */
-/* */
-/* Maintains a database of all registered types in the application. */
-/* Used by opstream and ipstream to find the functions to read and */
-/* write objects. */
-/* */
/* ------------------------------------------------------------------------*/
#if defined( Uses_TStreamableTypes ) && !defined( __TStreamableTypes )
@@ -235,20 +224,12 @@
/**
* Registers the argument class by inserting `d' in the collection.
*/
- void registerType( const TStreamableClass *d );
+ void registerType(const TStreamableClass *d );
/**
* Returns a pointer to the class in the collection corresponding to the
* argument `name', or returns 0 if no match.
*/
- const TStreamableClass *lookup( const char *name );
- /**
- * Undocumented.
- */
- void *operator new( size_t sz ) { return ::operator new( sz ); }
- /**
- * Undocumented.
- */
- void *operator new( size_t, void * );
+ const TStreamableClass *lookup(const char name[]);
private:
/**
* Undocumented.
@@ -263,15 +244,7 @@
#endif // Uses_TStreamableTypes
/* ------------------------------------------------------------------------*/
-/* */
/* class TPWrittenObjects */
-/* */
-/* Maintains a database of all objects that have been written to the */
-/* current object stream. */
-/* */
-/* Used by opstream when it writes a pointer onto a stream to determine */
-/* whether the object pointed to has already been written to the stream. */
-/* */
/* ------------------------------------------------------------------------*/
#if defined( Uses_TPWrittenObjects ) && !defined( __TPWrittenObjects )
@@ -286,7 +259,7 @@
*/
class TPWrittenObjects : public TNSSortedCollection
{
- friend opstream;
+ friend class opstream;
public:
/**
* Undocumented.
@@ -306,11 +279,11 @@
/**
* Undocumented.
*/
- void registerObject( const void *adr );
+ void registerObject(const void *adr );
/**
* Undocumented.
*/
- P_id_type find( const void *adr );
+ P_id_type find(const void *adr );
/**
* Undocumented.
*/
@@ -326,11 +299,7 @@
};
/* ------------------------------------------------------------------------*/
-/* */
/* class TPWObj */
-/* */
-/* Used internally by TPWrittenObjects. */
-/* */
/* ------------------------------------------------------------------------*/
/**
@@ -341,9 +310,9 @@
*/
class TPWObj
{
- friend TPWrittenObjects;
+ friend class TPWrittenObjects;
private:
- TPWObj( const void *adr, P_id_type id );
+ TPWObj(const void *adr, P_id_type id );
const void *address;
P_id_type ident;
};
@@ -351,15 +320,7 @@
#endif // Uses_TPWrittenObjects
/* ------------------------------------------------------------------------*/
-/* */
/* class TPReadObjects */
-/* */
-/* Maintains a database of all objects that have been read from the */
-/* current persistent stream. */
-/* */
-/* Used by ipstream when it reads a pointer from a stream to determine */
-/* the address of the object being referred to. */
-/* */
/* ------------------------------------------------------------------------*/
#if defined( Uses_TPReadObjects ) && !defined( __TPReadObjects )
@@ -375,7 +336,7 @@
*/
class TPReadObjects : public TNSCollection
{
- friend ipstream;
+ friend class ipstream;
public:
/**
* Undocumented.
@@ -393,7 +354,7 @@
* Sets the collection @ref limit to 0 without destroying the collection.
*/
~TPReadObjects();
- void registerObject( const void *adr );
+ void registerObject(const void *adr );
const void *find( P_id_type id );
P_id_type curId;
};
@@ -401,164 +362,62 @@
#endif // Uses_TPReadObjects
/* ------------------------------------------------------------------------*/
-/* */
/* class pstream */
-/* */
-/* Base class for handling streamable objects. */
-/* */
/* ------------------------------------------------------------------------*/
#if defined( Uses_pstream ) && !defined( __pstream )
#define __pstream
-class streambuf;
-
-#include <iostream.h>
-
class TStreamableTypes;
/**
* pstream is the base class for handling streamable objects.
* @short The base class for handling streamable objects
*/
-class pstream
-{
- friend TStreamableTypes;
+class pstream {
+protected:
+ /**
+ * Pointer to the @ref TStreamableTypes data base of all registered types
+ * in this application.
+ */
+ static TStreamableTypes *types;
+
public:
+ pstream();
+ virtual ~pstream();
+
/**
* Undocumented.
*/
enum StreamableError { peNotRegistered, peInvalidType };
+
/**
* Undocumented.
*/
enum PointerTypes { ptNull, ptIndexed, ptObject };
- /**
- * This form creates a buffered pstream with the given buffer and sets the
- * @ref bp data member to `buf'. The @ref state data member is set to 0.
- */
- pstream( streambuf *buf );
- /**
- * Destroys the pstream object.
- */
- virtual ~pstream();
- /**
- * Returns the current @ref state value.
- */
- int rdstate() const;
- /**
- * Returns nonzero on end of stream.
- */
- int eof() const;
- /**
- * Returns nonzero if a stream operation fails.
- */
- int fail() const;
- /**
- * Returns nonzero if an error occurs.
- */
- int bad() const;
- /**
- * Returns nonzero if no state bits are set (that is, no errors occurred).
- */
- int good() const;
- /**
- * Set the stream @ref state data member to the given value (defaults
- * to 0).
- */
- void clear( int sState = 0 );
- /**
- * Overloads the pointer-to-void cast operator.
- *
- * Returns 0 if operation has failed (that is, @ref fail() returned
- * nonzero); otherwise returns nonzero.
- */
- operator void *() const;
- /**
- * Overloads the NOT operator. Returns the value returned by @ref fail().
- */
- int operator ! () const;
- /**
- * Returns the @ref bp pointer to this stream's assigned buffer.
- */
- streambuf * rdbuf() const;
- /**
- * Creates the associated @ref TStreamableTypes object types. Called by the
- * @ref TStreamableClass constructor.
- */
+
+ void error(StreamableError);
+ void error(StreamableError, const TStreamable &);
+
static void initTypes();
- /**
- * Sets the given error condition, where StreamableError is defined as
- * follows:
- *
- * <pre>
- * enum StreamableError { peNotRegistered, peInvalidType };
- * </pre>
- */
- void error( StreamableError );
- /**
- * Sets the given error condition, where StreamableError is defined as
- * follows:
- *
- * <pre>
- * enum StreamableError { peNotRegistered, peInvalidType };
- * </pre>
- */
- void error( StreamableError, const TStreamable& );
- /**
- * Undocumented.
- */
- static void registerType( TStreamableClass *ts );
-protected:
- /**
- * This form allocates a default buffer.
- */
- pstream();
- /**
- * Pointer to the stream buffer.
- */
- streambuf *bp;
- /**
- * The format state flags, as enumerated in ios. Use @ref rdstate() to
- * access the current state.
- */
- int state;
- /**
- * Initializes the stream: sets @ref state to 0 and @ref bp to `sbp'.
- */
- void init( streambuf *sbp );
- /**
- * Updates the @ref state data member with state |= (b & 0 xFF).
- */
- void setstate( int b );
- /**
- * Pointer to the @ref TStreamableTypes data base of all registered types
- * in this application.
- */
- static TStreamableTypes * types;
+ static void registerType(TStreamableClass *ts);
};
#endif // Uses_pstream
/* ------------------------------------------------------------------------*/
-/* */
/* class ipstream */
-/* */
-/* Base class for reading streamable objects */
-/* */
/* ------------------------------------------------------------------------*/
#if defined( Uses_ipstream ) && !defined( __ipstream )
#define __ipstream
-#include <iostream.h>
-
class TStreamableClass;
/**
* ipstream, a specialized input stream derivative of @ref pstream, is the
* base class for reading (extracting) streamable objects. ipstream is
- * analogous to istream, defined in `iostream.h' for the standard C++ stream
+ * analogous to istream, defined in `iostream' for the standard C++ stream
* library. ipstream is a friend class of @ref TPReadObjects.
*
* The overloaded operators >> extract (read) from the given ipstream object
@@ -566,176 +425,69 @@
* to chain >> operations in the usual way. The data type of the argument
* determines how the read is performed. For example, reading a signed char
* is implemented using @ref readByte().
+ *
* @see opstream
+ *
* @short The base class for reading (extracting) streamable objects from
* streams
*/
-class ipstream : virtual public pstream
-{
-public:
- /**
- * This form creates a buffered ipstream with the given buffer and sets
- * the @ref bp data member to `buf'. The @ref state data member is set
- * to 0.
- */
- ipstream( streambuf *buf );
- /**
- * Destroys the ipstream object.
- */
- ~ipstream();
- /**
- * Returns the (absolute) current stream position.
- */
- streampos tellg();
- /**
- * This form moves the stream position to the absolute position given by
- * `pos'.
- */
- ipstream& seekg( streampos pos );
- /**
- * This form moves to a position relative to the current position by an
- * offset `off' (+ or -) starting at `dir'. Parameter `dir' can be set to:
- *
- * <pre>
- * beg (start of stream)
- *
- * cur (current stream position)
- *
- * end (end of stream)
- * </pre>
- */
- ipstream& seekg( streamoff off, ios::seek_dir dir );
- /**
- * Returns the character at the current stream position.
- */
- uchar readByte();
- /**
- * Reads `sz' bytes from current stream position, and writes them to
- * the address given in `data'.
- */
- void readBytes( void *data, size_t sz );
- /**
- * Returns the word at the current stream position.
- */
- ushort readWord();
- /**
- * Returns a string read from the current stream position.
- */
- char * readString();
- /**
- * Returns a string read from the current stream position.
- */
- char * readString( char *buf, unsigned maxLen );
- /**
- * Undocumented.
- */
- friend ipstream& operator >> ( ipstream&, char& );
- /**
- * Undocumented.
- */
- friend ipstream& operator >> ( ipstream&, signed char& );
- /**
- * Undocumented.
- */
- friend ipstream& operator >> ( ipstream&, unsigned char& );
- /**
- * Undocumented.
- */
- friend ipstream& operator >> ( ipstream&, signed short& );
- /**
- * Undocumented.
- */
- friend ipstream& operator >> ( ipstream&, unsigned short& );
- /**
- * Undocumented.
- */
- friend ipstream& operator >> ( ipstream&, signed int& );
- /**
- * Undocumented.
- */
- friend ipstream& operator >> ( ipstream&, unsigned int& );
- /**
- * Undocumented.
- */
- friend ipstream& operator >> ( ipstream&, signed long& );
- /**
- * Undocumented.
- */
- friend ipstream& operator >> ( ipstream&, unsigned long& );
- /**
- * Undocumented.
- */
- friend ipstream& operator >> ( ipstream&, float& );
- /**
- * Undocumented.
- */
- friend ipstream& operator >> ( ipstream&, double& );
- /**
- * Undocumented.
- */
- friend ipstream& operator >> ( ipstream&, long double& );
- /**
- * Undocumented.
- */
- friend ipstream& operator >> ( ipstream&, TStreamable& );
- /**
- * Undocumented.
- */
- friend ipstream& operator >> ( ipstream&, void *& );
-protected:
- /**
- * This form does nothing.
- */
- ipstream();
- /**
- * Returns the @ref TStreamableClass object corresponding to the class
- * name stored at the current position.
- */
- const TStreamableClass * readPrefix();
- /**
- * Invokes the appropriate read function to read from the stream to the
- * object `mem'. If `mem' is 0, the appropriate build function is called
- * first.
- */
- void * readData( const TStreamableClass *c, TStreamable *mem );
- /**
- * Reads and checks the final byte of an object's name field.
- */
- void readSuffix();
- /**
- * Returns a pointer to the object corresponding to `id'.
- */
- const void * find( P_id_type id );
- /**
- * Registers the class of the object pointed by `adr'.
- */
- void registerObject( const void *adr );
+class ipstream : virtual public pstream, public std::istream {
private:
TPReadObjects objs;
+protected:
+ const TStreamableClass *readPrefix();
+ void *readData(const TStreamableClass *c, TStreamable *mem);
+ void readSuffix();
+ const void *find(P_id_type id);
+ void registerObject(const void *adr);
+
+ ushort readWord();
+ ulong readLong();
+
+public:
+ ipstream(std::streambuf *buf);
+ ~ipstream();
+
+ ipstream &seekg(std::streampos pos);
+ ipstream &seekg(std::streamoff off, std::ios::seekdir dir);
+
+ uchar readByte();
+ void readBytes(void *data, std::streamsize sz);
+ char *readString();
+ char *readString(char *buf, unsigned maxLen);
+
+ ipstream &operator>>(char &);
+ ipstream &operator>>(signed char &);
+ ipstream &operator>>(unsigned char &);
+ ipstream &operator>>(signed short &);
+ ipstream &operator>>(unsigned short &);
+ ipstream &operator>>(signed int &);
+ ipstream &operator>>(unsigned int &);
+ ipstream &operator>>(signed long &);
+ ipstream &operator>>(unsigned long &);
+ ipstream &operator>>(float &);
+ ipstream &operator>>(double &);
+ ipstream &operator>>(long double &);
+ ipstream &operator>>(TStreamable &);
+ ipstream &operator>>(void *&);
};
#endif // Uses_ipstream
/* ------------------------------------------------------------------------*/
-/* */
/* class opstream */
-/* */
-/* Base class for writing streamable objects */
-/* */
/* ------------------------------------------------------------------------*/
#if defined( Uses_opstream ) && !defined( __opstream )
#define __opstream
-#include <iostream.h>
-
class TStreamableClass;
/**
* opstream, a specialized output stream derivative of @ref pstream, is the
* base class for writing (inserting) streamable objects. opstream is
- * analogous to ostream, defined in `iostream.h' for the standard C++ stream
+ * analogous to ostream, defined in `iostream' for the standard C++ stream
* library. opstream is a friend class of @ref TPWrittenObjects.
*
* The overloaded operators << insert (write) the given argument to the given
@@ -743,469 +495,146 @@
* to chain << operations in the usual way. The data type of the argument
* determines the form of write operation employed. For example, writing a
* signed char is implemented using @ref writeByte().
+ *
* @see ipstream
+ *
* @short The base class for writing (inserting) streamable objects into
* streams
*/
-class opstream : virtual public pstream
-{
+class opstream : virtual public pstream, public std::ostream {
+ TPWrittenObjects objs;
+
+protected:
+ void writePrefix(const TStreamable &);
+ void writeData(TStreamable &);
+ void writeSuffix(const TStreamable &);
+ P_id_type find(const void *adr);
+ void registerObject(const void *adr);
+
public:
- /**
- * This form creates a buffered opstream with the given buffer and sets
- * the @ref bp data member to `buf'. The @ref state data member is set
- * to 0.
- */
- opstream( streambuf *buf );
- /**
- * Destroys the opstream object.
- */
+ opstream(std::streambuf *buf);
~opstream();
- /**
- * Returns the (absolute) current stream position.
- */
- streampos tellp();
- /**
- * This form moves the stream's current position to the absolute position
- * given by `pos'.
- */
- opstream& seekp( streampos pos );
- /**
- * This form moves to a position relative to the current position by an
- * offset `off' (+ or -) starting at `dir'. Parameter `dir' can be set to:
- *
- * <pre>
- * beg (start of stream)
- *
- * cur (current stream position)
- *
- * end (end of stream)
- * </pre>
- */
- opstream& seekp( streamoff off, ios::seek_dir dir );
- /**
- * Flushes the stream.
- */
+ opstream& seekp(std::streampos pos);
+ opstream& seekp(std::streamoff off, std::ios::seekdir dir);
opstream& flush();
- /**
- * Writes character `ch' to the stream.
- */
- void writeByte( uchar ch );
- /**
- * Writes `sz' bytes from `data' buffer to the stream.
- */
- void writeBytes( const void *data, size_t sz );
- /**
- * Writes the word `us' to the stream.
- */
- void writeWord( ushort us );
- /**
- * Writes `str' to the stream (together with a leading length byte).
- */
- void writeString( const char *str );
- /**
- * Undocumented.
- */
- friend opstream& operator << ( opstream&, char );
- /**
- * Undocumented.
- */
- friend opstream& operator << ( opstream&, signed char );
- /**
- * Undocumented.
- */
- friend opstream& operator << ( opstream&, unsigned char );
- /**
- * Undocumented.
- */
- friend opstream& operator << ( opstream&, signed short );
- /**
- * Undocumented.
- */
- friend opstream& operator << ( opstream&, unsigned short );
- /**
- * Undocumented.
- */
- friend opstream& operator << ( opstream&, signed int );
- /**
- * Undocumented.
- */
- friend opstream& operator << ( opstream&, unsigned int );
- /**
- * Undocumented.
- */
- friend opstream& operator << ( opstream&, signed long );
- /**
- * Undocumented.
- */
- friend opstream& operator << ( opstream&, unsigned long );
- /**
- * Undocumented.
- */
- friend opstream& operator << ( opstream&, float );
- /**
- * Undocumented.
- */
- friend opstream& operator << ( opstream&, double );
- /**
- * Undocumented.
- */
- friend opstream& operator << ( opstream&, long double );
- /**
- * Undocumented.
- */
- friend opstream& operator << ( opstream&, TStreamable& );
- /**
- * Undocumented.
- */
- friend opstream& operator << ( opstream&, TStreamable * );
-protected:
- /**
- * This form allocates a default buffer.
- */
- opstream();
- /**
- * Writes the class name prefix to the stream.
- *
- * The << operator uses this function to write a prefix and suffix around
- * the data written with @ref writeData(). The prefix/suffix is used to
- * ensure type-safe stream I/O.
- */
- void writePrefix( const TStreamable& );
- /**
- * Writes data to the stream by calling the appropriate class's write
- * member function for the object being written.
- */
- void writeData( TStreamable& );
- /**
- * Writes the class name suffix to the stream.
- *
- * The << operator uses this function to write a prefix and suffix around
- * the data written with @ref writeData(). The prefix/suffix is used to
- * ensure type-safe stream I/O.
- */
- void writeSuffix( const TStreamable& );
- /**
- * Returns the type ID for the object ad address `adr'.
- */
- P_id_type find( const void *adr );
- /**
- * Registers the class of the object ad address `adr'.
- */
- void registerObject( const void *adr );
-private:
- TPWrittenObjects *objs;
+
+ void writeByte(uchar ch);
+ void writeBytes(const void *data, std::streamsize sz);
+ void writeWord(ushort us);
+ void writeString(const char *str);
+
+ opstream &operator<<(char);
+ opstream &operator<<(signed char);
+ opstream &operator<<(unsigned char);
+ opstream &operator<<(signed short);
+ opstream &operator<<(unsigned short);
+ opstream &operator<<(signed int);
+ opstream &operator<<(unsigned int);
+ opstream &operator<<(signed long);
+ opstream &operator<<(unsigned long);
+ opstream &operator<<(float);
+ opstream &operator<<(double);
+ opstream &operator<<(long double);
+ opstream &operator<<(TStreamable &);
+ opstream &operator<<(TStreamable *);
};
#endif // Uses_opstream
/* ------------------------------------------------------------------------*/
-/* */
/* class iopstream */
-/* */
-/* Base class for reading and writing streamable objects */
-/* */
/* ------------------------------------------------------------------------*/
#if defined( Uses_iopstream ) && !defined( __iopstream )
#define __iopstream
-#include <iostream.h>
-
/**
* Class iopstream is a simple "mix" of its bases, @ref opstream and
* @ref ipstream. It provides the base class for simultaneous writing and
* reading streamable objects.
+ *
* @short The base class for simultaneous writing and reading streamable
* objects to and from streams
*/
-class iopstream : public ipstream, public opstream
-{
+class iopstream : public ipstream, public opstream {
public:
- /**
- * Creates a buffered iopstream with the given buffer and sets the @ref bp
- * data member to `buf'. The @ref state data member is set to 0.
- */
- iopstream( streambuf *buf );
- /**
- * Destroys the iopstream object.
- */
+ iopstream(std::streambuf *buf);
~iopstream();
-protected:
- /**
- * Undocumented.
- */
- iopstream();
};
#endif // Uses_iopstream
/* ------------------------------------------------------------------------*/
-/* */
-/* class fpbase */
-/* */
-/* Base class for handling streamable objects on file streams */
-/* */
-/* ------------------------------------------------------------------------*/
-
-#if defined( Uses_fpbase ) && !defined( __fpbase )
-#define __fpbase
-
-#include <fstream.h>
-
-/**
- * fpbase provides the basic operations common to all object file stream I/O.
- * @short Base class for handling streamable objects on file streams
- */
-class fpbase : virtual public pstream
-{
-public:
- /**
- * Creates a buffered fpbase object.
- */
- fpbase();
- /**
- * Creates a buffered fpbase object. You can open a file and attach it to
- * the stream by specifying the `name', `omode', and `prot' (protection)
- * arguments.
- */
- fpbase( const char *name, int omode, int prot = filebuf::openprot );
- /**
- * Creates a buffered fpbase object. You can open a file and attach it to
- * the stream by specifying the file descriptor, `f'.
- */
- fpbase( int f );
- /**
- * Creates a buffered fpbase object. You can set the size and initial
- * contents of the buffer with the `len' and `b' arguments. You can open
- * a file and attach it to the stream by specifying the file descriptor,
- * `f'.
- */
- fpbase( int f, char *b, int len);
- /**
- * Destroys the fpbase object.
- */
- ~fpbase();
- /**
- * Opens the named file in the given mode (app, ate, in, out, binary,
- * trunc, nocreate, noreplace) and protection. The opened file is
- * attached to this stream.
- */
- void open( const char *name, int omode, int prot = filebuf::openprot );
- /**
- * Attaches the file with descriptor `f' to this stream if possible.
- */
- void attach( int f );
- /**
- * Closes the stream and associated file.
- */
- void close();
- /**
- * Allocates a buffer of size `len'.
- */
- void setbuf( char *buf, int len );
- /**
- * Returns a pointer to the current file buffer.
- */
- filebuf * rdbuf();
-private:
- filebuf buf;
-};
-
-#endif // Uses_fpbase
-
-/* ------------------------------------------------------------------------*/
-/* */
/* class ifpstream */
-/* */
-/* Base class for reading streamable objects from file streams */
-/* */
/* ------------------------------------------------------------------------*/
#if defined( Uses_ifpstream ) && !defined( __ifpstream )
#define __ifpstream
-#include <iostream.h>
-
/**
- * ifpstream is a simple "mix" of its bases, @ref fpbase and @ref ipstream.
- * It provides the base class for reading (extracting) streamable objects
- * from file streams.
- * @short Provides the base class for reading (extracting) streamable objects
+ * ifpstream provides the base class for reading (extracting)
+ * streamable objects from file streams.
+ *
+ * @short The base class for reading (extracting) streamable objects
* from file streams.
*/
-class ifpstream : public fpbase, public ipstream
-{
+class ifpstream : public ipstream {
+ std::filebuf buf;
public:
- /**
- * Creates a buffered ifpstream object.
- */
ifpstream();
- /**
- * Creates a buffered ifpstream object. You can open a file and attach it
- * to the stream by specifying the `name', `omode', and `prot'
- * (protection) arguments.
- */
- ifpstream(const char *name, int omode = ios::in,
- int prot = filebuf::openprot );
- /**
- * Creates a buffered ifpstream object. You can open a file and attach it
- * to the stream by specifying the file descriptor, `f'.
- */
- ifpstream( int f );
- /**
- * Creates a buffered ifpstream object. You can set the size and initial
- * contents of the buffer with the `len' and `b' arguments. You can open
- * a file and attach it to the stream by specifying the file descriptor,
- * `f'.
- */
- ifpstream( int f, char *b, int len );
- /**
- * Destroys the ifpstream object.
- */
+ ifpstream(const char name[], std::ios::openmode omode = std::ios::in);
~ifpstream();
- /**
- * Returns a pointer to the current file buffer.
- */
- filebuf * rdbuf();
- /**
- * Opens the the named file in the given mode (app, ate, in, out, binary,
- * trunc, nocreate, or noreplace) and protection. The default mode is in
- * (input) with openprot protection. The opened file is attached to this
- * stream.
- */
- void open( const char *name, int omode = ios::in,
- int prot = filebuf::openprot );
+ void open(const char name[], std::ios::openmode omode = std::ios::in);
};
#endif // Uses_ifpstream
/* ------------------------------------------------------------------------*/
-/* */
/* class ofpstream */
-/* */
-/* Base class for writing streamable objects to file streams */
-/* */
/* ------------------------------------------------------------------------*/
#if defined( Uses_ofpstream ) && !defined( __ofpstream )
#define __ofpstream
-#include <iostream.h>
-
/**
- * Class ofpstream is a simple "mix" of its bases, @ref fpbase and
- * @ref opstream. It provides the base class for writing (inserting)
+ * ofpstream provides the base class for writing (inserting)
* streamable objects to file streams.
- * @short Provides the base class for writing (inserting) streamable objects
- * to file streams
+ *
+ * @short The base class for writing (inserting) streamable objects
+ * to file streams.
*/
-class ofpstream : public fpbase, public opstream
-{
+class ofpstream : public opstream {
+ std::filebuf buf;
public:
- /**
- * Creates a buffered ofpstream object.
- */
ofpstream();
- /**
- * Creates a buffered ofpstream object. You can open a file and attach it
- * to the stream by specifying the `name', `omode', and `prot'
- * (protection) arguments.
- */
- ofpstream( const char *name, int omode = ios::out, int prot =
- filebuf::openprot );
- /**
- * Creates a buffered ofpstream object. You can open a file and attach it
- * to the stream by specifying the file descriptor, `f'.
- */
- ofpstream( int f );
- /**
- * Creates a buffered ofpstream object. You can set the size and initial
- * contents of the buffer using the `len' and `b' arguments. You can open
- * a file and attach it to the stream by specifying the file descriptor,
- * `f'.
- */
- ofpstream( int f, char *b, int len );
- /**
- * Destroys the ofpstream object.
- */
+ ofpstream(const char name[], std::ios::openmode omode = std::ios::out);
~ofpstream();
- /**
- * Returns the current file buffer.
- */
- filebuf * rdbuf();
- /**
- * Opens the the named file in the given mode (app, ate, in, out, binary,
- * trunc, nocreate, or noreplace) and protection. The default mode is out
- * (output) with openprot protection. The opened file is attached to this
- * stream.
- */
- void open( const char *name, int omode = ios::out,
- int prot = filebuf::openprot );
+ void open(const char name[], std::ios::openmode omode = std::ios::out);
};
#endif // Uses_ofpstream
/* ------------------------------------------------------------------------*/
-/* */
/* class fpstream */
-/* */
-/* Base class for reading and writing streamable objects to */
-/* bidirectional file streams */
-/* */
/* ------------------------------------------------------------------------*/
#if defined( Uses_fpstream ) && !defined( __fpstream )
#define __fpstream
-#include <iostream.h>
-
/**
- * fpstream is a simple "mix" of its bases, @ref fpbase and @ref iopstream.
- * It provides the base class for simultaneous writing and reading streamable
- * objects to bidirectional file streams. It is analogous to class fstream,
- * defined in `fstream.h' for the standard C++ stream library.
- * @short Provides the base class for simultaneous writing and reading
- * streamable objects to bidirectional file streams
+ * fpstream provides the base class for simultaneous writing and
+ * reading streamable objects to bidirectional file streams.
+ *
+ * @short The base class for simultaneous writing and reading
+ * streamable objects to bidirectional file streams.
*/
-class fpstream : public fpbase, public iopstream
-{
+class fpstream : public iopstream {
+ std::filebuf buf;
public:
- /**
- * Creates a buffered fpstream object.
- */
fpstream();
- /**
- * Creates a buffered fpstream object. You can open a file and attach it
- * to the stream by specifying the `name', `omode', and `prot'
- * (protection) arguments.
- */
- fpstream( const char *name, int omode, int prot = filebuf::openprot );
- /**
- * Creates a buffered fpstream object. You can open a file and attach it
- * to the stream by specifying the file descriptor, `f'.
- */
- fpstream( int f );
- /**
- * Creates a buffered fpstream object. You can set the size and initial
- * contents of the buffer using the `len' and `b' arguments. You can open
- * a file and attach it to the stream by specifying the file descriptor,
- * `f'.
- */
- fpstream( int f, char *b, int len );
- /**
- * Destroys the fpstream object.
- */
+ fpstream(const char name[], std::ios::openmode omode);
~fpstream();
- /**
- * Returns the data member bp.
- */
- filebuf * rdbuf();
- /**
- * Opens the named file in the given mode (app, ate, in, out, binary,
- * trunc, nocreate, noreplace) and protection. The opened file is
- * attatched to this stream.
- */
- void open( const char *name, int omode, int prot = filebuf::openprot );
+ void open(const char name[], std::ios::openmode omode);
};
#endif // Uses_fpstream
Index: lib/tv.h
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/lib/tv.h,v
retrieving revision 1.1
retrieving revision 1.4
diff -u -r1.1 -r1.4
--- lib/tv.h 20 Dec 2002 12:06:20 -0000 1.1
+++ lib/tv.h 27 Dec 2002 23:16:44 -0000 1.4
@@ -1,5 +1,5 @@
-/*
- * tv.h
+/**
+ * @file tv.h
*
* Turbo Vision - Version 2.0
*
@@ -36,11 +36,9 @@
*
* Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
-/** \file tv.h
- * tv.h
- */
#define _TV_VERSION 0x0200
@@ -375,10 +373,6 @@
#if defined( Uses_TDialog )
#define Uses_TWindow
#define __INC_DIALOGS_H
-#endif
-
-#if defined( Uses_TVMemMgr )
-#define __INC_BUFFERS_H
#endif
#if defined( Uses_TWindow )
Index: lib/tvobjs.h
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/lib/tvobjs.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- lib/tvobjs.h 20 Dec 2002 12:06:20 -0000 1.1
+++ lib/tvobjs.h 27 Dec 2002 23:16:44 -0000 1.2
@@ -42,7 +42,7 @@
* Destroys the object pointed by `o'.
*
* destroy() deletes an object `o' of a type derived from TObject; that
- * is, any object created with operator new(). destroy() terminates the
+ * is, any object created with new. destroy() terminates the
* object, correctly freeing the memory that it occupies.
*
* It calls `o->shutDown()' and after does `delete o'.
Index: lib/util.h
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/lib/util.h,v
retrieving revision 1.1
retrieving revision 1.5
diff -u -r1.1 -r1.5
--- lib/util.h 20 Dec 2002 12:06:20 -0000 1.1
+++ lib/util.h 27 Dec 2002 23:16:44 -0000 1.5
@@ -1,5 +1,5 @@
/*
- * util.h
+ * @file util.h
*
* Turbo Vision - Version 2.0
*
@@ -7,14 +7,13 @@
* All Rights Reserved.
*
* Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
#if !defined( __UTIL_H )
#define __UTIL_H
-/** \file util.h
- * util.h
- */
+#include <streambuf>
/**
* Undocumented.
@@ -166,13 +165,6 @@
*/
void *message( TView *receiver, ushort what, ushort command, void *infoPtr );
-/** \fn lowMemory()
- * Calls TVMemMgr::safetyPoolExhausted() to check the state of the safety
- * pool.
- * @see TVMemMgr::safetyPoolExhausted
- */
-Boolean lowMemory();
-
/** \fn newStr( const char *s )
* Dynamic string creation. If `s' is a null pointer, newStr() returns a 0
* pointer; otherwise, strlen(s)+ 1 bytes are allocated, containing a copy of
@@ -209,9 +201,7 @@
* Undocumented.
*/
void expandPath(const char *path, char *dir, char *file);
-/**
- * Undocumented.
- */
-long int filelength(int fd);
+
+std::streampos filelength(std::istream &s);
#endif // __UTIL_H
Index: tutorial/background.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tutorial/background.cc,v
retrieving revision 1.1
retrieving revision 1.4
diff -u -r1.1 -r1.4
--- tutorial/background.cc 20 Dec 2002 12:06:23 -0000 1.1
+++ tutorial/background.cc 25 Dec 2002 14:10:19 -0000 1.4
@@ -2,6 +2,7 @@
* TVision example: how to change the background pattern
*
* Written by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
#define Uses_TApplication
@@ -20,7 +21,7 @@
{
}
-void main()
+int main()
{
TDeskTop::defaultBkgrnd = '?';
Demo a;
Index: tutorial/load.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tutorial/load.cc,v
retrieving revision 1.1
retrieving revision 1.3
diff -u -r1.1 -r1.3
--- tutorial/load.cc 20 Dec 2002 12:06:23 -0000 1.1
+++ tutorial/load.cc 25 Dec 2002 14:10:19 -0000 1.3
@@ -2,6 +2,7 @@
* TVision example: how to create custom views
*
* Written by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
#define Uses_TApplication
@@ -18,10 +19,13 @@
#include <tvision/tv.h>
-#include <fstream.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
+
+#include <fstream>
+
+using std::ifstream;
enum
{
Index: tutorial/nomenus.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tutorial/nomenus.cc,v
retrieving revision 1.1
retrieving revision 1.3
diff -u -r1.1 -r1.3
--- tutorial/nomenus.cc 20 Dec 2002 12:06:23 -0000 1.1
+++ tutorial/nomenus.cc 25 Dec 2002 14:10:19 -0000 1.3
@@ -2,6 +2,7 @@
* TVision example: how to handle dialogs without menu bar and status line
*
* Written by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
#define Uses_MsgBox
@@ -80,7 +81,7 @@
{
public:
TMyApp();
- ushort doWork();
+ void doWork();
ushort newDialog(DialogData &data);
static TDeskTop *initDeskTop(TRect r);
};
@@ -163,7 +164,7 @@
//open dialogs here
-ushort TMyApp::doWork()
+void TMyApp::doWork()
{
messageBox("\003Welcome to the cheese ordering system",
mfInformation + mfOKButton);
Index: tutorial/splash.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tutorial/splash.cc,v
retrieving revision 1.1
retrieving revision 1.4
diff -u -r1.1 -r1.4
--- tutorial/splash.cc 20 Dec 2002 12:06:23 -0000 1.1
+++ tutorial/splash.cc 25 Dec 2002 14:10:19 -0000 1.4
@@ -2,6 +2,7 @@
* TVision example: how to show a dialog box at startup
*
* Written by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
#define Uses_TApplication
@@ -84,7 +85,7 @@
executeDialog(aboutBox);
}
-void main()
+int main()
{
Demo a;
a.run();
Index: tutorial/tvedit.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tutorial/tvedit.cc,v
retrieving revision 1.1
retrieving revision 1.4
diff -u -r1.1 -r1.4
--- tutorial/tvedit.cc 20 Dec 2002 12:06:23 -0000 1.1
+++ tutorial/tvedit.cc 25 Dec 2002 14:10:19 -0000 1.4
@@ -2,6 +2,7 @@
* TVision example: a simple text editor
*
* Written by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
#define Uses_MsgBox
@@ -27,13 +28,13 @@
#define Uses_TStatusItem
#define Uses_TStatusLine
#define Uses_TSubMenu
-
-#include <fstream.h>
-#include <signal.h>
-#include <stdarg.h>
-#include <stdio.h>
#include <tvision/tv.h>
+#include <assert.h>
+extern "C" {
+ #include <signal.h>
+}
+
//new command codes; standard commands are defined in views.h
enum
@@ -235,6 +235,8 @@
va_end(ap);
return doReplacePrompt(*cursor);
}
+ assert(0); /* what should the return value be if we fall through? */
+ return 0;
}
//executes a dialog in modal state; similar to TProgram::execute(), but this
Index: tutorial/tvguid04.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tutorial/tvguid04.cc,v
retrieving revision 1.1
retrieving revision 1.3
diff -u -r1.1 -r1.3
--- tutorial/tvguid04.cc 20 Dec 2002 12:06:23 -0000 1.1
+++ tutorial/tvguid04.cc 25 Dec 2002 14:10:19 -0000 1.3
@@ -7,10 +7,9 @@
/*---------------------------------------------------------*/
/*
* Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
-#include <stdlib.h> // for random()
-
#define Uses_TEvent
#define Uses_TApplication
#define Uses_TKeys
@@ -24,6 +23,8 @@
#define Uses_TDeskTop
#define Uses_TWindow
#include <tvision/tv.h>
+
+#include <stdlib.h> // for random()
const int cmMyFileOpen = 200; // assign new command values
const int cmMyNewWin = 201;
Index: tutorial/tvguid05.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tutorial/tvguid05.cc,v
retrieving revision 1.1
retrieving revision 1.3
diff -u -r1.1 -r1.3
--- tutorial/tvguid05.cc 20 Dec 2002 12:06:23 -0000 1.1
+++ tutorial/tvguid05.cc 25 Dec 2002 14:10:19 -0000 1.3
@@ -7,10 +7,9 @@
/*---------------------------------------------------------*/
/*
* Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
-#include <stdlib.h> // for random()
-
#define Uses_TEventQueue
#define Uses_TEvent
#define Uses_TApplication
@@ -26,6 +25,8 @@
#define Uses_TView
#define Uses_TWindow
#include <tvision/tv.h>
+
+#include <stdlib.h> // for random()
const int cmMyFileOpen = 200; // assign new command values
const int cmMyNewWin = 201;
Index: tutorial/tvguid06.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tutorial/tvguid06.cc,v
retrieving revision 1.1
retrieving revision 1.3
diff -u -r1.1 -r1.3
--- tutorial/tvguid06.cc 20 Dec 2002 12:06:23 -0000 1.1
+++ tutorial/tvguid06.cc 25 Dec 2002 14:10:20 -0000 1.3
@@ -7,17 +7,11 @@
/*---------------------------------------------------------*/
/*
* Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
/****** imperfect draw method--see tvguid07 for improvement *****/
-#include <stdlib.h> // for exit(), random()
-#include <iostream.h>
-#include <fstream.h> // for ifstream
-#include <stdio.h> // for puts() etc
-#include <string.h> // for strlen etc
-#include <ctype.h>
-
#define Uses_TEventQueue
#define Uses_TEvent
#define Uses_TProgram
@@ -34,6 +28,18 @@
#define Uses_TView
#define Uses_TWindow
#include <tvision/tv.h>
+
+#include <iostream>
+#include <fstream>
+
+#include <stdlib.h> // for exit(), random()
+#include <stdio.h> // for puts() etc
+#include <string.h> // for strlen etc
+#include <ctype.h>
+
+using std::ifstream;
+using std::cout;
+using std::endl;
const int cmMyFileOpen = 200; // assign new command values
const int cmMyNewWin = 201;
Index: tutorial/tvguid07.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tutorial/tvguid07.cc,v
retrieving revision 1.1
retrieving revision 1.3
diff -u -r1.1 -r1.3
--- tutorial/tvguid07.cc 20 Dec 2002 12:06:23 -0000 1.1
+++ tutorial/tvguid07.cc 25 Dec 2002 14:10:20 -0000 1.3
@@ -7,17 +7,11 @@
/*---------------------------------------------------------*/
/*
* Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
// same as tvguid06 except for improved draw method
-#include <stdlib.h> // for exit(), random()
-#include <iostream.h>
-#include <fstream.h> // for ifstream
-#include <stdio.h> // for puts() etc
-#include <string.h> // for strlen etc
-#include <ctype.h>
-
#define Uses_TEventQueue
#define Uses_TEvent
#define Uses_TProgram
@@ -34,6 +28,18 @@
#define Uses_TView
#define Uses_TWindow
#include <tvision/tv.h>
+
+#include <iostream>
+#include <fstream> // for ifstream
+
+#include <stdlib.h> // for exit(), random()
+#include <stdio.h> // for puts() etc
+#include <string.h> // for strlen etc
+#include <ctype.h>
+
+using std::cout;
+using std::endl;
+using std::ifstream;
const int cmMyFileOpen = 200; // assign new command values
const int cmMyNewWin = 201;
Index: tutorial/tvguid08.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tutorial/tvguid08.cc,v
retrieving revision 1.1
retrieving revision 1.3
diff -u -r1.1 -r1.3
--- tutorial/tvguid08.cc 20 Dec 2002 12:06:23 -0000 1.1
+++ tutorial/tvguid08.cc 25 Dec 2002 14:10:20 -0000 1.3
@@ -7,18 +7,12 @@
/*---------------------------------------------------------*/
/*
* Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
// same as tvguid07 except for scrolling interior
// add TDemoWindow::makeInterior
-#include <stdlib.h> // for exit(), random()
-#include <iostream.h>
-#include <fstream.h> // for ifstream
-#include <stdio.h> // for puts() etc
-#include <string.h> // for strlen etc
-#include <ctype.h>
-
#define Uses_TEventQueue
#define Uses_TEvent
#define Uses_TProgram
@@ -37,6 +31,18 @@
#define Uses_TScroller
#define Uses_TScrollBar
#include <tvision/tv.h>
+
+#include <iostream>
+#include <fstream>
+
+#include <stdlib.h> // for exit(), random()
+#include <stdio.h> // for puts() etc
+#include <string.h> // for strlen etc
+#include <ctype.h>
+
+using std::ifstream;
+using std::cout;
+using std::endl;
const int cmMyFileOpen = 200; // assign new command values
const int cmMyNewWin = 201;
Index: tutorial/tvguid09.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tutorial/tvguid09.cc,v
retrieving revision 1.1
retrieving revision 1.3
diff -u -r1.1 -r1.3
--- tutorial/tvguid09.cc 20 Dec 2002 12:06:23 -0000 1.1
+++ tutorial/tvguid09.cc 25 Dec 2002 14:10:20 -0000 1.3
@@ -7,18 +7,12 @@
/*---------------------------------------------------------*/
/*
* Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
// same as tvguid08 except for multiple panes
// modify TDemoWindow::makeInterior and constructor
-#include <stdlib.h> // for exit(), random()
-#include <iostream.h>
-#include <fstream.h> // for ifstream
-#include <stdio.h> // for puts() etc
-#include <string.h> // for strlen etc
-#include <ctype.h>
-
#define Uses_TEventQueue
#define Uses_TEvent
#define Uses_TProgram
@@ -38,6 +32,18 @@
#define Uses_TScroller
#define Uses_TScrollBar
#include <tvision/tv.h>
+
+#include <iostream>
+#include <fstream>
+
+#include <stdlib.h> // for exit(), random()
+#include <stdio.h> // for puts() etc
+#include <string.h> // for strlen etc
+#include <ctype.h>
+
+using std::ifstream;
+using std::cout;
+using std::endl;
const int cmMyFileOpen = 200; // assign new command values
const int cmMyNewWin = 201;
Index: tutorial/tvguid10.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tutorial/tvguid10.cc,v
retrieving revision 1.1
retrieving revision 1.3
diff -u -r1.1 -r1.3
--- tutorial/tvguid10.cc 20 Dec 2002 12:06:23 -0000 1.1
+++ tutorial/tvguid10.cc 25 Dec 2002 14:10:20 -0000 1.3
@@ -7,18 +7,12 @@
/*---------------------------------------------------------*/
/*
* Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
// same as tvguid09 except for better handling of resizing
// add TDemoWindow::sizeLimits
-#include <stdlib.h> // for exit(), random()
-#include <iostream.h>
-#include <fstream.h> // for ifstream
-#include <stdio.h> // for puts() etc
-#include <string.h> // for strlen etc
-#include <ctype.h>
-
#define Uses_TEventQueue
#define Uses_TEvent
#define Uses_TProgram
@@ -38,6 +32,18 @@
#define Uses_TScroller
#define Uses_TScrollBar
#include <tvision/tv.h>
+
+#include <iostream>
+#include <fstream>
+
+#include <stdlib.h> // for exit(), random()
+#include <stdio.h> // for puts() etc
+#include <string.h> // for strlen etc
+#include <ctype.h>
+
+using std::cout;
+using std::endl;
+using std::ifstream;
const int cmMyFileOpen = 200; // assign new command values
const int cmMyNewWin = 201;
Index: tutorial/tvguid11.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tutorial/tvguid11.cc,v
retrieving revision 1.1
retrieving revision 1.3
diff -u -r1.1 -r1.3
--- tutorial/tvguid11.cc 20 Dec 2002 12:06:23 -0000 1.1
+++ tutorial/tvguid11.cc 25 Dec 2002 14:10:20 -0000 1.3
@@ -7,18 +7,12 @@
/*---------------------------------------------------------*/
/*
* Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
// same as tvguid10 except for added dialog box
// modify TMyApp
-#include <stdlib.h> // for exit(), random()
-#include <iostream.h>
-#include <fstream.h> // for ifstream
-#include <stdio.h> // for puts() etc
-#include <string.h> // for strlen etc
-#include <ctype.h>
-
#define Uses_TEventQueue
#define Uses_TEvent
#define Uses_TProgram
@@ -38,6 +32,18 @@
#define Uses_TScrollBar
#define Uses_TDialog
#include <tvision/tv.h>
+
+#include <iostream>
+#include <fstream>
+
+#include <stdlib.h> // for exit(), random()
+#include <stdio.h> // for puts() etc
+#include <string.h> // for strlen etc
+#include <ctype.h>
+
+using std::cout;
+using std::endl;
+using std::ifstream;
// note the extra #define above
Index: tutorial/tvguid12.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tutorial/tvguid12.cc,v
retrieving revision 1.1
retrieving revision 1.3
diff -u -r1.1 -r1.3
--- tutorial/tvguid12.cc 20 Dec 2002 12:06:23 -0000 1.1
+++ tutorial/tvguid12.cc 25 Dec 2002 14:10:20 -0000 1.3
@@ -7,18 +7,12 @@
/*---------------------------------------------------------*/
/*
* Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
// same as tvguid11 except for making the dialog modal
// modify TMyApp::newDialog
-#include <stdlib.h> // for exit(), random()
-#include <iostream.h>
-#include <fstream.h> // for ifstream
-#include <stdio.h> // for puts() etc
-#include <string.h> // for strlen etc
-#include <ctype.h>
-
#define Uses_TEventQueue
#define Uses_TEvent
#define Uses_TProgram
@@ -38,6 +32,18 @@
#define Uses_TScrollBar
#define Uses_TDialog
#include <tvision/tv.h>
+
+#include <iostream>
+#include <fstream>
+
+#include <stdlib.h> // for exit(), random()
+#include <stdio.h> // for puts() etc
+#include <string.h> // for strlen etc
+#include <ctype.h>
+
+using std::cout;
+using std::endl;
+using std::ifstream;
const int cmMyFileOpen = 200; // assign new command values
const int cmMyNewWin = 201;
Index: tutorial/tvguid13.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tutorial/tvguid13.cc,v
retrieving revision 1.1
retrieving revision 1.3
diff -u -r1.1 -r1.3
--- tutorial/tvguid13.cc 20 Dec 2002 12:06:23 -0000 1.1
+++ tutorial/tvguid13.cc 25 Dec 2002 14:10:20 -0000 1.3
@@ -7,18 +7,12 @@
/*---------------------------------------------------------*/
/*
* Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
// same as tvguid12 except for extra buttons in dialog
// modify TMyApp::newDialog
-#include <stdlib.h> // for exit(), random()
-#include <iostream.h>
-#include <fstream.h> // for ifstream
-#include <stdio.h> // for puts() etc
-#include <string.h> // for strlen etc
-#include <ctype.h>
-
#define Uses_TEventQueue
#define Uses_TEvent
#define Uses_TProgram
@@ -39,6 +33,18 @@
#define Uses_TDialog
#define Uses_TButton
#include <tvision/tv.h>
+
+#include <iostream>
+#include <fstream>
+
+#include <stdlib.h> // for exit(), random()
+#include <stdio.h> // for puts() etc
+#include <string.h> // for strlen etc
+#include <ctype.h>
+
+using std::cout;
+using std::endl;
+using std::ifstream;
// note the extra #define above
Index: tutorial/tvguid14.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tutorial/tvguid14.cc,v
retrieving revision 1.1
retrieving revision 1.3
diff -u -r1.1 -r1.3
--- tutorial/tvguid14.cc 20 Dec 2002 12:06:23 -0000 1.1
+++ tutorial/tvguid14.cc 25 Dec 2002 14:10:20 -0000 1.3
@@ -7,18 +7,12 @@
/*---------------------------------------------------------*/
/*
* Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
// same as tvguid13 except for extra checkboxes, radiobuttons, and labels
// modify TMyApp::newDialog
-#include <stdlib.h> // for exit(), random()
-#include <iostream.h>
-#include <fstream.h> // for ifstream
-#include <stdio.h> // for puts() etc
-#include <string.h> // for strlen etc
-#include <ctype.h>
-
#define Uses_TEventQueue
#define Uses_TEvent
#define Uses_TProgram
@@ -43,6 +37,18 @@
#define Uses_TRadioButtons
#define Uses_TLabel
#include <tvision/tv.h>
+
+#include <iostream>
+#include <fstream>
+
+#include <stdlib.h> // for exit(), random()
+#include <stdio.h> // for puts() etc
+#include <string.h> // for strlen etc
+#include <ctype.h>
+
+using std::cout;
+using std::endl;
+using std::ifstream;
// note the extra #defines above
Index: tutorial/tvguid15.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tutorial/tvguid15.cc,v
retrieving revision 1.1
retrieving revision 1.3
diff -u -r1.1 -r1.3
--- tutorial/tvguid15.cc 20 Dec 2002 12:06:23 -0000 1.1
+++ tutorial/tvguid15.cc 25 Dec 2002 14:10:20 -0000 1.3
@@ -7,18 +7,12 @@
/*---------------------------------------------------------*/
/*
* Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
// same as tvguid14 except for extra input line in dialog
// modify TMyApp::newDialog
-#include <stdlib.h> // for exit(), random()
-#include <iostream.h>
-#include <fstream.h> // for ifstream
-#include <stdio.h> // for puts() etc
-#include <string.h> // for strlen etc
-#include <ctype.h>
-
#define Uses_TEventQueue
#define Uses_TEvent
#define Uses_TProgram
@@ -45,6 +39,17 @@
#define Uses_TLabel
#define Uses_TInputLine
#include <tvision/tv.h>
+
+#include <fstream> // for ifstream
+
+#include <stdlib.h> // for exit(), random()
+#include <stdio.h> // for puts() etc
+#include <string.h> // for strlen etc
+#include <ctype.h>
+
+using std::cout;
+using std::endl;
+using std::ifstream;
// note the extra #define above
Index: tutorial/tvguid16.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tutorial/tvguid16.cc,v
retrieving revision 1.1
retrieving revision 1.4
diff -u -r1.1 -r1.4
--- tutorial/tvguid16.cc 20 Dec 2002 12:06:23 -0000 1.1
+++ tutorial/tvguid16.cc 25 Dec 2002 14:10:20 -0000 1.4
@@ -7,18 +7,12 @@
/*---------------------------------------------------------*/
/*
* Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
// same as tvguid15 except for saving and restoring dialog contents
// modify TMyApp::newDialog
-#include <stdlib.h> // for exit(), random()
-#include <iostream.h>
-#include <fstream.h> // for ifstream
-#include <stdio.h> // for puts() etc
-#include <string.h> // for strlen etc
-#include <ctype.h>
-
#define Uses_TEventQueue
#define Uses_TEvent
#define Uses_TProgram
@@ -45,6 +39,17 @@
#define Uses_TLabel
#define Uses_TInputLine
#include <tvision/tv.h>
+
+#include <fstream> // for ifstream
+
+#include <stdlib.h> // for exit(), random()
+#include <stdio.h> // for puts() etc
+#include <string.h> // for strlen etc
+#include <ctype.h>
+
+using std::cout;
+using std::endl;
+using std::ifstream;
const int cmMyFileOpen = 200; // assign new command values
const int cmMyNewWin = 201;
Index: tutorial/tvlife.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tutorial/tvlife.cc,v
retrieving revision 1.1
retrieving revision 1.3
diff -u -r1.1 -r1.3
--- tutorial/tvlife.cc 20 Dec 2002 12:06:23 -0000 1.1
+++ tutorial/tvlife.cc 25 Dec 2002 14:10:20 -0000 1.3
@@ -7,6 +7,8 @@
* Clicking with the left button inside the life window will cause a dot to
* appear at the cursor location. Clicking with the right mouse button will
* remove the dot. This allows the user to create his/her own patterns.
+ *
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
#define Uses_TApplication
@@ -22,9 +24,9 @@
#define Uses_TStatusLine
#define Uses_TSubMenu
#define Uses_TWindow
+#include <tvision/tv.h>
#include <stdlib.h>
-#include <tvision/tv.h>
enum
{
@@ -463,8 +465,8 @@
#define NPATS (sizeof patterns / sizeof patterns[0])
-TLifeInterior::TLifeInterior(TRect& bounds): TView(bounds), board(0),
- running(0)
+TLifeInterior::TLifeInterior(TRect& bounds)
+ : TView(bounds), running(0), board(NULL)
{
eventMask = evMouseDown | evKeyDown | evCommand | evBroadcast;
growMode = gfGrowHiX | gfGrowHiY;
@@ -528,16 +530,17 @@
#if 1
int i = size.x * size.y;
- ushort buf[size.x * size.y];
+ ushort *buf = new ushort[i];
ushort *to = buf;
while (i-- > 0)
{
- if (*from++ != 0) *to = (color << 8) | '*';
- else *to = (color << 8) | ' ';
+ *to = (*from++ != 0) ? '*' : ' ';
+ *to |= (color << 8);
to++;
}
writeBuf(0, 0, size.x, size.y, buf);
+ delete[] buf;
#else
TDrawBuffer b;
b.moveChar(0, ' ', color, size.x);
@@ -806,7 +809,7 @@
wc += cmRandom;
wc += cmStartStop;
wc += cmTile;
- for (int i = 0; i < NPATS; i++) //scan pattern commands
+ for (uint i = 0; i < NPATS; i++) //scan pattern commands
{
wc += cmPat01 + i; //add pattern commands
}
Index: tutorial/validator.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tutorial/validator.cc,v
retrieving revision 1.1
retrieving revision 1.5
diff -u -r1.1 -r1.5
--- tutorial/validator.cc 20 Dec 2002 12:06:23 -0000 1.1
+++ tutorial/validator.cc 25 Dec 2002 14:10:21 -0000 1.5
@@ -2,6 +2,7 @@
* TVision example: how to use range validators in input lines
*
* Written by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
#define Uses_TApplication
@@ -82,7 +83,6 @@
TWindowInit( &TDialog::initFrame )
{
TInputLine *line;
- TScrollBar *bar;
TView *obj;
options |= ofCentered;
@@ -130,7 +130,7 @@
selectNext(False);
}
-void main()
+int main()
{
Demo a;
a.run();
Index: tvhc/tvhc.cc
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tvhc/tvhc.cc,v
retrieving revision 1.1
retrieving revision 1.5
diff -u -r1.1 -r1.5
--- tvhc/tvhc.cc 20 Dec 2002 12:06:25 -0000 1.1
+++ tvhc/tvhc.cc 25 Dec 2002 14:10:22 -0000 1.5
@@ -9,6 +9,7 @@
/*
* Modified by Sergey Clushin <serg@lamport.ru>, <Clushin@deol.ru>
* Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
/*===== TVHC ============================================================*/
@@ -88,26 +89,51 @@
#include <tv.h>
#include "tvhc.h"
+
#include <string.h>
#include <limits.h>
#include <unistd.h>
#include <ctype.h>
#include <stdlib.h>
-#include <fstream.h>
-#include <strstream.h>
#include <errno.h>
+#include <fstream>
+#include <sstream>
+#include <string>
+
+using std::cerr;
+using std::cin;
+using std::cout;
+using std::ends;
+using std::fstream;
+using std::ios;
+using std::ostringstream;
+using std::string;
+
+static const int MAXSTRSIZE=256;
+static const char commandChar[] = ".";
+static const int bufferSize = 4096;
+
+typedef enum State { undefined, wrapping, notWrapping };
+
+static char *helpName;
+static uchar buffer[bufferSize];
+static int ofs;
+static TRefTable *refTable = 0;
+static TCrossRefNode *xRefs;
+static char line[MAXSTRSIZE] = "";
+static Boolean lineInBuffer = False;
+static int lineCount = 0;
+
//======================= File Management ===============================//
-TProtectedStream::TProtectedStream( char *aFileName, ushort aMode ) :
+TProtectedStream::TProtectedStream( char *aFileName, ios::openmode aMode) :
fstream( aFileName, aMode )
{
strcpy(fileName, aFileName);
mode = aMode;
}
-void error(char *text);
-
//----- replaceExt(fileName, nExt, force) -------------------------------//
// Replace the extension of the given file with the given extension. //
// If an extension already exists Force indicates if it should be //
@@ -121,8 +147,8 @@
char name[MAXFILE];
char ext[MAXEXT];
char drive[MAXDRIVE];
- char buffer[MAXPATH];
- ostrstream os(buffer, MAXPATH);
+ string buffer;
+ ostringstream os(buffer);
fnsplit(fileName, drive, dir, name, ext);
if (force || (strlen(ext) == 0))
@@ -139,12 +165,10 @@
// Returns true if the file exists false otherwise. /
//-----------------------------------------------------------------------/
-Boolean fExists(char *fileName)
+static bool
+fExists(const string &fileName)
{
- if (access(fileName, R_OK) != 0)
- return(False);
- else
- return(True);
+ return (access(fileName.c_str(), R_OK) == 0) ? true : false;
}
//======================== Line Management ==============================//
@@ -194,7 +218,8 @@
// Used by Error and Warning to print the message. //
//-----------------------------------------------------------------------//
-void prntMsg( char *pref, char *text )
+void
+prntMsg(const string &pref, char *text)
{
if (lineCount > 0)
cout << pref << ": " << helpName << "("
@@ -208,7 +233,8 @@
// Used to indicate an error. Terminates the program //
//-----------------------------------------------------------------------//
-void error( char *text )
+void
+error(char *text)
{
prntMsg("Error", text);
exit(1);
@@ -852,7 +878,7 @@
void doWriteSymbol(void *p, void *p1)
{
int numBlanks, i;
- ostrstream os(line, MAXSTRSIZE);
+ ostringstream os(line);
TProtectedStream *symbFile = (TProtectedStream *)p1;
if (((TReference *)p)->resolved )
@@ -868,7 +894,7 @@
{
os << "Unresolved forward reference \""
<< ((TReference *)p)->topic << "\"" << ends;
- warning(os.str());
+ warning(const_cast<char *>(os.str().c_str()));
}
}
@@ -910,25 +936,25 @@
// it's ok to overwrite it. //
//----------------------------------------------------------------------//
-void checkOverwrite( char *fName )
+static void
+checkOverwrite(const string &fName)
{
- if (fExists(fName))
- {
+ if (fExists(fName)) {
cerr << "File already exists: " << fName << ". Overwrite? (y/n) ";
- char ch = ({ char s[MAXSTRSIZE]; cin >> s; s[0]; });
- if( toupper(ch) != 'Y' )
+
+ char ch;
+ cin >> ch;
+ if (toupper(ch) != 'Y') {
exit(1);
- }
+ }
+ }
}
//========================== Program Block ==========================//
-int main(int argc, char **argv)
+int
+main(int argc, char **argv)
{
- char* textName;
- char* symbName;
- fpstream* helpStrm;
-
// Banner messages
char initialText[] = "Help Compiler Version 1.0 Copyright (c) 1991"
" Borland International.\n";
@@ -949,25 +975,25 @@
}
// Calculate file names
- textName = argv[1];
+ char *textName = argv[1];
if (!fExists(textName))
{
strcpy(bufStr,"File ");
- strcat(bufStr,textName);
- strcat(bufStr," not found.");
+ strcat(bufStr, textName);
+ strcat(bufStr, " not found.");
error(bufStr);
}
helpName = argv[2];
- checkOverwrite( helpName );
+ checkOverwrite(helpName);
- symbName = argv[3];
- checkOverwrite( symbName );
+ char *symbName = argv[3];
+ checkOverwrite(symbName);
TProtectedStream textStrm(textName, ios::in);
TProtectedStream symbStrm(symbName, ios::out | ios::trunc);
- helpStrm = new fpstream(helpName, ios::out | ios::trunc);
- processText(textStrm, *helpStrm, symbStrm);
+ fpstream helpStrm(helpName, ios::out | ios::trunc);
+ processText(textStrm, helpStrm, symbStrm);
return 0;
}
Index: tvhc/tvhc.h
===================================================================
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tvhc/tvhc.h,v
retrieving revision 1.1
retrieving revision 1.5
diff -u -r1.1 -r1.5
--- tvhc/tvhc.h 20 Dec 2002 12:06:25 -0000 1.1
+++ tvhc/tvhc.h 25 Dec 2002 14:10:22 -0000 1.5
@@ -8,6 +8,7 @@
/*
* Modified by Sergey Clushin <serg@lamport.ru>, <Clushin@deol.ru>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
*/
#if !defined( __TVHC_H )
@@ -21,25 +22,20 @@
#include "helpbase.h"
+#include <fstream>
const int MAXSIZE = 80;
-const int MAXSTRSIZE=256;
-const char commandChar[] = ".";
-const int bufferSize = 4096;
-typedef enum State { undefined, wrapping, notWrapping };
-
-class TProtectedStream : public fstream
+class TProtectedStream : public std::fstream
{
public:
-
- TProtectedStream( char *aFileName, ushort aMode );
+ TProtectedStream( char *aFileName, std::ios::openmode aMode );
private:
char fileName[MAXSIZE];
- ushort mode;
+ std::ios::openmode mode;
};
@@ -113,14 +109,5 @@
TTopicDefinition *next;
};
-
-char* helpName;
-uchar buffer[bufferSize];
-int ofs;
-TRefTable *refTable = 0;
-TCrossRefNode *xRefs;
-char line[MAXSTRSIZE] = "";
-Boolean lineInBuffer = False;
-int lineCount = 0;
#endif // __TVHC_H