--- a/card.cpp +++ b/card.cpp @@ -119,7 +119,7 @@ int oldy = y(); int newx = dest_x; int newy = dest_y; - int steps = max(abs(oldx - newx), abs(oldy - newy)) / Option::speedup(); + int steps = std::max(abs(oldx - newx), abs(oldy - newy)) / Option::speedup(); float curx = (float) oldx; float cury = (float) oldy; --- a/freecell.cpp +++ b/freecell.cpp @@ -64,7 +64,7 @@ static GameNumberManager* gnManager; static const int PathLength = 256; static char msNumbersPath[PathLength] = "\0";; -static const char defaultMSNumbersPath[] = "/usr/local/lib/xfreecell/MSNumbers"; +static const char defaultMSNumbersPath[] = "/usr/share/games/xfreecell/MSNumbers"; // ##### Functions declarations ##### static void adjustSubwindow(NSWindow*); @@ -603,7 +603,7 @@ void readMSNumbersPath() { char* home = getenv("HOME"); - string saveFile; + std::string saveFile; if (home == NULL) { fprintf(stderr, "Cannot get $HOME. Assuming I am at home directory now.\n"); --- a/gnmanager.cpp +++ b/gnmanager.cpp @@ -16,7 +16,7 @@ GameNumberManager::GameNumberManager() { char* home = getenv("HOME"); - string directory; + std::string directory; if (home == NULL) { fprintf(stderr, "Cannot get $HOME. Assuming I am at home directory now.\n"); @@ -143,7 +143,7 @@ readFile(msLostGameFile, &msLostGames); } -void GameNumberManager::readFile(const string& file, hash_set* hs) +void GameNumberManager::readFile(const std::string& file, hash_set* hs) { FILE* fp = fopen(file.c_str(), "r"); char line[lineLength]; @@ -169,7 +169,7 @@ writeFile(msLostGameFile, &msLostGames); } -void GameNumberManager::writeFile(const string& file, hash_set* hs) +void GameNumberManager::writeFile(const std::string& file, hash_set* hs) { FILE* fp = fopen(file.c_str(), "w+"); --- a/gnmanager.h +++ b/gnmanager.h @@ -2,7 +2,13 @@ #define GNManager_H #include + +#if __GNUG__ < 3 #include +#else +#include +using __gnu_cxx::hash_set; +#endif class GameNumberManager { public: @@ -20,15 +26,15 @@ bool alreadyLost(int); void readFiles(); - void readFile(const string&, hash_set*); - void writeFile(const string&, hash_set*); + void readFile(const std::string&, hash_set*); + void writeFile(const std::string&, hash_set*); - string lostGameFile, wonGameFile; + std::string lostGameFile, wonGameFile; hash_set wonGames; hash_set lostGames; - string msLostGameFile, msWonGameFile; + std::string msLostGameFile, msWonGameFile; hash_set msWonGames; hash_set msLostGames; --- a/makefile +++ b/makefile @@ -1,16 +1,15 @@ OBJECTS=card.o freecell.o option.o stack.o subwindows.o undo.o util.o gnmanager.o random.o -CC=g++ -CFLAGS=-g -Wall -DSHAPE -DBOGUSRANDOM +CFLAGS=$(CXXFLAGS) -DSHAPE -DBOGUSRANDOM LIBS=-lm -L. -lns -L/usr/X11R6/lib -lXext -lX11 STATICDIR=xfreecell-static DOCS=README CHANGES mshuffle.txt xfreecell.6 LIBDIR=/usr/local/lib/xfreecell all: $(OBJECTS) lib - $(CC) -o xfreecell $(CFLAGS) $(OBJECTS) $(LIBS) + $(CXX) -o xfreecell $(LDFLAGS) $(OBJECTS) $(LIBS) static: $(OBJECTS) lib - $(CC) -o xfreecell -static $(CFLAGS) $(OBJECTS) $(LIBS) + $(CXX) -o xfreecell -static $(CFLAGS) $(OBJECTS) $(LIBS) static-release: static mkdir $(STATICDIR) @@ -21,17 +20,17 @@ rm -rf $(STATICDIR) %.o: %.cpp - $(CC) -c $(CFLAGS) $< + $(CXX) -c $(CFLAGS) $< clean: rm -f *~ *.o a.out xfreecell libns.a - make -C widget clean + $(MAKE) -C widget clean lib: - make -C widget lib + $(MAKE) -C widget lib install: all - install xfreecell $(DESTDIR)/usr/local/bin - install xfreecell.6 $(DESTDIR)/usr/local/man/man6 + install xfreecell $(DESTDIR)/usr/bin + install xfreecell.6 $(DESTDIR)/usr/share/man/man6 # install -d $(LIBDIR) -# install ms-compatible/MSNumbers $(DESTDIR)/usr/local/lib/xfreecell \ No newline at end of file +# install ms-compatible/MSNumbers $(DESTDIR)/usr/share/xfreecell --- a/option.h +++ b/option.h @@ -22,7 +22,7 @@ void readPrefs(); void writePrefs(); - string saveFile; + std::string saveFile; static int _speedup; static bool _queryWindow; --- a/stack.h +++ b/stack.h @@ -28,7 +28,7 @@ int _next_x, _next_y; private: - vector _cards; + std::vector _cards; }; class PlayStack : public Stack { --- a/subwindows.h +++ b/subwindows.h @@ -76,7 +76,7 @@ int _undos; int _totalScore; - string saveFile; + std::string saveFile; bool exitPressed; --- a/undo.cpp +++ b/undo.cpp @@ -22,7 +22,7 @@ c->moveToStack(from, false, false); } -stack moves; +std::stack moves; void undoClearMoves() { --- a/widget/container.cpp +++ b/widget/container.cpp @@ -61,18 +61,18 @@ void NSContainer::remove(NSComponent* nsc) { - vector::iterator iter; + std::vector::iterator iter; for (iter = nscVec.begin(); iter != nscVec.end(); iter++) if (*iter == nsc) nscVec.erase(iter); } void NSContainer::hremove(NSComponent* nsc) { - vector::iterator iter; + std::vector::iterator iter; for (iter = nscVec.begin(); iter != nscVec.end(); iter++) { if (*iter == nsc) { int w = (*iter)->width() + _neighborGap; - vector::iterator iter2 = iter + 1; + std::vector::iterator iter2 = iter + 1; if (nscVec.size() == 0) { _width = 0; _height = 0; } else { @@ -87,11 +87,11 @@ void NSContainer::vremove(NSComponent* nsc) { - vector::iterator iter; + std::vector::iterator iter; for (iter = nscVec.begin(); iter != nscVec.end(); iter++) { if (*iter == nsc) { int h = (*iter)->height() + _neighborGap; - vector::iterator iter2 = iter + 1; + std::vector::iterator iter2 = iter + 1; if (nscVec.size() == 0) { _width = 0; _height = 0; } else { --- a/widget/makefile +++ b/widget/makefile @@ -1,15 +1,13 @@ OBJECTS=window.o plate.o string.o button.o label.o textfield.o container.o frame.o util.o scrollbar.o font.o main.o -#C=/usr/local/gcc-2.8.1/bin/g++ -CC=g++ -CFLAGS=-g -Wall +CFLAGS=$(CXXFLAGS) -Wall LIBS=-L/usr/X11R6/lib -lX11 LIBNAME=libns.a all: test.o $(OBJECTS) - $(CC) $(CFLAGS) test.o $(OBJECTS) $(LIBS) + $(CXX) $(CFLAGS) test.o $(OBJECTS) $(LIBS) %.o: %.cpp - $(CC) $(CFLAGS) -c $< + $(CXX) $(CFLAGS) -c $< clean: rm -f *.o *~ a.out .nfs* dummy --- a/widget/textfield.cpp +++ b/widget/textfield.cpp @@ -1,3 +1,4 @@ +#include #include "widget.h" GC NSTextField::gc; --- a/widget/widget.h +++ b/widget/widget.h @@ -114,7 +114,7 @@ Elt(NSWindow* nw, Window w) { nswindow = nw; window = w; } }; - static vector eltVector; + static std::vector eltVector; static void eraseWindow(Window); static void registerWindow(NSWindow*, Window); }; @@ -171,7 +171,7 @@ void fontWindowHeight(unsigned int); void resizable(bool arg) { _resizable = arg; } - string _label; + std::string _label; private: static const int fontGap = 4; static XFontStruct* fontStruct; @@ -272,7 +272,7 @@ static unsigned int charWidth, charHeight; unsigned int maxCharNum; - string _str; + std::string _str; unsigned int cursorPos; unsigned int strStart; bool cursorOnTF; @@ -327,7 +327,7 @@ unsigned int _vGap, _hGap, _neighborGap; Window _parentWindow; - vector nscVec; + std::vector nscVec; }; // ##### NSHContainer ##### --- a/widget/window.cpp +++ b/widget/window.cpp @@ -2,7 +2,7 @@ bool NSWindow::windowInitialized = false; Window NSWindow::_root; -vector NSWindow::eltVector; +std::vector NSWindow::eltVector; NSWindow::NSWindow(bool create, Window w, int x, int y, unsigned int width, unsigned int height, unsigned int borderWidth, unsigned long border, unsigned long bg) @@ -86,8 +86,8 @@ void NSWindow::registerWindow(NSWindow* nsw, Window w) { - vector::iterator begin = eltVector.begin(); - vector::iterator end = eltVector.end(); + std::vector::iterator begin = eltVector.begin(); + std::vector::iterator end = eltVector.end(); Elt elt(nsw, w); if (eltVector.size() == 0 || w > eltVector.back().window) { @@ -95,7 +95,7 @@ return; } - for (vector::iterator iter = begin; iter != end; iter++) + for (std::vector::iterator iter = begin; iter != end; iter++) if ((*iter).window > w) eltVector.insert(iter, elt); @@ -104,9 +104,9 @@ void NSWindow::eraseWindow(Window w) { - vector::iterator begin = eltVector.begin(); - vector::iterator end = eltVector.end(); - vector::iterator iter; + std::vector::iterator begin = eltVector.begin(); + std::vector::iterator end = eltVector.end(); + std::vector::iterator iter; for (iter = begin; iter != end; iter++) { if ((*iter).window == w) eltVector.erase(iter);