Re: encapsulating directory operations

Liste des GroupesRevenir à cl c 
Sujet : Re: encapsulating directory operations
De : mutazilah (at) *nospam* gmail.com (Paul Edwards)
Groupes : comp.lang.c
Date : 20. May 2025, 23:38:44
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <100j09o$2f04b$1@dont-email.me>
References : 1 2 3
User-Agent : Microsoft Outlook Express 6.00.2800.1106
"Keith Thompson" <Keith.S.Thompson+u@gmail.com> wrote in message
news:87a5770xjw.fsf@nosuchdomain.example.com...

"Paul Edwards" <mutazilah@gmail.com> writes:
[...]
So is it right to expect directories to be covered by C90?
>
Of course not.  C90 is frozen, defined by the ISO standard published
in 1990.  It is an obvious fact, that you cannot have missed,
that the C90 standard does not support operations on directories.
(Neither does any later ISO C standard.)
>
I'm guessing that you meant something by "expect" that differs from
its usual meaning.  Can you clarify?

When C90 was being written - or indeed - when K&R was
being written - if there hadn't been pressure to "bring to market",
would you EXPECT a language standard - any language
standard - but in this specific instance the ISO/IEC 9899:1990
committee - to have included a standard form of directory
manipulation?

Manipulating directories is not as important as manipulating
files. The C90 people didn't leave out file manipulation (I
think the ISO Pascal people left it out, at least originally).
So the C90 people did a better job than the Pascal people.

Although that's partly my question - what belongs in a
language standard? Maybe the Pascal people got it right,
and C90 shouldn't have included a library at all - that should
have been a completely different document.

But manipulating directories is still very important.

As far as I know, there was never any LOGICAL barrier
to including basic directory manipulation in C90.

There were presumably some mainframe people hanging
around who said "you can't add directory manipulation -
directories don't exist on normal MVS".

Which isn't completely true.

And there would have been a time constraint too - we'll
add directory manipulation separately.

But I'm not interested in time constraints or personality
constraints.

I'm interested in logical constraints.

There is an existing secondary standard that does provide support
for directories, among a lot of other things.  POSIX.  If I wanted
a system that was based on C90 and could handle directories,
I can't think of a good reason not to use C90+POSIX.  (You might
have ideological reasons to insist on an earlier edition of POSIX.)
>
(MS Windows does not directly support POSIX, or at least does not
do so usefully, but my impression is that you don't care about that.)

That is incorrect. I do care about Windows. And MSDOS too.

Both support directories.

So any standard for directory manipulation would need to
cover them. And cover mainframes too.

You could argue I could take just the subset of POSIX that
refers to directory manipulation. And then subset that further
to only include the filename. But then I'm missing the directory
flag.

I could subset their flags.

Or I could do what the folder.c routines do an add a "/"
indicator at the end.

The latter seems neater to me.

But it could potentially be even neater if it was hidden
away behind a standard fopen etc call.

That's my question.

If you want to define your own language based on C90, you're free
to do so.  You've talked about "extending" C90.  Some people here
have interpreted that to mean you want to change what C90 is, so
there's something called "C90" that includes some stuff you've added.
Calling your language "C90" will cause confusion and some anger.
But you can do exactly the same thing by defining a *new* language
*with a different name* that's based on C90 with whatever additions
you want.  The name can even start with "C", just as "C++" does.

Sure. I've previously mentioned C90+ or C90+-

I don't really care what the name is. It would only be a
working name at this point in time.

Many of us think that would be a waste of time, but it's not our
time that's being wasted.

Sure - I don't expect everyone (or anyone) to agree that
it is useful.

And if you want your new language to support directory operations,
my advice would be to incorporate POSIX directory operations into
your new language's standard library.

Why not hide it in fopen()? That's my original question.

Why should it be opendir() instead of fopen()?

That's my unanswered question.

Plus you just said above that it would be reasonable for
the POSIX directory operations to be directly incorporated
into C90+'s "standard library".

The C90 people didn't choose to do that.

That doesn't necessarily constrain the C90+ people.

But it does beg the question - would it have been
ACCEPTABLE for the ANSI 89 people to have
put that directory manipulation stuff into the C89
standard IF they could do so quickly?

Or would that be an ABOMINATION?

What is the PHILOSOPHY about what SHOULD
be included in a standard?

I don't see what bearing my opinion on C99 (or politics,
or anything) has on a technical discussion of C90, but
so be it.

It *should* have no bearing at all.  The problem is that if you
come here and say that C99 is a "complete and utter joke" or make
similarly inflammatory statements, people are going to react.
If you don't want that reaction, don't make statements like that.

I didn't say I didn't want the reaction. I don't care if there is
or isn't a reaction.

What I care about is whether the technical question has been
addressed or not.

It hasn't been addressed. Nor has fpeek() in a previous thread.
Nor ESC_STR.

YMMV.

BFN. Paul.



Date Sujet#  Auteur
20 May 25 * encapsulating directory operations307Paul Edwards
20 May 25 +* Re: encapsulating directory operations83Lawrence D'Oliveiro
20 May 25 i+* Re: encapsulating directory operations20Paul Edwards
21 May 25 ii`* Re: encapsulating directory operations19Lawrence D'Oliveiro
21 May 25 ii `* Re: encapsulating directory operations18Paul Edwards
21 May 25 ii  `* Re: encapsulating directory operations17Lawrence D'Oliveiro
21 May 25 ii   +* Re: encapsulating directory operations3Paul Edwards
22 May 25 ii   i`* Re: encapsulating directory operations2Lawrence D'Oliveiro
22 May 25 ii   i `- Re: encapsulating directory operations1Kaz Kylheku
22 May 25 ii   `* Re: encapsulating directory operations13James Kuyper
22 May 25 ii    `* Re: encapsulating directory operations12Lawrence D'Oliveiro
22 May 25 ii     `* Re: encapsulating directory operations11James Kuyper
22 May 25 ii      `* Re: encapsulating directory operations10Lawrence D'Oliveiro
23 May 25 ii       `* Re: encapsulating directory operations9James Kuyper
23 May 25 ii        `* Re: encapsulating directory operations8Kaz Kylheku
23 May 25 ii         +* Re: encapsulating directory operations3Paul Edwards
23 May 25 ii         i+- Re: encapsulating directory operations1Kaz Kylheku
24 May 25 ii         i`- Re: encapsulating directory operations1Lawrence D'Oliveiro
23 May 25 ii         `* Re: encapsulating directory operations4James Kuyper
23 May 25 ii          `* Re: encapsulating directory operations3Kaz Kylheku
24 May 25 ii           `* Re: encapsulating directory operations2James Kuyper
24 May 25 ii            `- Re: encapsulating directory operations1Kaz Kylheku
31 May 25 i`* Re: encapsulating directory operations62Bonita Montero
31 May 25 i `* Re: encapsulating directory operations61Lawrence D'Oliveiro
1 Jun 25 i  `* Re: encapsulating directory operations60Bonita Montero
1 Jun 25 i   `* Re: encapsulating directory operations59Lawrence D'Oliveiro
2 Jun 25 i    `* Re: encapsulating directory operations58Bonita Montero
3 Jun 25 i     +* Re: encapsulating directory operations2James Kuyper
3 Jun 25 i     i`- Re: encapsulating directory operations1Kaz Kylheku
3 Jun 25 i     +* Re: encapsulating directory operations9Lawrence D'Oliveiro
10 Jun 25 i     i`* Re: encapsulating directory operations8Bonita Montero
10 Jun 25 i     i +- Re: encapsulating directory operations1Bonita Montero
10 Jun 25 i     i +- Re: encapsulating directory operations1Kaz Kylheku
11 Jun 25 i     i `* Re: encapsulating directory operations5Lawrence D'Oliveiro
11 Jun 25 i     i  `* Re: encapsulating directory operations4Bonita Montero
11 Jun 25 i     i   +- Re: encapsulating directory operations1Lawrence D'Oliveiro
11 Jun 25 i     i   `* Re: encapsulating directory operations2Bonita Montero
12 Jun 25 i     i    `- Re: encapsulating directory operations1Lawrence D'Oliveiro
3 Jun 25 i     `* Re: encapsulating directory operations46Bonita Montero
6 Jun 25 i      `* Re: encapsulating directory operations45Bonita Montero
6 Jun 25 i       `* Re: encapsulating directory operations44Bonita Montero
6 Jun 25 i        `* Re: encapsulating directory operations43Bonita Montero
6 Jun 25 i         `* Re: encapsulating directory operations42wij
7 Jun 25 i          `* Re: encapsulating directory operations41Bonita Montero
7 Jun 25 i           `* Re: encapsulating directory operations40wij
7 Jun 25 i            `* Re: encapsulating directory operations39Bonita Montero
7 Jun 25 i             `* Re: encapsulating directory operations38wij
7 Jun 25 i              `* Re: encapsulating directory operations37Bonita Montero
7 Jun 25 i               +* Re: encapsulating directory operations22wij
7 Jun 25 i               i+- Re: encapsulating directory operations1Bonita Montero
8 Jun 25 i               i`* Re: encapsulating directory operations20Bonita Montero
8 Jun 25 i               i +* Re: encapsulating directory operations12Muttley
8 Jun 25 i               i i`* Re: encapsulating directory operations11Bonita Montero
8 Jun 25 i               i i `* Re: encapsulating directory operations10Muttley
8 Jun 25 i               i i  +* Re: encapsulating directory operations3Bonita Montero
9 Jun 25 i               i i  i`* Re: encapsulating directory operations2Muttley
9 Jun 25 i               i i  i `- Re: encapsulating directory operations1Bonita Montero
8 Jun 25 i               i i  +* Re: encapsulating directory operations2Kaz Kylheku
10 Jun 25 i               i i  i`- Re: encapsulating directory operations1Tim Rentsch
8 Jun 25 i               i i  +- Re: encapsulating directory operations1Bonita Montero
9 Jun 25 i               i i  +- Re: encapsulating directory operations1wij
9 Jun 25 i               i i  `* Re: encapsulating directory operations2Muttley
9 Jun 25 i               i i   `- Re: encapsulating directory operations1Bonita Montero
8 Jun 25 i               i +* Re: encapsulating directory operations5wij
8 Jun 25 i               i i`* Re: encapsulating directory operations4Bonita Montero
8 Jun 25 i               i i `* Re: encapsulating directory operations3wij
8 Jun 25 i               i i  `* Re: encapsulating directory operations2Bonita Montero
8 Jun 25 i               i i   `- Re: encapsulating directory operations1wij
9 Jun 25 i               i `* Re: encapsulating directory operations2Lawrence D'Oliveiro
9 Jun 25 i               i  `- Re: encapsulating directory operations1Bonita Montero
7 Jun 25 i               `* Re: encapsulating directory operations14Janis Papanagnou
8 Jun 25 i                `* Re: encapsulating directory operations13Bonita Montero
8 Jun 25 i                 +- Re: encapsulating directory operations1Chris M. Thomasson
8 Jun 25 i                 `* Re: encapsulating directory operations11Bonita Montero
9 Jun 25 i                  +* Re: encapsulating directory operations8Bonita Montero
9 Jun 25 i                  i+* Re: encapsulating directory operations6Bonita Montero
9 Jun 25 i                  ii+- Re: encapsulating directory operations1Bonita Montero
10 Jun 25 i                  ii+* Re: encapsulating directory operations3Muttley
10 Jun 25 i                  iii+- Re: encapsulating directory operations1Muttley
10 Jun 25 i                  iii`- Re: encapsulating directory operations1Chris M. Thomasson
10 Jun 25 i                  ii`- Re: encapsulating directory operations1Waldek Hebisch
9 Jun 25 i                  i`- Re: encapsulating directory operations1Richard Heathfield
10 Jun 25 i                  `* Re: encapsulating directory operations2Tim Rentsch
10 Jun 25 i                   `- Re: encapsulating directory operations1Bonita Montero
20 May 25 +* Re: encapsulating directory operations74Keith Thompson
20 May 25 i+* Re: encapsulating directory operations28Richard Heathfield
20 May 25 ii+- Re: encapsulating directory operations1Paul Edwards
20 May 25 ii+- Re: encapsulating directory operations1David Brown
20 May 25 ii+* Re: encapsulating directory operations7Kaz Kylheku
20 May 25 iii`* Re: encapsulating directory operations6Richard Heathfield
20 May 25 iii +* Re: encapsulating directory operations2Muttley
20 May 25 iii i`- Re: encapsulating directory operations1Paul Edwards
20 May 25 iii `* Re: encapsulating directory operations3Paul Edwards
20 May 25 iii  `* Re: encapsulating directory operations2Richard Heathfield
20 May 25 iii   `- Re: encapsulating directory operations1Paul Edwards
23 May 25 ii`* Re: encapsulating directory operations18Tim Rentsch
23 May 25 ii +* Re: encapsulating directory operations6Richard Heathfield
24 May 25 ii i`* Re: encapsulating directory operations5Tim Rentsch
24 May 25 ii i `* Re: encapsulating directory operations4Richard Heathfield
28 May 25 ii i  `* Re: encapsulating directory operations3Tim Rentsch
28 May 25 ii i   `* Re: encapsulating directory operations2Richard Heathfield
26 May 25 ii `* Re: encapsulating directory operations11Peter 'Shaggy' Haywood
20 May 25 i`* Re: encapsulating directory operations45Paul Edwards
20 May 25 +* Re: encapsulating directory operations144Kaz Kylheku
21 May 25 +* Re: encapsulating directory operations3Janis Papanagnou
22 May 25 +- Re: encapsulating directory operations1Bonita Montero
25 May 25 `- Re: encapsulating directory operations1Tim Rentsch

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal