 |
Changeset 3642
- Timestamp:
- 06/19/08 16:41:25
(6 months ago)
- Author:
- kris
- Message:
removed Exception throw from detach() ... need to revisit this interface, since it ought to return a bool instead.
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| r2913 |
r3642 |
|
| 40 | 40 | final void error () |
|---|
| 41 | 41 | { |
|---|
| 42 | | super.error (toString() ~ " :: " ~ SysError.lastMsg); |
|---|
| | 42 | super.error (this.toString ~ " :: " ~ SysError.lastMsg); |
|---|
| 43 | 43 | } |
|---|
| 44 | 44 | |
|---|
| … | … | |
| 49 | 49 | ***********************************************************************/ |
|---|
| 50 | 50 | |
|---|
| 51 | | override char[] toString() |
|---|
| | 51 | override char[] toString () |
|---|
| 52 | 52 | { |
|---|
| 53 | 53 | return "<device>"; |
|---|
| … | … | |
| 99 | 99 | /*************************************************************** |
|---|
| 100 | 100 | |
|---|
| 101 | | Release the underlying file |
|---|
| | 101 | Release the underlying file. Note that an exception |
|---|
| | 102 | is not thrown on error, as doing so can induce some |
|---|
| | 103 | spaggetti into error handling. Instead, we need to |
|---|
| | 104 | change this to return a bool instead, so the caller |
|---|
| | 105 | can decide what to do. |
|---|
| 102 | 106 | |
|---|
| 103 | 107 | ***************************************************************/ |
|---|
| … | … | |
| 106 | 110 | { |
|---|
| 107 | 111 | if (handle) |
|---|
| 108 | | if (! CloseHandle (handle)) |
|---|
| 109 | | error (); |
|---|
| | 112 | CloseHandle (handle); |
|---|
| 110 | 113 | handle = cast(HANDLE) null; |
|---|
| 111 | 114 | } |
|---|
| … | … | |
| 131 | 134 | return Eof; |
|---|
| 132 | 135 | else |
|---|
| 133 | | error (); |
|---|
| | 136 | error; |
|---|
| 134 | 137 | |
|---|
| 135 | 138 | if (read is 0 && dst.length > 0) |
|---|
| … | … | |
| 150 | 153 | |
|---|
| 151 | 154 | if (! WriteFile (handle, src.ptr, src.length, &written, null)) |
|---|
| 152 | | error (); |
|---|
| | 155 | error; |
|---|
| 153 | 156 | |
|---|
| 154 | 157 | return written; |
|---|
| … | … | |
| 199 | 202 | if (handle >= 0) |
|---|
| 200 | 203 | if (posix.close (handle) is -1) |
|---|
| 201 | | error (); |
|---|
| | 204 | error; |
|---|
| 202 | 205 | handle = -1; |
|---|
| 203 | 206 | } |
|---|
| … | … | |
| 214 | 217 | int read = posix.read (handle, dst.ptr, dst.length); |
|---|
| 215 | 218 | if (read == -1) |
|---|
| 216 | | error (); |
|---|
| | 219 | error; |
|---|
| 217 | 220 | else |
|---|
| 218 | 221 | if (read is 0 && dst.length > 0) |
|---|
| … | … | |
| 232 | 235 | int written = posix.write (handle, src.ptr, src.length); |
|---|
| 233 | 236 | if (written is -1) |
|---|
| 234 | | error (); |
|---|
| | 237 | error; |
|---|
| 235 | 238 | return written; |
|---|
| 236 | 239 | } |
|---|
Download in other formats:
|
 |
 |
|
 |
Copyright © 2006-2008 Tango. All Rights Reserved. | Page Width:
Static or
Dynamic