--- a/UnixOperatingSystem.st Tue May 19 06:55:39 2015 +0200
+++ b/UnixOperatingSystem.st Wed May 20 06:35:13 2015 +0200
@@ -5968,7 +5968,7 @@
int sigNo = signalNumber.intValue();
if (sigNo != 0) {
- System.err.println("ignored disable-signal: "+sigNo);
+ java.lang.System.err.println("ignored disable-signal: "+sigNo);
}
return context._RETURN(self);
}
@@ -6163,7 +6163,7 @@
int sigNo = signalNumber.intValue();
if (sigNo != 0) {
- System.err.println("ignored enable-signal: "+sigNo);
+ java.lang.System.err.println("ignored enable-signal: "+sigNo);
}
return context._RETURN(self);
}
@@ -6391,7 +6391,7 @@
if (milliSeconds.isSmallInteger()) {
long millis = milliSeconds.longValue();
- System.err.println("ignored enable-timer");
+ java.lang.System.err.println("ignored enable-timer");
return context._RETURN(self);
}
#else
@@ -7193,7 +7193,7 @@
%{ /* NOCONTEXT */
#ifdef __SCHTEAM__
{
- java.lang.String val = System.getenv( aStringOrSymbol.asString() );
+ java.lang.String val = java.lang.System.getenv( aStringOrSymbol.asString() );
STObject retVal;
if (val == null) {
@@ -9804,7 +9804,7 @@
%{
#ifdef __SCHTEAM__
{
- long nanos = System.nanoTime();
+ long nanos = java.lang.System.nanoTime();
return context._RETURN( STInteger._new(nanos / 1000) );
}
@@ -9903,7 +9903,7 @@
%{ /* NOCONTEXT */
#ifdef __SCHTEAM__
{
- long millis = System.currentTimeMillis();
+ long millis = java.lang.System.currentTimeMillis();
return context._RETURN( STInteger._new(millis) );
}
/* NOTREACHED */
@@ -10113,10 +10113,44 @@
OS-second value.
An internal helper"
- |year month day hours minutes seconds utcOffset
+ |year month day hours minutes seconds utcOffset dstOffset
dst yDay wDay info|
%{
+#ifdef __SCHTEAM__
+ if (osSeconds.isSmallInteger()
+ && osMilliseconds.isSmallInteger()) {
+ long _seconds = osSeconds.longValue();
+ long _millis = osMilliseconds.longValue();
+ long _millisSinceEpoch = _seconds * 1000 + _millis;
+ java.util.TimeZone _tz;
+ java.util.Calendar _calendar;
+ int _wDay;
+
+ if (isLocalTime == STObject.True) {
+ _tz = java.util.TimeZone.getDefault();
+ } else {
+ _tz = java.util.TimeZone.getTimeZone("UTC");
+ }
+ _calendar = java.util.Calendar.getInstance(_tz);
+ _calendar.setTimeInMillis(_millisSinceEpoch);
+
+ year = STInteger._new( _calendar.get(java.util.Calendar.YEAR) );
+ month = STInteger._new( _calendar.get(java.util.Calendar.MONTH) + 1 );
+ day = STInteger._new( _calendar.get(java.util.Calendar.DAY_OF_MONTH) );
+ hours = STInteger._new( _calendar.get(java.util.Calendar.HOUR_OF_DAY) );
+ minutes = STInteger._new( _calendar.get(java.util.Calendar.MINUTE) );
+ seconds = STInteger._new( _calendar.get(java.util.Calendar.SECOND) );
+ yDay = STInteger._new( _calendar.get(java.util.Calendar.DAY_OF_YEAR) );
+ _wDay = _calendar.get(java.util.Calendar.DAY_OF_WEEK);
+ // convert from 1=SUN, 2=MON,...
+ // to 1=MON, 2=TUE,...
+ _wDay = _wDay - 1; if (_wDay < 1) _wDay += 7;
+ wDay = STInteger._new( _wDay );
+ utcOffset = STInteger._new( (_calendar.get(java.util.Calendar.ZONE_OFFSET)) / 1000 );
+ dstOffset = STInteger._new( (_calendar.get(java.util.Calendar.DST_OFFSET)) / 1000 );
+ }
+#else
struct tm tmValue, *result;
time_t tt = __signedLongIntVal(osSeconds);
@@ -10155,6 +10189,7 @@
dst = (tmValue.tm_isdst == 0 ? false : true);
}
out:;
+#endif
%}.
info notNil ifTrue:[
"there is a matching cached value"
@@ -10167,7 +10202,9 @@
year isNil ifTrue:[
TimeConversionError raiseErrorString:' - out of range'.
].
-
+ dst isNil ifTrue:[
+ dst := (dstOffset ~= 0)
+ ].
info := self timeInfoClass new.
info
year:year
@@ -14384,11 +14421,11 @@
!UnixOperatingSystem class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/UnixOperatingSystem.st,v 1.439 2015-05-16 09:47:43 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/UnixOperatingSystem.st,v 1.440 2015-05-19 13:41:07 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic/UnixOperatingSystem.st,v 1.439 2015-05-16 09:47:43 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/UnixOperatingSystem.st,v 1.440 2015-05-19 13:41:07 cg Exp $'
! !