Commit Graph

77 Commits (ee67a4d8d22a0f4659706b02839ff089ec51851a)

Author SHA1 Message Date
Doug Coleman b6e518e4bb Merge remote-tracking branch 'origin/master' into modern-harvey3 2020-03-04 19:19:01 -06:00
John Benediktsson b430f8e0a7 io.files.windows: make win32-file-attributes a little faster. 2020-02-07 14:11:43 -08:00
Doug Coleman ae15ed674e Merge remote-tracking branch 'origin/master' into modern-harvey3 2020-01-08 22:09:41 -06:00
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
Doug Coleman a85163aef0 Revert "io.files.windows: replace "-1 <alien>" with INVALID_HANDLE_VALUE"
This reverts commit a6f0b74f03.
2019-12-05 09:22:14 -06:00
Doug Coleman 64ffbc149a Revert "Delete throw-win32-error, replace with win32-error calls"
This reverts commit e1be081ec9.
2019-12-05 09:22:01 -06:00
Doug Coleman 64f1cfa0fb Revert "Replace "n>win32-error-string throw" with windows-error instance throwing"
This reverts commit 70d08ce743.
2019-12-05 09:21:48 -06:00
Doug Coleman 319a8a4941 Merge remote-tracking branch 'github/master' into modern-harvey3 2019-11-30 01:09:20 -05: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 d635604026 modern: Removing ch'a syntax.
It's cool but I don't like it right now.
2019-09-28 10:59:07 -05:00
Doug Coleman 08a09f70ff Merge remote-tracking branch 'origin/master' into modern-harvey3 2019-04-07 10:32:28 -05: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 f05c7e8cd8 factor: char: a -> ch'a.
Also all contractions are not allowed in word names anymore. Even Data cannot use contractions...
2018-08-09 18:02:38 -04:00
Doug Coleman 7730fc5c64 Merge remote-tracking branch 'origin/master' into modern-harvey2 2018-08-02 07:57:42 -04: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 53b1a81049 Merge branch 'master' into modern-harvey2 2018-06-20 00:26:12 -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
Doug Coleman c436f6dbad factor: char: postpone: color: hexcolor: flexhexcolor: decimal: 2017-08-31 21:21:13 -05:00
Doug Coleman 84e40810cd factor: CHAR: : -> CHAR: \:, same for [{( 2017-08-31 21:21:12 -05: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 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 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 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