Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.os.msdos.programmer > #4174

Re: directory recursion

From "R.Wieser" <address@not.available>
Newsgroups comp.os.msdos.programmer
Subject Re: directory recursion
Date 2022-08-17 08:35 +0200
Organization Aioe.org NNTP Server
Message-ID <tdi28f$9mo$1@gioia.aioe.org> (permalink)
References <ae4343ff-1f95-4e4c-9e5b-09365beb5ac4n@googlegroups.com> <tdg4s3$1pnp$1@gioia.aioe.org> <ab9a1df6-ef2c-4be2-ac42-d8fac6ec7b37n@googlegroups.com>

Show all headers | View raw


Muta,

> But I don't see how 1a can work.
>
> That requires you to know how big the DTA is, right?

Nope.  It just sets the pointer to the new DTA

> That requires you to know how big the DTA is, right?

The INT itself knows nothing about sizes.   But ask yourself, even if you 
would not use the INT, wouldn't you than not still need to know about the 
layout (and thus size) of the DTA to be able to use it ?   How else would 
you be able to grab, for instance, the returned file attributes  ?

> Saving up to 15h seems more robust.

Whut ?   You've just told us that the DTA can change (in contents and size), 
but now you're going to use some fixed size for copying ?  :-)

Yes, the DTA /could/ change.  But if it does its an *OS* related change. 
Well documented..

> But the DTA could be extended at any time by
> a dos vendor to e.g. include a field for long filename.
>
> Which is exactly what was done in pdos.

And that means you have to check the DOS version your program is running 
under, and either tell the user that your program only works under version 
X, Y and Z, or you need to write the apropriate code for all those versions 
and branch to them according to the detected one.

> But what is this?

Do you think we are mindreaders ?   I'm from a planet called Earth, and none 
of us here can.

Next time tell us where you got the information from please. (you got lucky 
that I could match a string to something in "Ralf Browns Interrupt list" and 
by it found what you where talking about)

> What is start of parent directory? The directory that contains this file?

Thats data used by the OS to keep track of what it is doing.   You can 
touch. or (trying to) use it on your own peril.   Consider yourself warned. 
(tongue in cheek, but I'm serious)

But yes, that sounds about right.

> Does that mean that msdos keeps going back to the first
> directory cluster and then retraverses until it gets
> to the required directory entry number?

Why should it ?     All entry records in a directory are of the same size. 
IOW, multiply the index of the currently found entry by that size, add the 
start sector and you have the last-found entry.  No iteration needed. (a bit 
simplified, but good enough for the job)

> I assume that is some absolute number
> rather than logical, taking into account long filenames.

Under DOS long filenames are cut up into parts and hidden away into regular 
entry records (just with a special marker, similar to how deleted files are 
marked), one after the other.    The OS just grabs a few entries,  takes the 
apropriate fields and stich the long filename back together.

> And with fat32, cluster numbers are 32 bit.
>
> The reserved 4 bytes could have been used for that,
> but I don't see any mention of that here:

Than can be because Ralf Brown didn't go beyond the 16-bit DOS versions. 
You would need to find yourself the specs for a/that particular 32-bit "DOS" 
version to find out.

Regards,
Rudy Wieser

Back to comp.os.msdos.programmer | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

directory recursion "muta...@gmail.com" <mutazilah@gmail.com> - 2022-08-16 03:01 -0700
  Re: directory recursion "R.Wieser" <address@not.available> - 2022-08-16 15:08 +0200
    Re: directory recursion "muta...@gmail.com" <mutazilah@gmail.com> - 2022-08-16 13:35 -0700
      Re: directory recursion "R.Wieser" <address@not.available> - 2022-08-17 08:35 +0200
        Re: directory recursion "muta...@gmail.com" <mutazilah@gmail.com> - 2022-08-18 01:24 -0700
          Re: directory recursion "R.Wieser" <address@not.available> - 2022-08-18 12:06 +0200
            Re: directory recursion "muta...@gmail.com" <mutazilah@gmail.com> - 2022-08-19 00:38 -0700
              Re: directory recursion "R.Wieser" <address@not.available> - 2022-08-19 13:08 +0200
                Re: directory recursion "muta...@gmail.com" <mutazilah@gmail.com> - 2022-08-20 03:55 -0700
  Re: directory recursion Steve Nickolas <usotsuki@buric.co> - 2022-08-16 13:59 -0400

csiph-web