57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
void
_reference_to_OFWin32ConsoleStdIOStream(void)
{
[OFWin32ConsoleStdIOStream class];
}
#endif
OFStdIOStream *of_stdin = nil;
OFStdIOStream *of_stdout = nil;
OFStdIOStream *of_stderr = nil;
#ifdef OF_AMIGAOS
OF_DESTRUCTOR()
{
[of_stdin dealloc];
[of_stdout dealloc];
[of_stderr dealloc];
}
#endif
void
of_log(OFConstantString *format, ...)
{
void *pool = objc_autoreleasePoolPush();
OFDate *date;
OFString *dateString, *me, *msg;
va_list arguments;
date = [OFDate date];
dateString = [date localDateStringWithFormat: @"%Y-%m-%d %H:%M:%S"];
#ifdef OF_HAVE_FILES
me = [OFApplication programName].lastPathComponent;
#else
me = [OFApplication programName];
#endif
va_start(arguments, format);
msg = [[[OFString alloc] initWithFormat: format
arguments: arguments] autorelease];
va_end(arguments);
[of_stderr writeFormat: @"[%@.%03d %@(%d)] %@\n", dateString,
date.microsecond / 1000, me, getpid(), msg];
objc_autoreleasePoolPop(pool);
}
#ifdef HAVE_ISATTY
static int
colorToANSI(OFColor *color)
|
|
|
|
|
|
|
|
|
|
|
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
void
_reference_to_OFWin32ConsoleStdIOStream(void)
{
[OFWin32ConsoleStdIOStream class];
}
#endif
OFStdIOStream *OFStdIn = nil;
OFStdIOStream *OFStdOut = nil;
OFStdIOStream *OFStdErr = nil;
#ifdef OF_AMIGAOS
OF_DESTRUCTOR()
{
[OFStdIn dealloc];
[OFStdOut dealloc];
[OFStdErr dealloc];
}
#endif
void
OFLog(OFConstantString *format, ...)
{
void *pool = objc_autoreleasePoolPush();
OFDate *date;
OFString *dateString, *me, *msg;
va_list arguments;
date = [OFDate date];
dateString = [date localDateStringWithFormat: @"%Y-%m-%d %H:%M:%S"];
#ifdef OF_HAVE_FILES
me = [OFApplication programName].lastPathComponent;
#else
me = [OFApplication programName];
#endif
va_start(arguments, format);
msg = [[[OFString alloc] initWithFormat: format
arguments: arguments] autorelease];
va_end(arguments);
[OFStdErr writeFormat: @"[%@.%03d %@(%d)] %@\n", dateString,
date.microsecond / 1000, me, getpid(), msg];
objc_autoreleasePoolPop(pool);
}
#ifdef HAVE_ISATTY
static int
colorToANSI(OFColor *color)
|
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
|
if (self != [OFStdIOStream class])
return;
# ifndef OF_AMIGAOS
int fd;
if ((fd = fileno(stdin)) >= 0)
of_stdin = [[OFStdIOStream alloc]
of_initWithFileDescriptor: fd];
if ((fd = fileno(stdout)) >= 0)
of_stdout = [[OFStdIOStream alloc]
of_initWithFileDescriptor: fd];
if ((fd = fileno(stderr)) >= 0)
of_stderr = [[OFStdIOStream alloc]
of_initWithFileDescriptor: fd];
# else
BPTR input, output, error;
bool inputClosable = false, outputClosable = false,
errorClosable = false;
input = Input();
|
<
|
|
|
|
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
|
if (self != [OFStdIOStream class])
return;
# ifndef OF_AMIGAOS
int fd;
if ((fd = fileno(stdin)) >= 0)
OFStdIn = [[OFStdIOStream alloc] of_initWithFileDescriptor: fd];
if ((fd = fileno(stdout)) >= 0)
OFStdOut = [[OFStdIOStream alloc]
of_initWithFileDescriptor: fd];
if ((fd = fileno(stderr)) >= 0)
OFStdErr = [[OFStdIOStream alloc]
of_initWithFileDescriptor: fd];
# else
BPTR input, output, error;
bool inputClosable = false, outputClosable = false,
errorClosable = false;
input = Input();
|
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
|
}
if (error == 0) {
error = Open("*", MODE_OLDFILE);
errorClosable = true;
}
of_stdin = [[OFStdIOStream alloc] of_initWithHandle: input
closable: inputClosable];
of_stdout = [[OFStdIOStream alloc] of_initWithHandle: output
closable: outputClosable];
of_stderr = [[OFStdIOStream alloc] of_initWithHandle: error
closable: errorClosable];
# endif
}
#endif
- (instancetype)init
{
OF_INVALID_INIT_METHOD
|
|
|
|
|
|
|
|
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
|
}
if (error == 0) {
error = Open("*", MODE_OLDFILE);
errorClosable = true;
}
OFStdIn = [[OFStdIOStream alloc] of_initWithHandle: input
closable: inputClosable];
OFStdOut = [[OFStdIOStream alloc] of_initWithHandle: output
closable: outputClosable];
OFStdErr = [[OFStdIOStream alloc] of_initWithHandle: error
closable: errorClosable];
# endif
}
#endif
- (instancetype)init
{
OF_INVALID_INIT_METHOD
|