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 May07:06 * encapsulating directory operations131Paul Edwards
20 May08:27 +* Re: encapsulating directory operations18Lawrence D'Oliveiro
20 May10:33 i`* Re: encapsulating directory operations17Paul Edwards
21 May01:10 i `* Re: encapsulating directory operations16Lawrence D'Oliveiro
21 May01:23 i  `* Re: encapsulating directory operations15Paul Edwards
21 May04:37 i   `* Re: encapsulating directory operations14Lawrence D'Oliveiro
21 May11:00 i    +* Re: encapsulating directory operations3Paul Edwards
22 May07:49 i    i`* Re: encapsulating directory operations2Lawrence D'Oliveiro
22 May08:02 i    i `- Re: encapsulating directory operations1Kaz Kylheku
22 May00:51 i    `* Re: encapsulating directory operations10James Kuyper
22 May06:04 i     `* Re: encapsulating directory operations9Lawrence D'Oliveiro
22 May19:13 i      `* Re: encapsulating directory operations8James Kuyper
22 May23:46 i       `* Re: encapsulating directory operations7Lawrence D'Oliveiro
23 May00:07 i        `* Re: encapsulating directory operations6James Kuyper
23 May00:15 i         `* Re: encapsulating directory operations5Kaz Kylheku
23 May00:26 i          +* Re: encapsulating directory operations2Paul Edwards
23 May01:44 i          i`- Re: encapsulating directory operations1Kaz Kylheku
23 May01:10 i          `* Re: encapsulating directory operations2James Kuyper
23 May03:08 i           `- Re: encapsulating directory operations1Kaz Kylheku
20 May10:18 +* Re: encapsulating directory operations56Keith Thompson
20 May10:33 i+* Re: encapsulating directory operations12Richard Heathfield
20 May10:45 ii+- Re: encapsulating directory operations1Paul Edwards
20 May12:42 ii+- Re: encapsulating directory operations1David Brown
20 May14:55 ii+* Re: encapsulating directory operations7Kaz Kylheku
20 May15:05 iii`* Re: encapsulating directory operations6Richard Heathfield
20 May15:09 iii +* Re: encapsulating directory operations2Muttley
20 May15:15 iii i`- Re: encapsulating directory operations1Paul Edwards
20 May15:48 iii `* Re: encapsulating directory operations3Paul Edwards
20 May16:02 iii  `* Re: encapsulating directory operations2Richard Heathfield
20 May16:28 iii   `- Re: encapsulating directory operations1Paul Edwards
23 May13:43 ii`* Re: encapsulating directory operations2Tim Rentsch
23 May14:27 ii `- Re: encapsulating directory operations1Richard Heathfield
20 May10:36 i`* Re: encapsulating directory operations43Paul Edwards
20 May13:23 i +* Re: encapsulating directory operations39David Brown
20 May14:47 i i`* Re: encapsulating directory operations38Paul Edwards
20 May15:37 i i +* Re: encapsulating directory operations10Richard Heathfield
20 May16:11 i i i`* Re: encapsulating directory operations9Paul Edwards
20 May16:43 i i i `* Re: encapsulating directory operations8Richard Heathfield
20 May22:15 i i i  +* Re: encapsulating directory operations2Paul Edwards
20 May23:50 i i i  i`- Re: encapsulating directory operations1Kaz Kylheku
21 May02:11 i i i  +- Re: encapsulating directory operations1Lawrence D'Oliveiro
21 May03:40 i i i  `* Re: encapsulating directory operations4James Kuyper
21 May05:50 i i i   `* Re: encapsulating directory operations3Richard Heathfield
21 May09:06 i i i    `* Re: encapsulating directory operations2David Brown
21 May09:27 i i i     `- Re: encapsulating directory operations1Richard Heathfield
20 May17:19 i i `* Re: encapsulating directory operations27David Brown
20 May17:43 i i  +* Re: encapsulating directory operations6Richard Heathfield
20 May18:14 i i  i+* Re: encapsulating directory operations4Kaz Kylheku
20 May18:20 i i  ii`* Re: encapsulating directory operations3Richard Heathfield
20 May19:50 i i  ii +- Re: encapsulating directory operations1Richard Heathfield
20 May20:34 i i  ii `- Re: encapsulating directory operations1Kaz Kylheku
21 May09:09 i i  i`- Re: encapsulating directory operations1David Brown
20 May17:51 i i  +- Re: encapsulating directory operations1Kaz Kylheku
20 May18:09 i i  +* Re: encapsulating directory operations2Richard Heathfield
20 May19:34 i i  i`- Re: encapsulating directory operations1Richard Heathfield
20 May22:41 i i  +* Re: encapsulating directory operations4Paul Edwards
20 May23:02 i i  i+- Re: encapsulating directory operations1Keith Thompson
21 May02:05 i i  i`* Re: encapsulating directory operations2Lawrence D'Oliveiro
21 May10:23 i i  i `- Re: encapsulating directory operations1Paul Edwards
20 May22:51 i i  +* Re: encapsulating directory operations9Paul Edwards
21 May05:31 i i  i`* Re: encapsulating directory operations8Richard Heathfield
21 May11:08 i i  i `* Re: encapsulating directory operations7Paul Edwards
21 May11:28 i i  i  +- Re: encapsulating directory operations1Richard Heathfield
21 May16:00 i i  i  `* Re: encapsulating directory operations5David Brown
21 May16:37 i i  i   `* Re: encapsulating directory operations4Richard Heathfield
21 May18:21 i i  i    +- Re: encapsulating directory operations1Michael S
22 May11:37 i i  i    `* Re: encapsulating directory operations2James Kuyper
22 May18:53 i i  i     `- Re: encapsulating directory operations1Kaz Kylheku
20 May23:09 i i  +- Re: encapsulating directory operations1Paul Edwards
21 May09:27 i i  `* Re: encapsulating directory operations3David Brown
21 May11:46 i i   `* Re: encapsulating directory operations2Paul Edwards
21 May15:46 i i    `- Re: encapsulating directory operations1David Brown
21 May01:12 i `* Re: encapsulating directory operations3Lawrence D'Oliveiro
21 May01:25 i  `* Re: encapsulating directory operations2Paul Edwards
21 May02:03 i   `- Re: encapsulating directory operations1Lawrence D'Oliveiro
20 May14:53 +* Re: encapsulating directory operations52Kaz Kylheku
20 May15:12 i`* Re: encapsulating directory operations51Paul Edwards
20 May22:41 i `* Re: encapsulating directory operations50Keith Thompson
20 May23:38 i  `* Re: encapsulating directory operations49Paul Edwards
21 May00:09 i   +* Re: encapsulating directory operations5Paul Edwards
21 May00:22 i   i+- Re: encapsulating directory operations1Keith Thompson
21 May01:18 i   i+* Re: encapsulating directory operations2Kaz Kylheku
21 May01:31 i   ii`- Re: encapsulating directory operations1Paul Edwards
21 May02:02 i   i`- Re: encapsulating directory operations1Lawrence D'Oliveiro
21 May00:18 i   +* Re: encapsulating directory operations34Keith Thompson
21 May00:57 i   i+* Re: encapsulating directory operations26Paul Edwards
21 May06:41 i   ii`* Re: encapsulating directory operations25Keith Thompson
21 May11:41 i   ii +* Re: encapsulating directory operations22Paul Edwards
21 May19:06 i   ii i+* Re: encapsulating directory operations19Keith Thompson
21 May19:22 i   ii ii+- Re: encapsulating directory operations1Keith Thompson
22 May22:10 i   ii ii+* Re: encapsulating directory operations14Paul Edwards
22 May23:32 i   ii iii+* Re: encapsulating directory operations12Keith Thompson
23 May00:16 i   ii iiii+* Re: encapsulating directory operations7Paul Edwards
23 May02:38 i   ii iiiii+- Re: encapsulating directory operations1Keith Thompson
23 May03:28 i   ii iiiii+* Re: encapsulating directory operations2Kaz Kylheku
23 May05:27 i   ii iiiiii`- Re: encapsulating directory operations1Keith Thompson
23 May06:08 i   ii iiiii`* Re: encapsulating directory operations3Janis Papanagnou
23 May06:20 i   ii iiiii `* Re: encapsulating directory operations2Keith Thompson
23 May06:43 i   ii iiiii  `- Re: encapsulating directory operations1Janis Papanagnou
23 May16:09 i   ii iiii`* Re: encapsulating directory operations4Richard Harnden
23 May17:50 i   ii iiii `* Re: encapsulating directory operations3Richard Heathfield
22 May23:44 i   ii iii`- Re: encapsulating directory operations1Paul Edwards
22 May23:06 i   ii ii`* Re: encapsulating directory operations3Paul Edwards
21 May20:31 i   ii i`* Re: encapsulating directory operations2Kaz Kylheku
22 May22:52 i   ii `* Re: encapsulating directory operations2Paul Edwards
21 May03:21 i   i`* Re: encapsulating directory operations7Kaz Kylheku
21 May03:26 i   +* Re: encapsulating directory operations7James Kuyper
21 May22:19 i   `* Re: encapsulating directory operations2Waldek Hebisch
21 May03:35 +* Re: encapsulating directory operations3Janis Papanagnou
22 May19:34 `- Re: encapsulating directory operations1Bonita Montero

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal