<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bedrock-pc/src/devices/file, branch v0.4.1</title>
<subtitle>Bedrock emulator and assembler for Windows and Linux
</subtitle>
<id>https://code.benbridle.com/bedrock-pc/atom?h=v0.4.1</id>
<link rel='self' href='https://code.benbridle.com/bedrock-pc/atom?h=v0.4.1'/>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-pc/'/>
<updated>2024-08-11T00:38:13Z</updated>
<entry>
<title>Prevent unused variable warning on Linux</title>
<updated>2024-08-11T00:38:13Z</updated>
<author>
<name>Ben Bridle</name>
<email>bridle.benjamin@gmail.com</email>
</author>
<published>2024-08-11T00:38:13Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-pc/commit/?id=68f633f6ba35a4fbbae9ed22fc759ce3544f6a0e'/>
<id>urn:sha1:68f633f6ba35a4fbbae9ed22fc759ce3544f6a0e</id>
<content type='text'>
The base variable is only used when compiling on Windows, so an
unused variable warning is raised when compiling on Linux.
</content>
</entry>
<entry>
<title>Fix ascend-to-parent behaviour of file device</title>
<updated>2024-08-10T02:37:02Z</updated>
<author>
<name>Ben Bridle</name>
<email>bridle.benjamin@gmail.com</email>
</author>
<published>2024-08-10T02:36:42Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-pc/commit/?id=516f5cf5edfb7a2c4a4f3571aa6ce692a476d582'/>
<id>urn:sha1:516f5cf5edfb7a2c4a4f3571aa6ce692a476d582</id>
<content type='text'>
We were finding the parent of the relative path and then passing this
to the BedrockFilePath::from_path constructor, but this constructor
expects to be passed an absolute path and so was unconditionally
returning None.
</content>
</entry>
<entry>
<title>Refactor the file device</title>
<updated>2024-08-07T05:09:14Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2024-08-07T05:09:14Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-pc/commit/?id=38d40a2c5d4b553f524d87755b8e2e0e47928b8a'/>
<id>urn:sha1:38d40a2c5d4b553f524d87755b8e2e0e47928b8a</id>
<content type='text'>
This is the Windows side of the refactoring job. The windows crate has
been added as a dependency in order to get a list of available drives
by drive letter, and a virtual top-level root directory has been
implemented in the Windows code to make it possible for programs to
hierarchically navigate between available drives.
</content>
</entry>
<entry>
<title>Refactor the file device</title>
<updated>2024-08-06T07:12:43Z</updated>
<author>
<name>Ben Bridle</name>
<email>bridle.benjamin@gmail.com</email>
</author>
<published>2024-08-06T07:11:46Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-pc/commit/?id=65b53003e8de9543ba25a3b3d3cace399b92dc1d'/>
<id>urn:sha1:65b53003e8de9543ba25a3b3d3cace399b92dc1d</id>
<content type='text'>
The major feature of this refactor is the creation of BedrockFilePath,
a type which can be losslessly converted into an operating-system
specific path or a Bedrock-style byte path. It also prevents file paths
which can't be represented as Bedrock-style byte paths from being
constructed, and allows the use of a base directory which acts as an
inescapable sandbox.

BedrockFilePath will support the creation of a virtual root directory
on Windows which will allow navigation between drive letters via the
standard hierarchical navigation ports.

This commit has been tested on Linux, but not yet Windows. Further work
is expected before the new code will work on Windows.
</content>
</entry>
<entry>
<title>Fix compilation on Linux</title>
<updated>2024-08-04T01:09:04Z</updated>
<author>
<name>Ben Bridle</name>
<email>bridle.benjamin@gmail.com</email>
</author>
<published>2024-08-04T01:09:04Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-pc/commit/?id=b82ffe72b3f72b8fc5e42464319bab69973c097f'/>
<id>urn:sha1:b82ffe72b3f72b8fc5e42464319bab69973c097f</id>
<content type='text'>
Some Windows-only library functions were added in during a previous
commit while I was developing on Windows.
</content>
</entry>
<entry>
<title>Update file device to compile on Windows</title>
<updated>2024-07-30T06:30:46Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2024-07-30T06:30:46Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-pc/commit/?id=ebfb38ebb2dff3dcb353b9d8cd01d41d9abf486e'/>
<id>urn:sha1:ebfb38ebb2dff3dcb353b9d8cd01d41d9abf486e</id>
<content type='text'>
Construction of OsStrings is handled differently between Windows and
Unix, using platform-specific APIs.

The method OsStr::as_bytes was also changed to OsStr::as_encoded_bytes
at some point between Rust versions 1.69 and 1.80.
</content>
</entry>
<entry>
<title>Fix crash when loading a directory containing weird entries</title>
<updated>2024-06-30T04:57:25Z</updated>
<author>
<name>Ben Bridle</name>
<email>bridle.benjamin@gmail.com</email>
</author>
<published>2024-06-30T04:57:16Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-pc/commit/?id=c23f1eda935a514b886b79f85ce0dab3080c33ef'/>
<id>urn:sha1:c23f1eda935a514b886b79f85ce0dab3080c33ef</id>
<content type='text'>
It was previously assumed that every entry in a directory would be
either a file or a directory, but a non-file and non-directory entry
has been encountered in the wild. In this case, just ignore the file,
leaving it out of the directory listing.
</content>
</entry>
<entry>
<title>Improve error message</title>
<updated>2024-06-08T23:15:01Z</updated>
<author>
<name>Ben Bridle</name>
<email>bridle.benjamin@gmail.com</email>
</author>
<published>2024-06-08T23:15:01Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-pc/commit/?id=0c72ba049ba52f29b576bdbdd5fdaac9e58dee97'/>
<id>urn:sha1:0c72ba049ba52f29b576bdbdd5fdaac9e58dee97</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Hide all dot-prefixed files from directory listings</title>
<updated>2024-06-08T23:14:44Z</updated>
<author>
<name>Ben Bridle</name>
<email>bridle.benjamin@gmail.com</email>
</author>
<published>2024-06-08T23:14:44Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-pc/commit/?id=84933fabcba6d84bc198da8396f65b83a4bfeace'/>
<id>urn:sha1:84933fabcba6d84bc198da8396f65b83a4bfeace</id>
<content type='text'>
This is a temporary fix to make directories more navigable. This will
be removed when Cobalt can hide dot-prefixed filenames from directory
listings by itself.
</content>
</entry>
<entry>
<title>Sort directory children in case-agnostic alphabetic order</title>
<updated>2024-05-30T07:24:00Z</updated>
<author>
<name>Ben Bridle</name>
<email>bridle.benjamin@gmail.com</email>
</author>
<published>2024-05-30T07:24:00Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-pc/commit/?id=241175559706f4b6a9807013f8075a5238643251'/>
<id>urn:sha1:241175559706f4b6a9807013f8075a5238643251</id>
<content type='text'>
</content>
</entry>
</feed>
