diff options
author | Jose <jose@zeroc.com> | 2014-10-30 23:19:01 +0100 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2014-10-30 23:19:01 +0100 |
commit | 540ca4a7a96a15d5a6c40936e1dc6c943f36bb70 (patch) | |
tree | cee4d1d5420d7705d40ca183846fa7943ea24acd /cpp | |
parent | SLES updates for ice.spec (diff) | |
download | ice-540ca4a7a96a15d5a6c40936e1dc6c943f36bb70.tar.bz2 ice-540ca4a7a96a15d5a6c40936e1dc6c943f36bb70.tar.xz ice-540ca4a7a96a15d5a6c40936e1dc6c943f36bb70.zip |
More lex Scanner fixes
Diffstat (limited to 'cpp')
-rw-r--r-- | cpp/demo/Freeze/library/Parser.cpp | 15 | ||||
-rw-r--r-- | cpp/demo/Freeze/library/Parser.h | 8 | ||||
-rw-r--r-- | cpp/demo/Freeze/phonebook/Parser.cpp | 17 | ||||
-rw-r--r-- | cpp/demo/Freeze/phonebook/Parser.h | 8 | ||||
-rw-r--r-- | cpp/demo/book/evictor_filesystem/Parser.cpp | 12 | ||||
-rw-r--r-- | cpp/demo/book/evictor_filesystem/Parser.h | 8 | ||||
-rw-r--r-- | cpp/demo/book/lifecycle/Parser.cpp | 17 | ||||
-rw-r--r-- | cpp/demo/book/lifecycle/Parser.h | 8 | ||||
-rw-r--r-- | cpp/demo/book/map_filesystem/Parser.cpp | 17 | ||||
-rw-r--r-- | cpp/demo/book/map_filesystem/Parser.h | 8 | ||||
-rw-r--r-- | cpp/src/FreezeScript/Makefile | 4 | ||||
-rw-r--r-- | cpp/src/IceGrid/Parser.cpp | 19 | ||||
-rw-r--r-- | cpp/src/IceGrid/Parser.h | 8 | ||||
-rw-r--r-- | cpp/src/IceStorm/Parser.cpp | 4 | ||||
-rw-r--r-- | cpp/test/Freeze/complex/Parser.cpp | 17 | ||||
-rw-r--r-- | cpp/test/Freeze/complex/Parser.h | 8 |
16 files changed, 153 insertions, 25 deletions
diff --git a/cpp/demo/Freeze/library/Parser.cpp b/cpp/demo/Freeze/library/Parser.cpp index 489be4c21ca..8e72b8798a1 100644 --- a/cpp/demo/Freeze/library/Parser.cpp +++ b/cpp/demo/Freeze/library/Parser.cpp @@ -350,8 +350,21 @@ Parser::shutdown() } } +// +// With older flex version <= 2.5.35 YY_INPUT second +// paramenter is of type int&, in newer versions it +// changes to size_t& +// +void +Parser::getInput(char* buf, int& result, size_t maxSize) +{ + size_t r = static_cast<size_t>(result); + getInput(buf, r, maxSize); + result = static_cast<int>(r); +} + void -Parser::getInput(char* buf, int& result, int maxSize) +Parser::getInput(char* buf, size_t& result, size_t maxSize) { #ifdef HAVE_READLINE diff --git a/cpp/demo/Freeze/library/Parser.h b/cpp/demo/Freeze/library/Parser.h index 45b1791e583..70566ac8b6a 100644 --- a/cpp/demo/Freeze/library/Parser.h +++ b/cpp/demo/Freeze/library/Parser.h @@ -62,7 +62,13 @@ public: void setEvictorSize(const std::list<std::string>&); void shutdown(); - void getInput(char*, int&, int); + // + // With older flex version <= 2.5.35 YY_INPUT second + // paramenter is of type int&, in newer versions it + // changes to size_t& + // + void getInput(char*, int&, size_t); + void getInput(char*, size_t&, size_t); void continueLine(); const char* getPrompt(); diff --git a/cpp/demo/Freeze/phonebook/Parser.cpp b/cpp/demo/Freeze/phonebook/Parser.cpp index 37c71d4f6d4..69071baf30b 100644 --- a/cpp/demo/Freeze/phonebook/Parser.cpp +++ b/cpp/demo/Freeze/phonebook/Parser.cpp @@ -329,8 +329,21 @@ Parser::shutdown() } } +// +// With older flex version <= 2.5.35 YY_INPUT second +// paramenter is of type int&, in newer versions it +// changes to size_t& +// +void +Parser::getInput(char* buf, int& result, size_t maxSize) +{ + size_t r = static_cast<size_t>(result); + getInput(buf, r, maxSize); + result = static_cast<int>(r); +} + void -Parser::getInput(char* buf, int& result, int maxSize) +Parser::getInput(char* buf, size_t& result, size_t maxSize) { #ifdef HAVE_READLINE @@ -387,7 +400,7 @@ Parser::getInput(char* buf, int& result, int maxSize) } } - result = static_cast<int>(line.length()); + result = line.length(); if(result > maxSize) { error("input line too long"); diff --git a/cpp/demo/Freeze/phonebook/Parser.h b/cpp/demo/Freeze/phonebook/Parser.h index 3d0fac10f03..136ba785536 100644 --- a/cpp/demo/Freeze/phonebook/Parser.h +++ b/cpp/demo/Freeze/phonebook/Parser.h @@ -62,7 +62,13 @@ public: void setEvictorSize(const std::list<std::string>&); void shutdown(); - void getInput(char*, int&, int); + // + // With older flex version <= 2.5.35 YY_INPUT second + // paramenter is of type int&, in newer versions it + // changes to size_t& + // + void getInput(char*, int&, size_t); + void getInput(char*, size_t&, size_t); void continueLine(); const char* getPrompt(); diff --git a/cpp/demo/book/evictor_filesystem/Parser.cpp b/cpp/demo/book/evictor_filesystem/Parser.cpp index b53950fa935..f659413f6ae 100644 --- a/cpp/demo/book/evictor_filesystem/Parser.cpp +++ b/cpp/demo/book/evictor_filesystem/Parser.cpp @@ -295,7 +295,15 @@ Parser::destroy(const std::list<string>& names) } void -Parser::getInput(char* buf, int& result, int maxSize) +Parser::getInput(char* buf, int& result, size_t maxSize) +{ + size_t r = static_cast<size_t>(result); + getInput(buf, r, maxSize); + result = static_cast<int>(r); +} + +void +Parser::getInput(char* buf, size_t& result, size_t maxSize) { #ifdef HAVE_READLINE @@ -352,7 +360,7 @@ Parser::getInput(char* buf, int& result, int maxSize) } } - result = static_cast<int>(line.length()); + result = line.length(); if(result > maxSize) { error("input line too long"); diff --git a/cpp/demo/book/evictor_filesystem/Parser.h b/cpp/demo/book/evictor_filesystem/Parser.h index a737a47c4c9..5f5969167b2 100644 --- a/cpp/demo/book/evictor_filesystem/Parser.h +++ b/cpp/demo/book/evictor_filesystem/Parser.h @@ -60,7 +60,13 @@ public: void write(::std::list< ::std::string>&); void destroy(const ::std::list< ::std::string>&); - void getInput(char*, int&, int); + // + // With older flex version <= 2.5.35 YY_INPUT second + // paramenter is of type int&, in newer versions it + // changes to size_t& + // + void getInput(char*, int&, size_t); + void getInput(char*, size_t&, size_t); void continueLine(); const char* getPrompt(); diff --git a/cpp/demo/book/lifecycle/Parser.cpp b/cpp/demo/book/lifecycle/Parser.cpp index b53950fa935..44ab2797d7f 100644 --- a/cpp/demo/book/lifecycle/Parser.cpp +++ b/cpp/demo/book/lifecycle/Parser.cpp @@ -294,8 +294,21 @@ Parser::destroy(const std::list<string>& names) } } +// +// With older flex version <= 2.5.35 YY_INPUT second +// paramenter is of type int&, in newer versions it +// changes to size_t& +// +void +Parser::getInput(char* buf, int& result, size_t maxSize) +{ + size_t r = static_cast<size_t>(result); + getInput(buf, r, maxSize); + result = static_cast<int>(r); +} + void -Parser::getInput(char* buf, int& result, int maxSize) +Parser::getInput(char* buf, size_t& result, size_t maxSize) { #ifdef HAVE_READLINE @@ -352,7 +365,7 @@ Parser::getInput(char* buf, int& result, int maxSize) } } - result = static_cast<int>(line.length()); + result = line.length(); if(result > maxSize) { error("input line too long"); diff --git a/cpp/demo/book/lifecycle/Parser.h b/cpp/demo/book/lifecycle/Parser.h index a737a47c4c9..5f5969167b2 100644 --- a/cpp/demo/book/lifecycle/Parser.h +++ b/cpp/demo/book/lifecycle/Parser.h @@ -60,7 +60,13 @@ public: void write(::std::list< ::std::string>&); void destroy(const ::std::list< ::std::string>&); - void getInput(char*, int&, int); + // + // With older flex version <= 2.5.35 YY_INPUT second + // paramenter is of type int&, in newer versions it + // changes to size_t& + // + void getInput(char*, int&, size_t); + void getInput(char*, size_t&, size_t); void continueLine(); const char* getPrompt(); diff --git a/cpp/demo/book/map_filesystem/Parser.cpp b/cpp/demo/book/map_filesystem/Parser.cpp index b53950fa935..44ab2797d7f 100644 --- a/cpp/demo/book/map_filesystem/Parser.cpp +++ b/cpp/demo/book/map_filesystem/Parser.cpp @@ -294,8 +294,21 @@ Parser::destroy(const std::list<string>& names) } } +// +// With older flex version <= 2.5.35 YY_INPUT second +// paramenter is of type int&, in newer versions it +// changes to size_t& +// +void +Parser::getInput(char* buf, int& result, size_t maxSize) +{ + size_t r = static_cast<size_t>(result); + getInput(buf, r, maxSize); + result = static_cast<int>(r); +} + void -Parser::getInput(char* buf, int& result, int maxSize) +Parser::getInput(char* buf, size_t& result, size_t maxSize) { #ifdef HAVE_READLINE @@ -352,7 +365,7 @@ Parser::getInput(char* buf, int& result, int maxSize) } } - result = static_cast<int>(line.length()); + result = line.length(); if(result > maxSize) { error("input line too long"); diff --git a/cpp/demo/book/map_filesystem/Parser.h b/cpp/demo/book/map_filesystem/Parser.h index 5e33d299a54..262870b41a6 100644 --- a/cpp/demo/book/map_filesystem/Parser.h +++ b/cpp/demo/book/map_filesystem/Parser.h @@ -59,7 +59,13 @@ public: void write(::std::list< ::std::string>&); void destroy(const ::std::list< ::std::string>&); - void getInput(char*, int&, int); + // + // With older flex version <= 2.5.35 YY_INPUT second + // paramenter is of type int&, in newer versions it + // changes to size_t& + // + void getInput(char*, int&, size_t); + void getInput(char*, size_t&, size_t); void continueLine(); const char* getPrompt(); diff --git a/cpp/src/FreezeScript/Makefile b/cpp/src/FreezeScript/Makefile index 4f04a067797..16c527aec77 100644 --- a/cpp/src/FreezeScript/Makefile +++ b/cpp/src/FreezeScript/Makefile @@ -23,7 +23,7 @@ COMMON_OBJS = AssignVisitor.o \ Print.o \ Scanner.o \ Util.o \ - ../FreezeScript/Grammar.o + Grammar.o TRANSFORM_OBJS = TransformAnalyzer.o \ TransformVisitor.o \ @@ -33,7 +33,7 @@ TRANSFORM_OBJS = TransformAnalyzer.o \ DUMP_OBJS = DumpDescriptors.o \ DumpDB.o -objs = $(COMMON_OBJS) $(TRANSFORM_OBJS) $(DUMP_OBJS) +OBJS = $(COMMON_OBJS) $(TRANSFORM_OBJS) $(DUMP_OBJS) HDIR = $(headerdir)/FreezeScript diff --git a/cpp/src/IceGrid/Parser.cpp b/cpp/src/IceGrid/Parser.cpp index 7c2e639ba02..3bb210f2eb8 100644 --- a/cpp/src/IceGrid/Parser.cpp +++ b/cpp/src/IceGrid/Parser.cpp @@ -2554,8 +2554,21 @@ Parser::showWarranty() cout << "This command is not implemented." << endl; } +// +// With older flex version <= 2.5.35 YY_INPUT second +// paramenter is of type int&, in newer versions it +// changes to size_t& +// +void +Parser::getInput(char* buf, int& result, size_t maxSize) +{ + size_t r = static_cast<size_t>(result); + getInput(buf, r, maxSize); + result = static_cast<int>(r); +} + void -Parser::getInput(char* buf, int& result, int maxSize) +Parser::getInput(char* buf, size_t& result, size_t maxSize) { if(!_commands.empty()) { @@ -2565,7 +2578,7 @@ Parser::getInput(char* buf, int& result, int maxSize) } else { - result = min(maxSize, static_cast<int>(_commands.length())); + result = min(maxSize, _commands.length()); strncpy(buf, _commands.c_str(), result); _commands.erase(0, result); if(_commands.empty()) @@ -2630,7 +2643,7 @@ Parser::getInput(char* buf, int& result, int maxSize) } } - result = static_cast<int>(line.length()); + result = line.length(); if(result > maxSize) { error("input line too long"); diff --git a/cpp/src/IceGrid/Parser.h b/cpp/src/IceGrid/Parser.h index bfd08d10438..4b4fe013c7c 100644 --- a/cpp/src/IceGrid/Parser.h +++ b/cpp/src/IceGrid/Parser.h @@ -126,7 +126,13 @@ public: void showCopying(); void showWarranty(); - void getInput(char*, int&, int); + // + // With older flex version <= 2.5.35 YY_INPUT second + // paramenter is of type int&, in newer versions it + // changes to size_t& + // + void getInput(char*, int&, size_t); + void getInput(char*, size_t&, size_t); void continueLine(); const char* getPrompt(); diff --git a/cpp/src/IceStorm/Parser.cpp b/cpp/src/IceStorm/Parser.cpp index 4a9bb4f7ce4..03ed9352372 100644 --- a/cpp/src/IceStorm/Parser.cpp +++ b/cpp/src/IceStorm/Parser.cpp @@ -411,9 +411,9 @@ Parser::showBanner() void Parser::getInput(char* buf, int& result, size_t maxSize) { - size_t r = result; + size_t r = static_cast<size_t>(result); getInput(buf, r, maxSize); - result = r; + result = static_cast<int>(r); } void diff --git a/cpp/test/Freeze/complex/Parser.cpp b/cpp/test/Freeze/complex/Parser.cpp index e71f9a2368c..fd8966c57a9 100644 --- a/cpp/test/Freeze/complex/Parser.cpp +++ b/cpp/test/Freeze/complex/Parser.cpp @@ -64,12 +64,25 @@ Parser::error(const std::string& s) error(s.c_str()); } +// +// With older flex version <= 2.5.35 YY_INPUT second +// paramenter is of type int&, in newer versions it +// changes to size_t& +// +void +Parser::getInput(char* buf, int& result, size_t maxSize) +{ + size_t r = static_cast<size_t>(result); + getInput(buf, r, maxSize); + result = static_cast<int>(r); +} + void -Parser::getInput(char* buf, int& result, int maxSize) +Parser::getInput(char* buf, size_t& result, size_t maxSize) { if(!_buf.empty()) { - result = min(maxSize, static_cast<int>(_buf.length())); + result = min(maxSize, _buf.length()); strncpy(buf, _buf.c_str(), result); _buf.erase(0, result); } diff --git a/cpp/test/Freeze/complex/Parser.h b/cpp/test/Freeze/complex/Parser.h index 4f745d16615..30565151636 100644 --- a/cpp/test/Freeze/complex/Parser.h +++ b/cpp/test/Freeze/complex/Parser.h @@ -65,7 +65,13 @@ public: void error(const char*); void error(const std::string&); - void getInput(char*, int&, int); + // + // With older flex version <= 2.5.35 YY_INPUT second + // paramenter is of type int&, in newer versions it + // changes to size_t& + // + void getInput(char*, int&, size_t); + void getInput(char*, size_t&, size_t); void setResult(const Complex::NodePtr&); private: |