zeroc-ice 3.6.2 → 3.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/bin/slice2rb +0 -0
- data/ext/Slice.cpp +32 -39
- data/ext/ice/cpp/include/Ice/BasicStream.h +15 -4
- data/ext/ice/cpp/include/Ice/BuiltinSequences.h +2 -2
- data/ext/ice/cpp/include/Ice/Communicator.h +2 -2
- data/ext/ice/cpp/include/Ice/CommunicatorF.h +2 -2
- data/ext/ice/cpp/include/Ice/Connection.h +2 -2
- data/ext/ice/cpp/include/Ice/ConnectionF.h +2 -2
- data/ext/ice/cpp/include/Ice/Current.h +2 -2
- data/ext/ice/cpp/include/Ice/Endpoint.h +2 -2
- data/ext/ice/cpp/include/Ice/EndpointF.h +2 -2
- data/ext/ice/cpp/include/Ice/EndpointTypes.h +2 -2
- data/ext/ice/cpp/include/Ice/FacetMap.h +2 -2
- data/ext/ice/cpp/include/Ice/Identity.h +2 -2
- data/ext/ice/cpp/include/Ice/ImplicitContext.h +2 -2
- data/ext/ice/cpp/include/Ice/ImplicitContextF.h +2 -2
- data/ext/ice/cpp/include/Ice/Instrumentation.h +2 -2
- data/ext/ice/cpp/include/Ice/InstrumentationF.h +2 -2
- data/ext/ice/cpp/include/Ice/LocalException.h +2 -2
- data/ext/ice/cpp/include/Ice/Locator.h +2 -2
- data/ext/ice/cpp/include/Ice/LocatorF.h +2 -2
- data/ext/ice/cpp/include/Ice/Logger.h +2 -2
- data/ext/ice/cpp/include/Ice/LoggerF.h +2 -2
- data/ext/ice/cpp/include/Ice/Metrics.h +2 -2
- data/ext/ice/cpp/include/Ice/ObjectAdapter.h +2 -2
- data/ext/ice/cpp/include/Ice/ObjectAdapterF.h +2 -2
- data/ext/ice/cpp/include/Ice/ObjectFactory.h +2 -2
- data/ext/ice/cpp/include/Ice/ObjectFactoryF.h +2 -2
- data/ext/ice/cpp/include/Ice/Plugin.h +2 -2
- data/ext/ice/cpp/include/Ice/PluginF.h +2 -2
- data/ext/ice/cpp/include/Ice/Process.h +2 -2
- data/ext/ice/cpp/include/Ice/ProcessF.h +2 -2
- data/ext/ice/cpp/include/Ice/Properties.h +2 -2
- data/ext/ice/cpp/include/Ice/PropertiesAdmin.h +2 -2
- data/ext/ice/cpp/include/Ice/PropertiesF.h +2 -2
- data/ext/ice/cpp/include/Ice/RemoteLogger.h +2 -2
- data/ext/ice/cpp/include/Ice/Router.h +2 -2
- data/ext/ice/cpp/include/Ice/RouterF.h +2 -2
- data/ext/ice/cpp/include/Ice/ServantLocator.h +2 -2
- data/ext/ice/cpp/include/Ice/ServantLocatorF.h +2 -2
- data/ext/ice/cpp/include/Ice/SliceChecksumDict.h +2 -2
- data/ext/ice/cpp/include/Ice/SlicedData.h +6 -0
- data/ext/ice/cpp/include/Ice/Version.h +2 -2
- data/ext/ice/cpp/include/IceSSL/ConnectionInfo.h +2 -2
- data/ext/ice/cpp/include/IceSSL/EndpointInfo.h +2 -2
- data/ext/ice/cpp/include/IceUtil/Config.h +86 -26
- data/ext/ice/cpp/include/IceUtil/IconvStringConverter.h +1 -1
- data/ext/ice/cpp/include/IceUtil/Time.h +3 -2
- data/ext/ice/cpp/include/Slice/PythonUtil.h +1 -1
- data/ext/ice/cpp/include/Slice/RubyUtil.h +1 -1
- data/ext/ice/cpp/include/Slice/Util.h +5 -0
- data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Communicator.cpp +2 -2
- data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Connection.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ConnectionF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ConnectionFactory.cpp +57 -42
- data/ext/ice/cpp/src/Ice/ConnectionFactory.h +2 -0
- data/ext/ice/cpp/src/Ice/Current.cpp +2 -2
- data/ext/ice/cpp/src/Ice/DynamicLibrary.cpp +9 -5
- data/ext/ice/cpp/src/Ice/Endpoint.cpp +2 -2
- data/ext/ice/cpp/src/Ice/EndpointF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +2 -2
- data/ext/ice/cpp/src/Ice/FacetMap.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Identity.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Incoming.cpp +11 -4
- data/ext/ice/cpp/src/Ice/Instance.cpp +4 -2
- data/ext/ice/cpp/src/Ice/Instrumentation.cpp +2 -2
- data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/InstrumentationI.cpp +1 -3
- data/ext/ice/cpp/src/Ice/LocalException.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Locator.cpp +2 -2
- data/ext/ice/cpp/src/Ice/LocatorF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Logger.cpp +2 -2
- data/ext/ice/cpp/src/Ice/LoggerF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/LoggerI.cpp +94 -5
- data/ext/ice/cpp/src/Ice/LoggerI.h +7 -1
- data/ext/ice/cpp/src/Ice/Metrics.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Network.cpp +23 -7
- data/ext/ice/cpp/src/Ice/Network.h +1 -1
- data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ObjectFactoryF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Plugin.cpp +2 -2
- data/ext/ice/cpp/src/Ice/PluginF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/PluginManagerI.cpp +5 -0
- data/ext/ice/cpp/src/Ice/Process.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ProcessF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Properties.cpp +2 -2
- data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +2 -2
- data/ext/ice/cpp/src/Ice/PropertiesF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/PropertyNames.cpp +4 -3
- data/ext/ice/cpp/src/Ice/PropertyNames.h +1 -1
- data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +2 -2
- data/ext/ice/cpp/src/Ice/RetryQueue.cpp +1 -1
- data/ext/ice/cpp/src/Ice/Router.cpp +2 -2
- data/ext/ice/cpp/src/Ice/RouterF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ServantLocator.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +2 -2
- data/ext/ice/cpp/src/Ice/StreamSocket.cpp +19 -3
- data/ext/ice/cpp/src/Ice/Version.cpp +2 -2
- data/ext/ice/cpp/src/Ice/WSConnector.h +2 -2
- data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +2 -2
- data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +2 -2
- data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +2 -2
- data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +2 -2
- data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +2 -2
- data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +2 -2
- data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +54 -39
- data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +5 -8
- data/ext/ice/cpp/src/IceSSL/Util.cpp +155 -4
- data/ext/ice/cpp/src/IceUtil/Cond.cpp +1 -1
- data/ext/ice/cpp/src/IceUtil/FileUtil.cpp +8 -0
- data/ext/ice/cpp/src/IceUtil/FileUtil.h +18 -5
- data/ext/ice/cpp/src/IceUtil/OutputUtil.cpp +5 -5
- data/ext/ice/cpp/src/IceUtil/Time.cpp +25 -17
- data/ext/ice/cpp/src/Slice/JavaUtil.cpp +5 -11
- data/ext/ice/cpp/src/Slice/Preprocessor.cpp +3 -3
- data/ext/ice/cpp/src/Slice/Python.cpp +14 -17
- data/ext/ice/cpp/src/Slice/PythonUtil.cpp +183 -48
- data/ext/ice/cpp/src/Slice/Ruby.cpp +6 -6
- data/ext/ice/cpp/src/Slice/RubyUtil.cpp +0 -10
- data/ext/ice/cpp/src/Slice/Util.cpp +28 -3
- data/ext/ice/mcpp/Makefile +10 -6
- data/ext/ice/mcpp/configed.H +3 -0
- data/ext/ice/mcpp/main.c +2 -2
- data/ext/ice/mcpp/mcpp.gyp +6 -0
- data/ext/ice/mcpp/support.c +1 -1
- data/ext/ice/mcpp/system.H +6 -1
- data/ext/ice/mcpp/system.c +52 -15
- data/ice.gemspec +1 -1
- data/lib/Glacier2/Metrics.rb +1 -1
- data/lib/Glacier2/PermissionsVerifier.rb +1 -1
- data/lib/Glacier2/PermissionsVerifierF.rb +1 -1
- data/lib/Glacier2/Router.rb +1 -1
- data/lib/Glacier2/RouterF.rb +1 -1
- data/lib/Glacier2/SSLInfo.rb +1 -1
- data/lib/Glacier2/Session.rb +1 -1
- data/lib/Ice/BuiltinSequences.rb +1 -1
- data/lib/Ice/Communicator.rb +1 -1
- data/lib/Ice/CommunicatorF.rb +1 -1
- data/lib/Ice/Connection.rb +1 -1
- data/lib/Ice/ConnectionF.rb +1 -1
- data/lib/Ice/Current.rb +1 -1
- data/lib/Ice/Endpoint.rb +1 -1
- data/lib/Ice/EndpointF.rb +1 -1
- data/lib/Ice/EndpointTypes.rb +1 -1
- data/lib/Ice/FacetMap.rb +1 -1
- data/lib/Ice/Identity.rb +1 -1
- data/lib/Ice/ImplicitContext.rb +1 -1
- data/lib/Ice/ImplicitContextF.rb +1 -1
- data/lib/Ice/Instrumentation.rb +1 -1
- data/lib/Ice/InstrumentationF.rb +1 -1
- data/lib/Ice/LocalException.rb +1 -1
- data/lib/Ice/Locator.rb +1 -1
- data/lib/Ice/LocatorF.rb +1 -1
- data/lib/Ice/Logger.rb +1 -1
- data/lib/Ice/LoggerF.rb +1 -1
- data/lib/Ice/Metrics.rb +1 -1
- data/lib/Ice/ObjectAdapterF.rb +1 -1
- data/lib/Ice/ObjectFactory.rb +1 -1
- data/lib/Ice/ObjectFactoryF.rb +1 -1
- data/lib/Ice/Plugin.rb +1 -1
- data/lib/Ice/PluginF.rb +1 -1
- data/lib/Ice/Process.rb +1 -1
- data/lib/Ice/ProcessF.rb +1 -1
- data/lib/Ice/Properties.rb +1 -1
- data/lib/Ice/PropertiesAdmin.rb +1 -1
- data/lib/Ice/PropertiesF.rb +1 -1
- data/lib/Ice/RemoteLogger.rb +1 -1
- data/lib/Ice/Router.rb +1 -1
- data/lib/Ice/RouterF.rb +1 -1
- data/lib/Ice/SliceChecksumDict.rb +1 -1
- data/lib/Ice/Version.rb +1 -1
- data/lib/IceBox/IceBox.rb +1 -1
- data/lib/IceGrid/Admin.rb +1 -1
- data/lib/IceGrid/Descriptor.rb +1 -1
- data/lib/IceGrid/Exception.rb +1 -1
- data/lib/IceGrid/FileParser.rb +1 -1
- data/lib/IceGrid/Locator.rb +1 -1
- data/lib/IceGrid/Observer.rb +1 -1
- data/lib/IceGrid/Query.rb +1 -1
- data/lib/IceGrid/Registry.rb +1 -1
- data/lib/IceGrid/Session.rb +1 -1
- data/lib/IceGrid/UserAccountMapper.rb +1 -1
- data/lib/IcePatch2/FileInfo.rb +1 -1
- data/lib/IcePatch2/FileServer.rb +1 -1
- data/lib/IceStorm/IceStorm.rb +1 -1
- data/lib/IceStorm/Metrics.rb +1 -1
- data/slice/Glacier2/PermissionsVerifier.ice +0 -3
- data/slice/Glacier2/Session.ice +2 -9
- data/slice/Ice/Communicator.ice +3 -3
- data/slice/Ice/ImplicitContext.ice +4 -5
- data/slice/Ice/Instrumentation.ice +26 -26
- data/slice/Ice/LocalException.ice +1 -1
- data/slice/Ice/Locator.ice +5 -3
- data/slice/Ice/Metrics.ice +1 -1
- data/slice/Ice/ObjectFactory.ice +0 -2
- data/slice/Ice/RemoteLogger.ice +32 -32
- data/slice/Ice/Router.ice +3 -0
- data/slice/IceGrid/Session.ice +5 -9
- data/slice/IceLocatorDiscovery/IceLocatorDiscovery.ice +7 -7
- data/slice/IcePatch2/FileServer.ice +28 -34
- metadata +30 -30
|
@@ -56,10 +56,10 @@ interruptedCallback(int /*signal*/)
|
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
void
|
|
59
|
-
usage(const
|
|
59
|
+
usage(const string& n)
|
|
60
60
|
{
|
|
61
61
|
getErrorStream() << "Usage: " << n << " [options] slice-files...\n";
|
|
62
|
-
getErrorStream() <<
|
|
62
|
+
getErrorStream() <<
|
|
63
63
|
"Options:\n"
|
|
64
64
|
"-h, --help Show this message.\n"
|
|
65
65
|
"-v, --version Display the Ice version.\n"
|
|
@@ -83,7 +83,7 @@ usage(const char* n)
|
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
int
|
|
86
|
-
Slice::Ruby::compile(
|
|
86
|
+
Slice::Ruby::compile(const vector<string>& argv)
|
|
87
87
|
{
|
|
88
88
|
IceUtilInternal::Options opts;
|
|
89
89
|
opts.addOpt("h", "help");
|
|
@@ -101,11 +101,11 @@ Slice::Ruby::compile(int argc, char* argv[])
|
|
|
101
101
|
opts.addOpt("", "underscore");
|
|
102
102
|
opts.addOpt("", "all");
|
|
103
103
|
opts.addOpt("", "checksum");
|
|
104
|
-
|
|
104
|
+
|
|
105
105
|
vector<string> args;
|
|
106
106
|
try
|
|
107
107
|
{
|
|
108
|
-
args = opts.parse(
|
|
108
|
+
args = opts.parse(argv);
|
|
109
109
|
}
|
|
110
110
|
catch(const IceUtilInternal::BadOptException& e)
|
|
111
111
|
{
|
|
@@ -222,7 +222,7 @@ Slice::Ruby::compile(int argc, char* argv[])
|
|
|
222
222
|
return EXIT_FAILURE;
|
|
223
223
|
}
|
|
224
224
|
|
|
225
|
-
if(!icecpp->printMakefileDependencies(out.os(), depend ? Preprocessor::Ruby : Preprocessor::SliceXML, includePaths,
|
|
225
|
+
if(!icecpp->printMakefileDependencies(out.os(), depend ? Preprocessor::Ruby : Preprocessor::SliceXML, includePaths,
|
|
226
226
|
"-D__SLICE2RB__"))
|
|
227
227
|
{
|
|
228
228
|
out.cleanup();
|
|
@@ -245,17 +245,7 @@ Slice::Ruby::CodeVisitor::visitClassDefStart(const ClassDefPtr& p)
|
|
|
245
245
|
//
|
|
246
246
|
ClassList allBases = p->allBases();
|
|
247
247
|
StringList ids;
|
|
248
|
-
#if defined(__IBMCPP__) && defined(NDEBUG)
|
|
249
|
-
//
|
|
250
|
-
// VisualAge C++ 6.0 does not see that ClassDef is a Contained,
|
|
251
|
-
// when inlining is on. The code below issues a warning: better
|
|
252
|
-
// than an error!
|
|
253
|
-
//
|
|
254
|
-
transform(allBases.begin(), allBases.end(), back_inserter(ids),
|
|
255
|
-
IceUtil::constMemFun<string,ClassDef>(&Contained::scoped));
|
|
256
|
-
#else
|
|
257
248
|
transform(allBases.begin(), allBases.end(), back_inserter(ids), IceUtil::constMemFun(&Contained::scoped));
|
|
258
|
-
#endif
|
|
259
249
|
StringList other;
|
|
260
250
|
other.push_back(scoped);
|
|
261
251
|
other.push_back("::Ice::Object");
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
#include <Slice/Util.h>
|
|
11
11
|
#include <IceUtil/FileUtil.h>
|
|
12
12
|
#include <IceUtil/StringUtil.h>
|
|
13
|
+
#include <IceUtil/StringConverter.h>
|
|
13
14
|
#include <climits>
|
|
14
15
|
|
|
15
16
|
#ifndef _MSC_VER
|
|
@@ -172,11 +173,11 @@ Slice::changeInclude(const string& path, const vector<string>& includePaths)
|
|
|
172
173
|
{
|
|
173
174
|
paths.push_back(canonicalPath);
|
|
174
175
|
}
|
|
175
|
-
|
|
176
|
+
|
|
176
177
|
for(vector<string>::const_iterator i = paths.begin(); i != paths.end(); ++i)
|
|
177
178
|
{
|
|
178
179
|
for(vector<string>::const_iterator j = includePaths.begin(); j != includePaths.end(); ++j)
|
|
179
|
-
{
|
|
180
|
+
{
|
|
180
181
|
if(i->compare(0, j->length(), *j) == 0)
|
|
181
182
|
{
|
|
182
183
|
string s = i->substr(j->length() + 1); // + 1 for the '/'
|
|
@@ -186,7 +187,7 @@ Slice::changeInclude(const string& path, const vector<string>& includePaths)
|
|
|
186
187
|
}
|
|
187
188
|
}
|
|
188
189
|
}
|
|
189
|
-
|
|
190
|
+
|
|
190
191
|
//
|
|
191
192
|
// If the path has been already shortened no need to test
|
|
192
193
|
// with canonical path.
|
|
@@ -430,3 +431,27 @@ Slice::DependOutputUtil::os()
|
|
|
430
431
|
{
|
|
431
432
|
return _file.empty() ? cout : _os;
|
|
432
433
|
}
|
|
434
|
+
|
|
435
|
+
#ifdef _WIN32
|
|
436
|
+
vector<string>
|
|
437
|
+
Slice::argvToArgs(int argc, wchar_t* argv[])
|
|
438
|
+
{
|
|
439
|
+
vector<string> args;
|
|
440
|
+
for(int i = 0; i < argc; i++)
|
|
441
|
+
{
|
|
442
|
+
args.push_back(IceUtil::wstringToString(argv[i]));
|
|
443
|
+
}
|
|
444
|
+
return args;
|
|
445
|
+
}
|
|
446
|
+
#else
|
|
447
|
+
vector<string>
|
|
448
|
+
Slice::argvToArgs(int argc, char* argv[])
|
|
449
|
+
{
|
|
450
|
+
vector<string> args;
|
|
451
|
+
for(int i = 0; i < argc; i++)
|
|
452
|
+
{
|
|
453
|
+
args.push_back(argv[i]);
|
|
454
|
+
}
|
|
455
|
+
return args;
|
|
456
|
+
}
|
|
457
|
+
#endif
|
data/ext/ice/mcpp/Makefile
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
#
|
|
5
5
|
# **********************************************************************
|
|
6
6
|
|
|
7
|
-
PREFIX
|
|
7
|
+
PREFIX ?= /opt/mcpp-2.7.2
|
|
8
8
|
|
|
9
9
|
CFLAGS += -O -w
|
|
10
10
|
|
|
@@ -18,9 +18,9 @@ ifeq ($(UNAME),Darwin)
|
|
|
18
18
|
endif
|
|
19
19
|
|
|
20
20
|
ifeq ($(UNAME),Linux)
|
|
21
|
-
|
|
21
|
+
CFLAGS += -fPIC
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
ifeq ($(MACHINE),i686)
|
|
24
24
|
CFLAGS += -m32
|
|
25
25
|
|
|
26
26
|
#
|
|
@@ -29,7 +29,7 @@ ifeq ($(UNAME),Linux)
|
|
|
29
29
|
ifeq ($(shell test -d /usr/lib/i386-linux-gnu && echo 0),0)
|
|
30
30
|
LIBDIR = lib/i386-linux-gnu
|
|
31
31
|
endif
|
|
32
|
-
|
|
32
|
+
else
|
|
33
33
|
#
|
|
34
34
|
# Ubuntu.
|
|
35
35
|
#
|
|
@@ -43,14 +43,18 @@ ifeq ($(UNAME),Linux)
|
|
|
43
43
|
ifeq ($(shell test -d /usr/lib64 && echo 0),0)
|
|
44
44
|
LIBDIR = lib64
|
|
45
45
|
endif
|
|
46
|
-
|
|
46
|
+
endif
|
|
47
|
+
endif
|
|
48
|
+
|
|
49
|
+
ifeq ($(UNAME),AIX)
|
|
50
|
+
CC ?= xlc_r
|
|
47
51
|
endif
|
|
48
52
|
|
|
49
53
|
#
|
|
50
54
|
# The default C compiler (cc) is undefined with MinGW
|
|
51
55
|
#
|
|
52
56
|
ifneq ($(findstring MINGW,$(UNAME)),)
|
|
53
|
-
|
|
57
|
+
CC ?= gcc
|
|
54
58
|
endif
|
|
55
59
|
|
|
56
60
|
OBJS = directive.o eval.o expand.o main.o mbchar.o support.o system.o
|
data/ext/ice/mcpp/configed.H
CHANGED
data/ext/ice/mcpp/main.c
CHANGED
|
@@ -307,7 +307,7 @@ int mcpp_lib_main
|
|
|
307
307
|
|
|
308
308
|
/* Open input file, "-" means stdin. */
|
|
309
309
|
if (in_file != NULL && ! str_eq( in_file, "-")) {
|
|
310
|
-
if ((fp_in =
|
|
310
|
+
if ((fp_in = mcpp_fopen( in_file, "r")) == NULL) {
|
|
311
311
|
mcpp_fprintf( ERR, "Can't open input file \"%s\".\n", in_file);
|
|
312
312
|
errors++;
|
|
313
313
|
goto fatal_error_exit;
|
|
@@ -317,7 +317,7 @@ int mcpp_lib_main
|
|
|
317
317
|
}
|
|
318
318
|
/* Open output file, "-" means stdout. */
|
|
319
319
|
if (out_file != NULL && ! str_eq( out_file, "-")) {
|
|
320
|
-
if ((fp_out =
|
|
320
|
+
if ((fp_out = mcpp_fopen( out_file, "w")) == NULL) {
|
|
321
321
|
mcpp_fprintf( ERR, "Can't open output file \"%s\".\n", out_file);
|
|
322
322
|
errors++;
|
|
323
323
|
goto fatal_error_exit;
|
data/ext/ice/mcpp/mcpp.gyp
CHANGED
data/ext/ice/mcpp/support.c
CHANGED
|
@@ -1033,7 +1033,7 @@ int get_ch( void)
|
|
|
1033
1033
|
cur_fullname = infile->full_fname;
|
|
1034
1034
|
cur_fname = infile->real_fname; /* Restore current fname*/
|
|
1035
1035
|
if (infile->pos != 0L) { /* Includer was closed */
|
|
1036
|
-
infile->fp =
|
|
1036
|
+
infile->fp = mcpp_fopen( cur_fullname, "r");
|
|
1037
1037
|
fseek( infile->fp, infile->pos, SEEK_SET);
|
|
1038
1038
|
} /* Re-open the includer and restore the file-position */
|
|
1039
1039
|
len = (int) (infile->bptr - infile->buffer);
|
data/ext/ice/mcpp/system.H
CHANGED
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
*/
|
|
71
71
|
|
|
72
72
|
/*
|
|
73
|
-
* The variable 'mcpp_mode' specifies the mode of preprocessing as one of
|
|
73
|
+
* The variable 'mcpp_mode' specifies the mode of preprocessing as one of
|
|
74
74
|
* OLD_PREP, KR, STD, or POST_STD.
|
|
75
75
|
* Those modes have many differences each other --
|
|
76
76
|
* i.e. handling of translation phases; handling of some
|
|
@@ -371,3 +371,8 @@ typedef long expr_t;
|
|
|
371
371
|
*/
|
|
372
372
|
#define CPLUS 1 /* 199711L for C++ Standard */
|
|
373
373
|
|
|
374
|
+
|
|
375
|
+
//
|
|
376
|
+
// helper methods to open files using UNICODE paths
|
|
377
|
+
//
|
|
378
|
+
FILE* mcpp_fopen(const char *filename, const char *mode);
|
data/ext/ice/mcpp/system.c
CHANGED
|
@@ -36,6 +36,7 @@
|
|
|
36
36
|
* 1. specify the constants in "configed.H" or "noconfig.H",
|
|
37
37
|
* 2. append the system-dependent routines in this file.
|
|
38
38
|
*/
|
|
39
|
+
|
|
39
40
|
#include "system.H"
|
|
40
41
|
#include "internal.H"
|
|
41
42
|
|
|
@@ -414,9 +415,9 @@ opt_search: ;
|
|
|
414
415
|
set_sys_dirs( set_cplus_dir);
|
|
415
416
|
|
|
416
417
|
if (mkdep_mf) { /* -MF overrides -MD */
|
|
417
|
-
mkdep_fp =
|
|
418
|
+
mkdep_fp = mcpp_fopen( mkdep_mf, "w");
|
|
418
419
|
} else if (mkdep_md) {
|
|
419
|
-
mkdep_fp =
|
|
420
|
+
mkdep_fp = mcpp_fopen( mkdep_md, "w");
|
|
420
421
|
}
|
|
421
422
|
if (mkdep_mq) /* -MQ overrides -MT */
|
|
422
423
|
mkdep_target = mkdep_mq;
|
|
@@ -580,7 +581,7 @@ static void def_a_macro(
|
|
|
580
581
|
skip_nl(); /* Clear the appended <newline> */
|
|
581
582
|
}
|
|
582
583
|
|
|
583
|
-
static void chk_opts(
|
|
584
|
+
static void chk_opts(
|
|
584
585
|
int sflag, /* Flag of Standard or post-Standard mode */
|
|
585
586
|
int trad /* -traditional (GCC only) */
|
|
586
587
|
)
|
|
@@ -835,7 +836,7 @@ static void set_sys_dirs(
|
|
|
835
836
|
set_a_dir( "/usr/local/include");
|
|
836
837
|
#endif
|
|
837
838
|
|
|
838
|
-
#ifdef C_INCLUDE_DIR1
|
|
839
|
+
#ifdef C_INCLUDE_DIR1
|
|
839
840
|
set_a_dir( C_INCLUDE_DIR1);
|
|
840
841
|
#endif
|
|
841
842
|
#ifdef C_INCLUDE_DIR2
|
|
@@ -882,7 +883,7 @@ static void set_a_dir(
|
|
|
882
883
|
incdir = (const char **) xrealloc( (void *) incdir
|
|
883
884
|
, sizeof (char *) * max_inc * 2);
|
|
884
885
|
incend = &incdir[ max_inc];
|
|
885
|
-
max_inc *= 2;
|
|
886
|
+
max_inc *= 2;
|
|
886
887
|
}
|
|
887
888
|
|
|
888
889
|
if (dirname == NULL)
|
|
@@ -1140,7 +1141,7 @@ static char * norm_path(
|
|
|
1140
1141
|
} else { /* Impossible */
|
|
1141
1142
|
break;
|
|
1142
1143
|
}
|
|
1143
|
-
} else { /* Impossible */
|
|
1144
|
+
} else { /* Impossible */
|
|
1144
1145
|
break;
|
|
1145
1146
|
}
|
|
1146
1147
|
}
|
|
@@ -1348,7 +1349,7 @@ void put_depend(
|
|
|
1348
1349
|
}
|
|
1349
1350
|
|
|
1350
1351
|
static char * md_init(
|
|
1351
|
-
const char * filename, /* The source file name */
|
|
1352
|
+
const char * filename, /* The source file name */
|
|
1352
1353
|
char * output /* Output to dependency file */
|
|
1353
1354
|
)
|
|
1354
1355
|
/*
|
|
@@ -1379,7 +1380,7 @@ static char * md_init(
|
|
|
1379
1380
|
if (! mkdep_fp) { /* Unless already opened by -MF, -MD, -MMD options */
|
|
1380
1381
|
if (mkdep & MD_FILE) {
|
|
1381
1382
|
strcpy( cp, "d");
|
|
1382
|
-
mkdep_fp =
|
|
1383
|
+
mkdep_fp = mcpp_fopen(prefix, "w");
|
|
1383
1384
|
} else {
|
|
1384
1385
|
mkdep_fp = fp_out; /* Output dependency line to normal output */
|
|
1385
1386
|
no_output++; /* Without normal output */
|
|
@@ -1617,7 +1618,7 @@ static int has_directory(
|
|
|
1617
1618
|
)
|
|
1618
1619
|
/*
|
|
1619
1620
|
* If a directory is found in the 'source' filename string (i.e. "includer"),
|
|
1620
|
-
* the directory part of the string is copied to 'directory' and
|
|
1621
|
+
* the directory part of the string is copied to 'directory' and
|
|
1621
1622
|
* has_directory() returns TRUE.
|
|
1622
1623
|
* Else, nothing is copied and it returns FALSE.
|
|
1623
1624
|
*/
|
|
@@ -1734,10 +1735,10 @@ static int open_file(
|
|
|
1734
1735
|
return FALSE;
|
|
1735
1736
|
if (included( fullname)) /* Once included */
|
|
1736
1737
|
goto true;
|
|
1737
|
-
|
|
1738
|
+
|
|
1738
1739
|
if ((max_open != 0 && max_open <= include_nest)
|
|
1739
1740
|
/* Exceed the known limit of open files */
|
|
1740
|
-
|| ((fp =
|
|
1741
|
+
|| ((fp = mcpp_fopen( fullname, "r")) == NULL && errno == EMFILE)) {
|
|
1741
1742
|
/* Reached the limit for the first time */
|
|
1742
1743
|
if (mcpp_debug & PATH) {
|
|
1743
1744
|
#if HOST_COMPILER == BORLANDC
|
|
@@ -1757,14 +1758,14 @@ static int open_file(
|
|
|
1757
1758
|
file->pos = ftell( file->fp);
|
|
1758
1759
|
fclose( file->fp);
|
|
1759
1760
|
/* In case of failure, re-open the includer */
|
|
1760
|
-
if ((fp =
|
|
1761
|
-
file->fp =
|
|
1761
|
+
if ((fp = mcpp_fopen( fullname, "r")) == NULL) {
|
|
1762
|
+
file->fp = mcpp_fopen( cur_fullname, "r");
|
|
1762
1763
|
fseek( file->fp, file->pos, SEEK_SET);
|
|
1763
1764
|
goto false;
|
|
1764
1765
|
}
|
|
1765
1766
|
if (max_open == 0) /* Remember the limit of the system */
|
|
1766
1767
|
max_open = include_nest;
|
|
1767
|
-
} else if (fp == NULL) /* No read permission */
|
|
1768
|
+
} else if (fp == NULL) /* No read permission */
|
|
1768
1769
|
goto false;
|
|
1769
1770
|
/* Truncate buffer of the includer to save memory */
|
|
1770
1771
|
len = (int) (file->bptr - file->buffer);
|
|
@@ -1821,7 +1822,7 @@ void add_file(
|
|
|
1821
1822
|
FILEINFO * file;
|
|
1822
1823
|
const char * too_many_include_nest =
|
|
1823
1824
|
"More than %.0s%ld nesting of #include"; /* _F_ _W4_ */
|
|
1824
|
-
|
|
1825
|
+
|
|
1825
1826
|
//
|
|
1826
1827
|
// When encoding is UTF-8, skip BOM if present.
|
|
1827
1828
|
//
|
|
@@ -2698,3 +2699,39 @@ void clear_filelist( void)
|
|
|
2698
2699
|
free( (void *) fnamelist);
|
|
2699
2700
|
free( (void *) once_list);
|
|
2700
2701
|
}
|
|
2702
|
+
|
|
2703
|
+
#ifdef _WIN32
|
|
2704
|
+
# include <Windows.h>
|
|
2705
|
+
#endif
|
|
2706
|
+
|
|
2707
|
+
FILE* mcpp_fopen(const char* filename, const char* mode)
|
|
2708
|
+
{
|
|
2709
|
+
#ifdef _WIN32
|
|
2710
|
+
FILE* f = 0;
|
|
2711
|
+
if(filename && mode)
|
|
2712
|
+
{
|
|
2713
|
+
int wfilenameLength = strlen(filename) + 1;
|
|
2714
|
+
wchar_t* wfilename = malloc(wfilenameLength * sizeof(wchar_t));
|
|
2715
|
+
if(wfilename)
|
|
2716
|
+
{
|
|
2717
|
+
if(MultiByteToWideChar(CP_UTF8, 0, filename, -1, wfilename, wfilenameLength))
|
|
2718
|
+
{
|
|
2719
|
+
int wmodeLength = strlen(mode) + 1;
|
|
2720
|
+
wchar_t* wmode = malloc(wmodeLength * sizeof(wchar_t));
|
|
2721
|
+
if(wmode)
|
|
2722
|
+
{
|
|
2723
|
+
if(MultiByteToWideChar(CP_UTF8, 0, mode, -1, wmode, wmodeLength))
|
|
2724
|
+
{
|
|
2725
|
+
_wfopen_s(&f, wfilename, wmode);
|
|
2726
|
+
}
|
|
2727
|
+
free(wmode);
|
|
2728
|
+
}
|
|
2729
|
+
}
|
|
2730
|
+
free(wfilename);
|
|
2731
|
+
}
|
|
2732
|
+
}
|
|
2733
|
+
return f;
|
|
2734
|
+
#else
|
|
2735
|
+
return fopen(filename, mode);
|
|
2736
|
+
#endif
|
|
2737
|
+
}
|
data/ice.gemspec
CHANGED
data/lib/Glacier2/Metrics.rb
CHANGED