Commit Graph

307 Commits (dfdbde9f33bf85980b2b4527aacef6bd78a38f99)

Author SHA1 Message Date
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
Jon Harper e9454fc310 io.files.info docs, sync link-info and file-info docs 2016-06-22 11:22:43 -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 8e2a65e5a2 io.files.info.windows: add a comment to open-read-handle 2016-05-30 12:35:26 -07:00
Alexander Iljin aa7a285390 io.files.info.windows: fix flags in open-read-handle
Add FILE_SHARE_WRITE and FILE_SHARE_DELETE flags and calls CreateFile-flags
hook. This fixes file-readable? so that it uses the same flags as open-read
(issue #1470).
2016-05-30 12:35:25 -07: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
Alexander Iljin 043c6984b9 io.files.info.windows: fix file-readable?
This fixes issue #1470. Now the method tries to open the file handle for
reading and returns t on success. This approach makes Windows check the
current user's permissions.
2016-05-30 12:35:24 -07:00
Alexander Iljin 2264638a61 io.files.info.windows: add open-read-handle to reuse later 2016-05-30 12:35:23 -07:00
Alexander Iljin 2b68636207 io.files.info.windows: fix parameter name for get-file-information-stat 2016-05-30 12:35:23 -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
Doug Coleman 3307876cc2 io.files.unique: clean up the files that are created if not all files can be created. 2016-05-26 14:05:58 -07:00
Doug Coleman a399439a5f io.files.unique: Make sure the files are the same except for the suffix. Add unit test. Fix paths typo. 2016-05-25 17:49:59 -07:00
Doug Coleman 48d9b2b4eb io.files.unique: Add a way to create multiple unique files at the same time. If any of them fail, then the whole operation fails. 2016-05-23 13:17:29 -07:00
Doug Coleman 363e08b6a8 factor: fix whitespace at end of files. 2016-04-06 16:53:25 -07:00
John Benediktsson 2269b07d33 use with-temp-file and with-temp-directory in some tests. 2016-04-04 10:33:03 -07:00
John Benediktsson c09312d881 io.files.unix: more test cleanup. 2016-03-31 21:32:05 -07:00
John Benediktsson 3f18b71d07 cleanup some QUALIFIED: that are no longer needed. 2016-03-29 10:20:16 -07:00
Björn Lindqvist 0bb3228063 unix: fixed read-symbolic-link (#1074) + tests 2016-03-23 16:15:30 +01:00
Björn Lindqvist 53467d4e21 io.files.unix: loop getcwd with an expanding buffer, fixes part of #1074
It appears that the right way to do it is using an arbitrary sized buffer
and just expanding it in case getcwd reports ERANGE.
2016-03-23 16:15:29 +01: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
John Benediktsson 50759f4bc6 io.files.unique: change cleanup-unique-file quot stack effect. 2016-03-19 13:03:15 -07:00
John Benediktsson bde8f522f1 fix some tests broken by my io.files.unique change. 2016-03-19 09:50:01 -07:00
John Benediktsson e36727db23 io.files.unique: some cleanup. 2016-03-18 16:54:17 -07:00
John Benediktsson baae677276 io.files.unique: change to create unique files and directories relative to the current-directory. 2016-03-18 10:57:54 -07:00
John Benediktsson 32b29f7079 io.files.info: cleanup by using with-temp-directory. 2016-03-17 17:51:36 -07:00
Doug Coleman d4b8e44399 license rename: fix the rest of it. 2016-03-17 02:36:34 -07:00
John Benediktsson 73de6246b7 io.files.temp: use a startup hook as the temp directory could change from run to run. 2016-03-16 21:40:25 -07:00
Doug Coleman 2aadc94b10 io.files.temp: Initialize symbols after the backends are loaded. Top level code sucks. 2016-03-16 21:25:19 -07:00
John Benediktsson 33b6c0426d io.files.temp: allow changing of current temp and cache directory. 2016-03-16 15:19:10 -07:00
Doug Coleman 67e7874e91 io.files.info.unix.linux: Special characters in mount points are encoded as octal escape sequences. 2015-11-03 15:55:14 -08: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
Alexander Iljin 156a2d0b90 Minor documentation fixes. 2015-09-29 09:12:29 -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
John Benediktsson 2a3427bdff io.files.info: use directory?, symbolic-link?, and regular-file?. 2015-08-05 18:33:35 -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
Doug Coleman 618330b31e factor: rename system:vm -> vm-path to differentiate it from vm:vm (which is a STRUCT:) 2015-07-20 00:10:29 -07:00
Doug Coleman 0176591527 factor: actual patch to remove ; from all c/fortran functions 2015-07-19 16:25:30 -07:00
Doug Coleman 892c62e1dc factor: second stab at [ ] [ ] unit-test -> { } [ ] unit-test 2015-07-03 09:39:59 -07:00
Doug Coleman 59f3b1ea57 Revert "factor: rename [ ] [ ] unit-test -> { } [ ] unit-test using a refactoring tool!"
Needs a bit more work.

This reverts commit 7e54cc2824.
2015-07-02 13:47:06 -07:00
Doug Coleman 7e54cc2824 factor: rename [ ] [ ] unit-test -> { } [ ] unit-test using a refactoring tool! 2015-07-02 11:36:08 -07:00
Doug Coleman 2ee3516bf1 io.files.unique: Better docs for with-unique-directory. 2015-06-01 15:22:05 -07:00
Doug Coleman 74f5eacec7 editors.visual-studio-code: Support for m$ft's new code editor. Can't
figure out command line parameters yet.
io.files.temp.windows: Make (get-appdata-directory) not private and rename
it to get-appdata-directory.
2015-04-30 18:21:15 -07:00
John Benediktsson 39093727b1 libc: rename (io-error) to throw-errno. 2014-11-21 09:29:45 -08: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
John Benediktsson b7ed0a431c basis/extra: cleanup some platform requires. 2014-11-15 14:25:12 -08:00
John Benediktsson 8033741135 io/ui: slim down the USE: list 2014-10-24 17:33:27 -07:00
Doug Coleman 138ec84642 io.files.temp.macosx: Create the cache and temp directories every time. Fixes #1089. 2014-07-03 23:41:20 -07:00
John Benediktsson 57f9d78892 improve help by linking to types directly. 2014-05-23 20:20:15 -07: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
John Benediktsson e50d1375a1 io: need to use libc for OS X? 2014-04-03 21:43:37 -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 eaca04de3b libc: several vocabs now need to depend on libc 2014-04-02 12:13:00 -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
John Benediktsson 332fc7bc1a io.files.info.unix.linux: cleanup stack effects. 2014-02-27 15:26:38 -08:00
Doug Coleman 19002c93a6 io.files.info: Longer names for file-info predicates. 2013-04-18 10:08:42 -07:00
Doug Coleman 345b5bb678 io.files.info: Add file? and symlink? words. 2013-04-18 07:35:47 -07:00
John Benediktsson 1718c69e56 io.files: use split instead of split*. 2013-03-31 16:04:11 -07:00
Doug Coleman 20e14a96df unix.statfs etc: Naming conflicts. 2013-03-23 22:38:38 -07:00
Doug Coleman f4410e295a io.files.info.windows: Fix file-info-tuple inheritance. 2013-03-23 19:14:28 -07:00
Doug Coleman 2761c45277 io.files.info: Fix unit test. 2013-03-23 17:20:00 -07:00
Doug Coleman d2024a84e3 io.files.info: Rename file-info and file-system-info. 2013-03-23 16:43:32 -07:00
John Benediktsson d11805228f io.files.info.unix.linux: use string>csv instead. 2013-03-15 06:40:24 -07:00
Doug Coleman 2921829b79 windows: Attempt to fix circularity. 2012-10-24 19:03:25 -07:00
John Benediktsson 04e783a886 io.files.info.unix: errno EACCES should be handled separately. 2012-10-24 17:51:13 -07:00
John Benediktsson 83b40e44d2 io.files.info: make access checks throw on file-does-not-exist. 2012-10-24 17:40:00 -07:00
Doug Coleman c458b7dcaf io.files.info.windows: Implement file-readable?, writable?, and executable? 2012-10-24 17:29:32 -07:00
John Benediktsson 379f060636 io.files.info.unix: make sure to normalize so special paths work. 2012-10-24 17:11:35 -07:00
John Benediktsson 37bb5f6917 io.files.info: adding checks for read, write, or execute permissions. 2012-10-24 16:44:12 -07:00
Doug Coleman 0bdcf5173f io.files.info: On my Windows7 box, D: is "not really there" and it kills
file-systems. Ignore errors instead of dying.
2012-09-16 17:23:25 -07:00
John Benediktsson 1a73e79ef7 cleanup some use of with-scope. 2012-07-19 13:55:34 -07:00
Doug Coleman 82dd2ca3c9 utf16n: botched merge commit. oops 2012-06-21 09:04:09 -07:00
Doug Coleman 3dd30d2f49 issue #358: rename ole32-error -> check-ole32-error 2012-06-21 08:38:02 -07: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
John Benediktsson a20f12005a io.files.temp: adding with-temp-directory and with-cache-directory. 2012-06-18 12:22:59 -07:00
Doug Coleman 3447136e2a io.files.info.unix: When setting access or modified time alone, don't set the other time to 1970.
See #490.
2012-06-01 16:03:41 -07:00
Joe Groff 8b9b8df457 io.files.temp.windows: fix up 2012-04-16 11:55:33 -07:00
Joe Groff 480545a683 io.files.temp: use OS tmp dir; add cache-directory
Change temp-directory to return an OS-sanctioned temporary directory instead of "resource:temp". Add a new function cache-directory to return an OS-sanctioned directory for storing staging images etc. Fixes #365.
Windows implementation needs to be finished and tested.
2012-04-16 11:55:22 -07:00
Joe Groff 4c0d73da3c io.files.info: fix circularity
Remove the undocumented and redundant "copy-file-and-info" word, since "copy-file" does the same thing, and the circular dependency on "io.directories" was causing some deploys to fail
2011-11-28 19:37:01 -08:00
Joe Groff 72de75b881 let's pretend BIN: HEX: OCT: never happened 2011-11-23 19:22:37 -08:00
Joe Groff 943596575a use radix literals 2011-11-23 19:03:40 -08:00
Joe Groff 8cf18d1a82 remove BSD,solaris,etc. misc platform support code 2011-11-02 17:13:51 -07:00
Doug Coleman 94db86a6db Make "foo.private" require load foo instead.
Move require from vocabs.loader to vocabs. Update everything.
Fixes #201.
2011-11-02 11:50:03 -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