John Benediktsson
ca1612cc57
io: fix for win32-error not throwing on zero.
2020-01-06 14:20:15 -08:00
Alexander Iljin
563a3b1a47
Replace "n>win32-error-string throw" with windows-error instance throwing
2020-01-06 13:18:33 -08:00
Alexander Iljin
135390968b
Delete throw-win32-error, replace with win32-error calls
2020-01-06 13:18:33 -08:00
Alexander Iljin
407c7bc216
io.files.windows: replace "-1 <alien>" with INVALID_HANDLE_VALUE
2020-01-06 13:18:33 -08:00
Doug Coleman
16442c27ac
io: Fix word to find disk space if a file is missing.
...
Add canonicalize-drive because Windows likes C: instead of c:.
Add >windows-path for path string comparison.
Add canonicalize-path-full for fixing the path, drive, and / to \\ on
Windows.
2020-01-03 16:30:00 -06:00
Doug Coleman
8a3b7cbd18
Revert "io.files.windows: replace "-1 <alien>" with INVALID_HANDLE_VALUE"
...
This reverts commit a6f0b74f03
.
2020-01-03 13:04:11 -06:00
Doug Coleman
d9f1093cf8
Revert "Delete throw-win32-error, replace with win32-error calls"
...
This reverts commit e1be081ec9
.
2020-01-03 13:04:01 -06:00
Doug Coleman
c308d794db
Revert "Replace "n>win32-error-string throw" with windows-error instance throwing"
...
This reverts commit 70d08ce743
.
2020-01-03 13:03:52 -06:00
Alexander Iljin
70d08ce743
Replace "n>win32-error-string throw" with windows-error instance throwing
2019-11-25 07:06:59 -08:00
Alexander Iljin
e1be081ec9
Delete throw-win32-error, replace with win32-error calls
2019-11-25 07:06:59 -08:00
Alexander Iljin
a6f0b74f03
io.files.windows: replace "-1 <alien>" with INVALID_HANDLE_VALUE
2019-11-25 07:06:59 -08:00
Doug Coleman
4df7773a58
io.files.windows: Reloading io.pathnames overwrites these two object
...
methods.
Make them windows methods instead.
2019-03-17 10:56:57 -05:00
Doug Coleman
4b614cc15b
factor: Make source files/resources 644 instead of 755.
2018-07-13 20:36:50 -05:00
Doug Coleman
3ac520a8ec
io.pathnames: Add canonicalize-path.
...
The idea is to make a canonical representation of any path, taking into
account . and .. and unicode-prefix on Windows.
The use case is in a shell you have a current-directory and you can do
crazy commands like ``cd ../foo/bar/baz/../.././././`` and get the
canonical/shortened directory name. You can also use this word to
compare if two paths are the same.
2018-07-07 11:59:59 -05:00
Doug Coleman
9f213f96f6
core: Add the shuffler words but without primitives.
...
The nipd branch slowed bootstrap by a minute, this patch does not.
sorry about changing the fjsc line endings...
2018-06-19 22:52:58 -05:00
John Benediktsson
ca03896d74
more test IN: cleanup.
2018-02-15 09:20:01 -08:00
John Benediktsson
48c69cb8ea
use reject instead of [ ... not ] filter.
2017-01-05 13:29:58 -08:00
Alexander Iljin
d243e00f54
io.files.windows: use open-file to implement maybe-create-file
...
This fixes error throwing in case of CreateFile failure, and calls
add-completion for the file handle on success.
2016-06-22 11:27:26 -07:00
Alexander Iljin
f530692362
io.files.windows: replace open-existing with open-r/w
...
This fixes error throwing in case of CreateFile failure, and calls
add-completion for the file handle on success.
2016-06-22 11:27:26 -07:00
Alexander Iljin
ae1c7b7a54
io.files.windows: use CreateFileW in open-file for consistency
2016-06-22 11:27:26 -07:00
Björn Lindqvist
a80aeea7f9
io.files.windows: make CreateFile-flags a normal word (fixes the recent test failures)
2016-05-31 17:04:34 +02:00
Alexander Iljin
ff26c3d39c
io.files.windows: add FILE_FLAG_BACKUP_SEMANTICS to CreateFile-flags
...
This provides additional access rights if the process has SE_BACKUP_NAME
or SE_RESTORE_NAME privileges. Does nothing otherwise.
2016-05-30 12:35:25 -07:00
Doug Coleman
3494576ad8
io.files.windows: Add a unit test to make sure shared flags stay on.
2016-05-30 12:24:17 -07:00
Björn Lindqvist
579875821b
VM: removes the OBJ-ERROR special object in favor of a constant
...
The special object contained the string "kernel-error" which were used
to tag VM errors. But it is simplier and removes a little complexity to
just tag them with a fixnum constant.
2016-03-22 17:52:19 +01:00
Doug Coleman
51ecaa5ab4
io.files.windows: ALIEN: -1 puts an expired alien in the image. -1 <alien>
...
it is then.
2015-11-02 21:18:49 -08:00
Doug Coleman
26e5c1aecf
windows.kernel32, io.files.windows: Add support for listing alternate data
...
streams, e.g. file paths like foo.txt:Zone.Identifier.
2015-11-01 18:17:51 -08:00
Björn Lindqvist
575da3e478
VM: fix so that errno is set if MoveFileEx fails, should fix #1490
2015-10-12 12:19:21 +02:00
Björn Lindqvist
37cd54cfbb
io.files.windows.tests: windows test for the save-image not failing failure #1489
...
this one really should always throw permission denied or else something
is very spooky
2015-10-11 04:21:43 +02:00
Björn Lindqvist
e35087fb22
io.files.windows: fix incorrect parsing of file attribute bitfield in win32-file-attributes
2015-10-11 04:11:30 +02:00
Doug Coleman
db793e06f6
io.files.windows: SetFilePointer takes a PLONG not a uint pointer.
2015-10-09 19:50:06 -07:00
John Benediktsson
e477f6996f
Fix comments to be ! not #!.
2015-09-08 16:15:10 -07:00
John Benediktsson
ceb75057da
change ERROR: words from throw-foo back to foo.
2015-08-13 16:13:05 -07:00
Doug Coleman
b6be8685c3
basis: ERROR: changes.
2015-08-13 03:20:39 -07:00
Doug Coleman
23899e2d83
io.files.windows: Need the SLOT: file from io.sockets.secure.openssl
2015-07-30 00:05:37 -07:00
John Benediktsson
3f362dfc99
destructors: change check-disposed not to drop the disposable.
2014-11-21 08:19:05 -08:00
John Benediktsson
f79d61060e
io.buffers: cleanup interface a bit.
2014-11-16 18:54:24 -08:00
Björn Lindqvist
b72fa3ba0a
Docs: fixed doc example errors triggered by help-lint and added with-disposal where applicable
2014-04-14 08:42:10 -07:00
Björn Lindqvist
2cbea3cb31
Docs: a few more examples for words that were missing them
2014-04-14 08:42:09 -07:00
Björn Lindqvist
f8387a08ae
Merge:
...
io.sockets.secure.windows: use non-blocking sockets to prevent
SSL_connect from blocking
On Windows, SSL_connect may hang forever if the server doesn't send any
data. To counteract that we temporarily set the socket non-blocking and
then call select in the wait-for-fd method.
Conflicts:
basis/io/sockets/secure/openssl/openssl-tests.factor
2014-04-02 12:16:51 -05:00
Björn Lindqvist
753b2f0177
io.files: make wait-for-fd generic and dispatch depending on backend
...
do-ssl-accept need to call wait-for-fd so it needs to be generic. On
windows it's a noop but on unix it will wait for the fd.
2014-04-02 12:12:49 -05:00
Björn Lindqvist
5f38df7741
io.sockets.secure.windows: reading and writing from ssl sockets
...
Unified the drain and refill generics and put their definition in
io.files. They are now used by both the windows and unix ssl backend
for io. Windows ssl kind of works now, but the error cases are not
implemented correctly.
2014-04-02 12:12:14 -05:00
Björn Lindqvist
8c5ceb8b0c
io.files.windows: new generic words drain and refill, like in io.backend.unix
...
The purpose of these words is to abstract out the pushing of the bytes
to the ports so that you can insert the ssl layer in between. Exactly
like how drain and refill are specialized on ssl-handle in
io.sockets.secure.unix.
2014-04-02 12:12:04 -05:00
Doug Coleman
eccf5a82ae
io.files.info.windows: Fix file-systems word in two ways. First, don't
...
allocate 32k on the local alloc stack (which causes a 'double fault.')
Second, if the volume doesnt look up to a real path, don't make a dummy
object for that. volume
Use alien>native-string and native-string>alien wherever possible instead of
utf16n for Windows.
2012-06-21 08:32:53 -07:00
Doug Coleman
3507a0cc4b
Don't use exception handling for handle>file-size
2011-10-19 10:15:09 -07:00
Doug Coleman
55bb863704
Create attributes>> accessor in io.files.windows
2011-10-19 03:14:19 -07:00
Doug Coleman
5608178389
When deleting a file, if it fails with "Access is denied" then set the file
...
attributes to normal and try again. Some files in the .git directory are set
to read-only, preventing the build machines from deleting old builds.
2011-10-19 02:28:45 -07:00
Doug Coleman
55790cc6e4
Check if streams are seekable in Windows
2011-10-19 01:16:53 -07:00
Joe Groff
9b2634fbd7
io.files.windows: fix can-seek? and length
2011-10-18 12:42:53 -07:00
Joe Groff
863ab575e3
io.ports: stream-seekable? and stream-length
...
io.files.windows, io.backend.unix: platform-specific backends for those methods
2011-10-17 21:23:08 -07:00
Doug Coleman
044a03dc34
On Windows, the overlapped structure high bits were always zero, so reading through a file > 4gb would loop forever.
2011-10-07 15:04:00 -07:00