-
Notifications
You must be signed in to change notification settings - Fork 142
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fixes for label #17 bugs #86
Conversation
Part of a fix for [FDOS/label#17]
I will review this this weekend. I have a few other changes to the kernel to try integrate this weekend as well. |
Hello @PerditionC , @xakon, I pushed a new version that should address the concern you raised. Thanks. |
Hello @PerditionC, sorry to trouble you but I wondered whether you managed to consider if my use of Thanks! |
Not yet, I got sidetracked playing with GPT support. |
Please look into |
Part of a fix for [FDOS/label#17]
If the BPB is either v4.1 or v7 long, then its volume label field should be written. Note: This site https://jdebp.uk/FGA/bios-parameter-block.html suggests that it is perfectly valid to have a v7 long BPB with a FAT12 or FAT16 filesystem, although more usually it's used for FAT32. However I can't see any confirmation of this elsewhere, haven't seen an example of this in the wild, and have no means of generating a test article. More importantly since we are writing to the filesystem, it's important to not have any false positives or we could cause corruption. So for now this combination, should it exist, will not be updated. See the discussion here dosemu2/fdpp#202. Part of a fix for [FDOS/label#17]
Thanks, I couldn't use it as is as I don't know the name of the file I'm looking for and it doesn't take wildcards, but it made a good basis for a new function that finds by attribute. |
If using |
It doesn't look like |
That almost works but if (path[strlen(path) - 1] == '\\')
return (f_node_ptr) 0; |
OK but I think its wrong to pass fnp |
In fact it seems fnp is mostly used |
if (status == SUCCESS) | ||
return DE_ACCESS; | ||
|
||
/* Create our new label */ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What if you still have a normal
file with that name?
I think that block should be removed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What if you still have a normal
file with that name?
I think that block should be removed.
The point of this patch is that a file or directory can coexist with a label of the same name.
Ah perhaps you explicitly don't care |
OK in this case the only mod I can |
Sorry for the delay, I've been away from my computer. Thanks for your suggestions, I'll study them a little later. |
I pushed a few patches to fdpp from |
So in fdpp you can now do:
|
Also I wonder if its intentional to Or if you want to look only in a root
Though I am not sure if dir_open() |
I checked that dm_name_pat was actually |
Test suit running now on branch ci-01, but expect the recent tests for label and command.com/copy to fail as those were added for FreeDOS and I didn't get around to proposing some patches for FDPP yet. https://github.com/andrewbird/dosemu2/actions/runs/3446152758/jobs/5750707847 |
So yes there are some unexplained failures. These might be ones to look at first |
Thanks, changed so dm_name_pat is |
Cool, thanks. Rerunning now https://github.com/andrewbird/dosemu2/actions/runs/3446152758 |
Great, that looks much as I expect. |
But insufficient this time... |
Thanks for your changes to help. I pushed my first modified patch over at dosemu2/fdpp#202. It's probably best if we continue discussion in that PR and return here later. |
Closing this here as it's outdated, the patches having been superseded by those in dosemu2/fdpp#202 |
I've written some tests for label operations in Dosemu2's test suite, which can now pass, but I wonder if you can review the patch set here as I'm a little out of my comfort zone in FAT manipulation? In particular patch 2
Add special case for label creation
uses ados_findfirst()
which may be a layering violation?Dosemu2 tests are in a topic branch here https://github.com/andrewbird/dosemu2/tree/ci-01, but not submitted for PR until FDPP is updated with a similar patch to this.