6330 |
6330 |
6331 if ((handle != STObject.Nil) |
6331 if ((handle != STObject.Nil) |
6332 && (aCharacter.isSTCharacter())) { |
6332 && (aCharacter.isSTCharacter())) { |
6333 handle.writeChar( aCharacter ); |
6333 handle.writeChar( aCharacter ); |
6334 self.instVarAt_put(I_position, STObject.Nil); |
6334 self.instVarAt_put(I_position, STObject.Nil); |
6335 return __c__._RETURN_self(); |
6335 return __c__._RETURN(aCharacter); |
6336 } |
6336 } |
6337 #else |
6337 #else |
6338 __INST(lastErrorNumber) = nil; |
6338 __INST(lastErrorNumber) = nil; |
6339 if ((__INST(handleType) == nil) |
6339 if ((__INST(handleType) == nil) |
6340 || (__INST(handleType) == @symbol(filePointer)) |
6340 || (__INST(handleType) == @symbol(filePointer)) |
6402 |
6402 |
6403 t = __MKINT(np); __INST(position) = t; __STORE(self, t); |
6403 t = __MKINT(np); __INST(position) = t; __STORE(self, t); |
6404 } else { |
6404 } else { |
6405 __INST(position) = nil; /* i.e. do not know */ |
6405 __INST(position) = nil; /* i.e. do not know */ |
6406 } |
6406 } |
6407 RETURN ( self ); |
6407 RETURN ( aCharacter ); |
6408 } |
6408 } |
6409 # ifdef __win32__ |
6409 # ifdef __win32__ |
6410 __threadErrno = __WIN32_ERR(GetLastError()); |
6410 __threadErrno = __WIN32_ERR(GetLastError()); |
6411 # endif |
6411 # endif |
6412 error = __mkSmallInteger(__threadErrno); |
6412 error = __mkSmallInteger(__threadErrno); |
6425 #endif /* not SCHTEAM */ |
6425 #endif /* not SCHTEAM */ |
6426 %}. |
6426 %}. |
6427 error notNil ifTrue:[ |
6427 error notNil ifTrue:[ |
6428 lastErrorNumber := error. |
6428 lastErrorNumber := error. |
6429 self writeError:error. |
6429 self writeError:error. |
6430 ^ self |
6430 ^ aCharacter |
6431 ]. |
6431 ]. |
6432 handle isNil ifTrue:[self errorNotOpen. ^ self]. |
6432 handle isNil ifTrue:[self errorNotOpen. ^ self]. |
6433 (mode == #readonly) ifTrue:[self errorReadOnly. ^ self]. |
6433 (mode == #readonly) ifTrue:[self errorReadOnly. ^ self]. |
6434 binary == true ifTrue:[ |
6434 binary == true ifTrue:[ |
6435 aCharacter isInteger ifFalse:[ |
6435 aCharacter isInteger ifFalse:[ |
6436 self argumentMustBeInteger. |
6436 self argumentMustBeInteger. |
6437 ^ self. |
6437 ^ aCharacter. |
6438 ]. |
6438 ]. |
6439 ] ifFalse:[ |
6439 ] ifFalse:[ |
6440 (aCharacter isCharacter not |
6440 (aCharacter isCharacter not |
6441 or:[aCharacter codePoint > 16rFF]) ifTrue:[ |
6441 or:[aCharacter codePoint > 16rFF]) ifTrue:[ |
6442 self argumentMustBeCharacter. |
6442 self argumentMustBeCharacter. |
6443 ^ self. |
6443 ^ aCharacter. |
6444 ]. |
6444 ]. |
6445 ]. |
6445 ]. |
6446 "/ migration support |
6446 "/ migration support |
6447 self |
6447 self |
6448 nextPutByte:aCharacter asInteger |
6448 nextPutByte:aCharacter asInteger |
6449 toFile:handle |
6449 toFile:handle. |
|
6450 ^ aCharacter |
6450 |
6451 |
6451 "Modified: / 22-11-2018 / 14:47:13 / Stefan Vogel" |
6452 "Modified: / 22-11-2018 / 14:47:13 / Stefan Vogel" |
6452 ! |
6453 ! |
6453 |
6454 |
6454 nextPutAll:aCollection |
6455 nextPutAll:aCollection |