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
John Benediktsson
4f42c72012
specialized-arrays: performed some cleanup.
...
Specifically,
• Created >c-array to be replacement for >T-array.
• Created cast-array to be generic replacement for all T-array-cast words.
• Created c-array@ to be generic replacement for T-array@ words.
• Replaced usages of <T-array> with T <c-array>
• Replaced usages of <direct-T-array> with T <c-direct-array>
• Replaced usages of >T-array with T >c-array
• Replaced usages of T-array-cast with T cast-array
• Replaced usages of malloc-T-array with T malloc-array.
• Removed malloc-T-array.
• Removed T-array-cast.
• Removed T-array@.
• Removed >T-array.
I also added (but didn't change any code to use):
• T c-array-type, returns T-array
• T c-array?, returns T-array?
• c-array{ T ... }, returns T-array{ ... }
Bootstraps just find on Mac OS X. Also `load-all test-all` works for me.
2011-09-26 11:37:51 -07:00
Doug Coleman
bf2a96e9e0
Remove Windows CE from core/ basis/ and build-support/
...
Rename the winnt singleton to windows in core/ basis/ extra/
Rename boot images winnt -> windows
Fixes #84 .
2011-09-18 23:19:06 -05:00
John Benediktsson
39b800907c
io.files.windows: add some tests cases for UNC paths. Fixes #44 .
2011-08-28 12:55:09 -07:00
8byte-jose
b3f0ff51aa
fixed handling of UNC paths under windows
2011-01-25 13:32:21 +01:00
Slava Pestov
13d6c6a698
Update code for alien.data changes
2010-12-26 02:08:57 -06:00
Slava Pestov
75560699ea
Move <ref>, deref and little-endian? from alien.c-types to alien.data, remove <c-object>
2010-12-25 16:55:36 -08:00
Doug Coleman
1f57dc326e
Remove many uses of <int> and *int etc
2010-10-25 12:49:12 -05:00
Doug Coleman
f791c8c5d2
Squashed commit of the following:
...
commit 197dbe9a6733775ac0ea19b3da4bd4dc3c85418c
Author: Doug Coleman <doug.coleman@gmail.com>
Date: Sat Sep 18 19:01:38 2010 -0500
Fix bootstrap, move privileges to windows.privileges
commit 521c622f8afb15bf42d263c738cb990560dc29cb
Author: Doug Coleman <doug.coleman@gmail.com>
Date: Sat Sep 18 18:26:30 2010 -0500
Hopefully fix bootstrap
commit eb3f22928b59758b9505430034044b5b94705da2
Author: Doug Coleman <doug.coleman@gmail.com>
Date: Sat Sep 18 18:19:05 2010 -0500
Remove wince from factor codebase
commit 619d6c99415f46208a7ede6a04b0ccda46b15360
Author: Doug Coleman <doug.coleman@gmail.com>
Date: Sat Sep 18 16:07:46 2010 -0500
Remove Windows CE from vm/
2010-09-19 19:13:25 -05:00
Doug Coleman
7122f9fccb
Make sure io.backend.windows loads the implementations for the generics it defines. Make windows.handles not depend on io.timeouts. Fix typo in win32-file-attributes. Fix bug in null-output word. Clean up error checking code.
2010-09-17 14:19:10 -05:00
Doug Coleman
06e3fc84a6
Trim using lists for io.files.windows
2010-09-16 16:10:38 -05:00
Doug Coleman
026499e64f
Use flags{ instead of flags all over the place
2010-04-01 14:44:03 -05:00
Slava Pestov
95bfc8a240
vocabs.metadata: replace unportable tag with a platforms.txt file for more fine-grained control. Rename unportable tag to untested for remaining cases
2010-02-20 13:30:49 +13:00
Slava Pestov
0612bc6177
Factor source files should not be executable
2009-11-21 17:50:43 -06:00