equal
deleted
inserted
replaced
65 # define CLEAR_ERRNO /* nothing */ |
65 # define CLEAR_ERRNO /* nothing */ |
66 #endif |
66 #endif |
67 |
67 |
68 #ifdef xxxWIN32 |
68 #ifdef xxxWIN32 |
69 # define NO_STDIO |
69 # define NO_STDIO |
70 # define __HANDLEVal(o) (HFILE)(__MKCP(o)) |
70 # define __HANDLEVal(o) (HFILE)(__externalAddressVal(o)) |
71 # define READ(f, cp, n) _lread((f), (cp), (n)) |
71 # define READ(f, cp, n) _lread((f), (cp), (n)) |
72 # define WRITE(f, cp, n) _lwrite((f), (cp), (n)) |
72 # define WRITE(f, cp, n) _lwrite((f), (cp), (n)) |
73 # define FFLUSH(fp) /* nothing */ |
73 # define FFLUSH(fp) /* nothing */ |
74 # undef STDIO_NEEDS_FSEEK |
74 # undef STDIO_NEEDS_FSEEK |
75 # define FILEPOINTER HFILE |
75 # define FILEPOINTER HFILE |
1431 if (__isSmallInteger(anInteger) && |
1431 if (__isSmallInteger(anInteger) && |
1432 __isString(openMode) && |
1432 __isString(openMode) && |
1433 (f = fdopen(__intVal(anInteger), __stringVal(openMode))) != 0 |
1433 (f = fdopen(__intVal(anInteger), __stringVal(openMode))) != 0 |
1434 ) { |
1434 ) { |
1435 __PROTECT__(self); |
1435 __PROTECT__(self); |
1436 fp = __MKOBJ(f); |
1436 fp = __MKEXTERNALADDRESS(f); |
1437 __UNPROTECT__(self); |
1437 __UNPROTECT__(self); |
1438 __INST(filePointer) = fp; __STORE(self, fp); |
1438 __INST(filePointer) = fp; __STORE(self, fp); |
1439 RETURN (self); |
1439 RETURN (self); |
1440 } |
1440 } |
1441 #endif /* not WIN32 */ |
1441 #endif /* not WIN32 */ |
2752 f = (FILEPOINTER) fdopen(__intVal(aFileDescriptor), (char *)__stringVal(openmode)); |
2752 f = (FILEPOINTER) fdopen(__intVal(aFileDescriptor), (char *)__stringVal(openmode)); |
2753 if (f == NULL) { |
2753 if (f == NULL) { |
2754 __INST(lastErrorNumber) = __MKSMALLINT(errno); |
2754 __INST(lastErrorNumber) = __MKSMALLINT(errno); |
2755 __INST(position) = nil; |
2755 __INST(position) = nil; |
2756 } else { |
2756 } else { |
2757 __INST(filePointer) = fp = __MKOBJ(f); __STORE(self, fp); |
2757 __INST(filePointer) = fp = __MKEXTERNALADDRESS(f); __STORE(self, fp); |
2758 __INST(position) = __MKSMALLINT(1); |
2758 __INST(position) = __MKSMALLINT(1); |
2759 retVal = self; |
2759 retVal = self; |
2760 } |
2760 } |
2761 } |
2761 } |
2762 %}. |
2762 %}. |
2791 } while ((f == NULL) && (errno == EINTR)); |
2791 } while ((f == NULL) && (errno == EINTR)); |
2792 __END_INTERRUPTABLE__ |
2792 __END_INTERRUPTABLE__ |
2793 if (f == NULL) { |
2793 if (f == NULL) { |
2794 __INST(lastErrorNumber) = __MKSMALLINT(errno); |
2794 __INST(lastErrorNumber) = __MKSMALLINT(errno); |
2795 } else { |
2795 } else { |
2796 __INST(filePointer) = fp = __MKOBJ((INT)f); __STORE(self, fp); |
2796 __INST(filePointer) = fp = __MKEXTERNALADDRESS((INT)f); __STORE(self, fp); |
2797 ok = true; |
2797 ok = true; |
2798 } |
2798 } |
2799 } |
2799 } |
2800 %}. |
2800 %}. |
2801 ok ifFalse:[ |
2801 ok ifFalse:[ |
4167 ! ! |
4167 ! ! |
4168 |
4168 |
4169 !ExternalStream class methodsFor:'documentation'! |
4169 !ExternalStream class methodsFor:'documentation'! |
4170 |
4170 |
4171 version |
4171 version |
4172 ^ '$Header: /cvs/stx/stx/libbasic/Attic/ExtStream.st,v 1.145 1997-09-25 12:58:16 stefan Exp $' |
4172 ^ '$Header: /cvs/stx/stx/libbasic/Attic/ExtStream.st,v 1.146 1997-10-06 13:28:01 cg Exp $' |
4173 ! ! |
4173 ! ! |
4174 ExternalStream initialize! |
4174 ExternalStream initialize! |