Making some tries, on my ubuntu, i found out that it changes every
time i execute the program. So, there's no way to predict what
addresses the env vars would take?
I need these infos cuz i need to put datas in the stack to be easily
picked up by the program itself, without using getenv, only with an
address.
The C standard itself doesn't say much about environment variables.
It defines the getenv() function, which returns a pointer to a string
containing the value of a specified environment variable. C doesn't
even guarantee that getenv("FOO") will return the same address when
you call it twice in a row.
Generally, *no* addresses are going to be consistent from one
execution of a program to another.
Since your question appears to be specific to Unix-like systems, I
suggest asking in comp.unix.programmer. When you do, you should be
more specific about your requirements; based on what you've written, I
can't figure out what you're trying to do.
--
Keith Thompson (The_Other_Keith) ks...@mib.org <http://www.ghoti.net/~kst>
Nokia
"We must do something. This is something. Therefore, we must do this."
-- Antony Jay and Jonathan Lynn, "Yes Minister"
Traditionally with Unix the environment is passed to the main
function as a usually ignored third parameter, conventionally known
as envp if memory serves. The code below is a simple 'env' command:
#include <stdio.h>
int main(int argc, char *argv[], char *envp[])
{
int i;
for (i = 0; envp[i] != NULL; i++)
printf("%s\n", envp[i]);
return 0;
}
No idea if envp made it into POSIX, but the above works fine on
this NetBSD system with gcc 3.3.3. None of this is covered by ANSI
C of course.
--
Andrew Smallshaw
and...@sdf.lonestar.org
The two common ways of accessing the environment directly on
many Unix and Unix-like systems are as follows:
(1) Through a third argument to the main() function, typically
called 'envp' and used in a manner analogous to 'argv'.
(2) Through the global 'environ' variable, which is a
char **.
> I need these infos cuz i need to put datas in the stack to be easily
> picked up by the program itself, without using getenv, only with an
> address.
I have some idea of what you're trying to do. What may help you is
that execle() and execve() let you control the environment of the
program you're executing. So instead of using setenv() or putenv()
in the calling program or screwing around with the shell, you can do
something like
char *my_env[] = {"MYVAR=mydata", NULL};
and pass that as the final argument to execle() or execve().
That may be one way of helping you with consistency, and you can
also use a consistent argv[0] length in those exec* calls.
However, there are various factors (including kernel modifications)
on modern systems that may make getting a consistent location across
program executions extremely difficult. Also, if you're trying to
execute assembly code stashed in the environment, this may not even
be allowed on some of these systems.
My advice is to make sure you're reading from material that is no
more than 5 years old.
Yours,
Han from China
You read wrong.
> Making some tries, on my ubuntu, i found out that it changes every
> time i execute the program. So, there's no way to predict what
> addresses the env vars would take?
There is no standard way to do it.
> I need these infos cuz i need to put datas in the stack to be easily
> picked up by the program itself, without using getenv, only with an
> address.
There is no standard way to do it, and there may well be no non-standard
way to do it either. I suggest that instead of trying to do things in
some strange and non-standard way you use a standard mechanism, such as
command-line parameters or environment variables.
--
Flash Gordon
If spamming me sent it to sm...@spam.causeway.com
If emailing me use my reply-to address
See the comp.lang.c Wiki hosted by me at http://clc-wiki.net/
>Making some tries, on my ubuntu, i found out that it changes every
>time i execute the program. So, there's no way to predict what
>addresses the env vars would take?
Some modern operating systems, including Linux, deliberately randomise
the stack address to make buffer-overflow and similar attacks more
difficult. See
http://en.wikipedia.org/wiki/Address_space_layout_randomization
>I need these infos cuz i need to put datas in the stack to be easily
>picked up by the program itself, without using getenv, only with an
>address.
I can't see any good reason to do that. It makes your program
unportable and, as you see, is rather difficult to achieve.
-- Richard
--
Please remember to mention me / in tapes you leave behind.
Works fine on an older Linux server kernel 2.4.22 gcc 3.2.2.
(3) use getenv()
By, Jojo
Note that the above is completely illogical.
There may be no one who can enforce topicality, but the fact is that
there are known standards for topicality, These have some fuzziness at
the edges, but most posts are clearly topical or clearly not-topical.
One does not need an enforcer to know this; to suggest that one does
need such an enforcer or else there are no norms suggests that
"Anonymous" is an extremely sick person with no place in any society.
.. as people with empty killfiles are wont to do. I knew you
were smug, Martin, but I didn't know you were Jack Klein kind of
smug.
Yours,
Han from China
Umm, no. For two reasons:
(1) The OP said he doesn't want to use getenv().
(2) The type of access provided by getenv() could best
be described as a keyed access, not direct access. If you
don't know what you're looking for, you're screwed with
getenv().
Yours,
Han from China
Yes, I deliberatly ignored this. (to be perfectly honest: I just missed
it...)
> (2) The type of access provided by getenv() could best
> be described as a keyed access, not direct access. If you
> don't know what you're looking for, you're screwed with
> getenv().
True, however: using getenv() is the only portable way.
Bye, Jojo
PKB (at best)
The reality is that you're not qualified to shine Mr. Twink's shoes.
not really. There are plenty of ways to write to stdout.
There's only one way to read an environmental variable
<pedantic> using the stanadrard library </pedantic>.
--
You missed the point.
You're making life difficult for yourself. If they're environment
variables, use the environment variable mechanisms; don't mess around
trying to shortcut things, because it will almost certainly cost you,
later if not sooner.
--
"2008 is when it all changes, and you've got to be ready" Unsaid /Torchwood/
Hewlett-Packard Limited registered office: Cain Road, Bracknell,
registered no: 690597 England Berks RG12 1HN
The OP made it clear that he isn't interested in using the
standard library on this occasion. If he had asked "What's
the best way to access an environment variable in a
reasonably portable manner?" my answer would have been
"Use getenv() - but please be aware that the C standard
leaves so much implementation-defined in this regard that,
depending on what exactly you're wanting to do and your
target audience, it's possible your net portability gain
over using a platform-specific solution isn't all that
great."
In fact, I think that, *practically* speaking, anything the
standard declares as implementation-defined may as well just
have been declared as undefined when it comes to *real-world*
programming in heterogeneous environments - the reason being
that if you have to look at a bunch of implementations'
documentation manuals anyway, you may as well use the best
implementation-specific solution in each case.
Yes, I think from now on I too will be a pedant and advise
against all programming that relies on implementation-defined
properties or behaviors for which you may have to check
implementation documentation. The first victim will be
fopen().
Yours,
Han from China
> Nick Keighley wrote:
>> not really. There are plenty of ways to write to stdout.
>> There's only one way to read an environmental variable
>> <pedantic> using the stanadrard library </pedantic>.
>
> The OP made it clear that he isn't interested in using the
> standard library on this occasion.
You *are* the OP for this thread. Duh.
Please learn how to use Usenet properly.
--
Richard Heathfield <http://www.cpax.org.uk>
Email: -http://www. +rjh@
Google users: <http://www.cpax.org.uk/prg/writings/googly.php>
"Usenet is a strange place" - dmr 29 July 1999
Before I started posting "in-thread", I offered this:
I still can't inject a "References" header though, so I'm assuming
that if I use the same subject line as the original message,
most newsreaders will or can be made to thread properly.
I'm afraid your convenience isn't exactly my number one concern
these days, Richard.
Yours,
Han from China
Il mittente di questo messaggio|The sender address of this
non corrisponde ad un utente |message is not related to a real
reale ma all'indirizzo fittizio|person but to a fake address of an
di un sistema anonimizzatore |anonymous system
Per maggiori informazioni |For more info
https://www.mixmaster.it
> Richard Heathfield,
>
> Before I started posting "in-thread", I offered this:
>
> I still can't inject a "References" header though, so I'm
> assuming that if I use the same subject line as the original
> message, most newsreaders will or can be made to thread
> properly.
That isn't how newsreaders work. The "References" header is key to
threading. Either you know this and are being an idiot
deliberately, in which case I suggest you stop, or you don't know
it and are being unwittingly ignorant, in which case I suggest you
learn. Either way, if you can't get a working newsreader, even the
thrice-accursed Google Groups would be an improvement on your
current setup.
> I'm afraid your convenience isn't exactly my number one concern
> these days, Richard.
I'm not worried about my convenience. I'm just trying to help you to
get a clue. If you are naturally clue-resistant (and this certainly
appears to be the case, given your posting history), that's hardly
my problem.
Richard,
I have taken the liberty of quoting some relevant verses from your
moral standard for you to study. I shall paste these from time
to time whenever you feel the need to derail a thread with your
incendiary posts and hate-driven words.
"The second is this, 'You shall love your neighbor as yourself.' There is no
other commandment greater than these."
-- Mark 12:28-31
"There is a saying, 'Love your friends and hate your enemies.'
But I say: Love your enemies! Pray for those who persecute you!
In that way you will be acting as true sons of your Father in
heaven. For he gives his sunlight to both the evil and the good,
and sends rain on the just and on the unjust too. If you love
only those who love you, what good is that? Even scoundrels do
that much. If you are friendly only to your friends, how are you
different from anyone else? Even the heathen do that. But you are
to be perfect, even as your Father in heaven is perfect."
-- Matthew 5:43-48
"You have heard that it was said, 'An eye for an eye, and a tooth
for a tooth.' But I say to you, do not resist him who is evil;
but whoever slaps you on your right cheek, turn to him the other
also."
-- Matthew 5:38-39
"Then He will answer them, saying, 'Truly I say to you, to the
extent that you did not do it to one of the least of these, you did
not do it to Me.' And these will go away into eternal punishment,
but the righteous into eternal life."
-- Matthew 25:31-46
"So in everything, do to others what you would have them do to you,
for this sums up the Law and the Prophets."
-- Matthew 7:12
"Do not judge, or you too will be judged. For in the same way you judge
others, you will be judged, and with the measure you use, it will be
measured to you. Why do you look at the speck of sawdust in your brother's
eye and pay no attention to the plank in your own eye? How can you say to
your brother, 'Let me take the speck out of your eye,' when all the time
there is a plank in your own eye? You hypocrite, first take the plank out
of your own eye, and then you will see clearly to remove the speck from your
brother's eye."
-- Matthew 7:1-5
Yours,
Han from China
> Richard Heathfield wrote:
>> idiot
> ..
>> get a clue
> ..
>> clue-resistant
I don't know why you think quoting a few words out of context is
meaningful, but I assure you you're mistaken.
> Richard,
>
> I have taken the liberty of quoting some relevant verses from your
> moral standard for you to study. I shall paste these from time
> to time whenever you feel the need to derail a thread with your
> incendiary posts and hate-driven words.
You are also mistaken in your apparent belief that any of my posts
are incendiary, and you are mistaken to think that my words are
driven by hate. On the contrary, I was trying to help Mr Orwell to
overcome a problem that you and he seem to share - the inability to
understand the need for a good newsreader.
Incidentally, a number of good, free newsreaders exist, including
Thunderbird and Free Agent (both Windows, I think) and of course
KNode for Linux.
<Bible quotes snipped>
It would be astoundingly unwise to attempt to start a discussion
about religion in comp.lang.c - even if the religion in question is
C itself. It can be extraordinarily difficult to communicate even
the simplest and least controversial C ideas (e.g. the distinction
between the language - which is topical here - and implementations
thereof - which aren't) in a way that some of our more bone-headed
trolls will admit to understanding (in fact, I don't know that it's
ever been achieved). If they can't understand something as simple
as that, what price the eternal verities?
Yes, you certainly can, by using a newsreader (or even Google Groups)
rather than whatever malfunctioning mail-to-news gateway you're using.
You could even remain anonymous: set up a Google account under
whatever pseudonym you like and use it to post.
> I'm afraid your convenience isn't exactly my number one concern
> these days, Richard.
Your behavior makes it clear that everybody else's *inconvenience* is
your number one concern.
Richard,
I have taken the liberty of quoting some relevant verses from your
moral standard for you to study. I shall paste these from time
to time whenever you feel the need to derail a thread with your
incendiary posts and hate-driven words.
"The second is this, 'You shall love your neighbor as yourself.' There is no
> Richard Heathfield wrote:
>> idiot
> ..
>> get a clue
> ..
>> clue-resistant
>
> Richard,
>
> I have taken the liberty of quoting some relevant verses from your
> moral standard for you to study.
I refer you to the reply I made earlier to a very similar article.
> I shall paste these from time
And I care how, exactly? If you want a religious discussion, find a
religious newsgroup. soc.religion.* looks promising.
Credit where credit is due, Mr. Heathfield.
If you can keep your future insults of me as eloquent as that, I'll
have some grudging respect for you.
Yours,
Han from China
I'll do that if you do the following:
Send a death threat to the President of the United States. Put
your own home address on the back as a sender address, but for
the sender name, put "Donald Duck".
Let me know how that works out for you.
Yours,
Han from China
have some grudging respect for you.
Yours,
Han from China
Let me know how that works out for you.
Yours,
Han from China
<snip>
> Credit where credit is due, Mr. Heathfield.
>
> If you can keep your future insults of me as eloquent as that,
> I'll have some grudging respect for you.
I'm not after your respect. And you're not after mine - which is
just as well.
Credit where credit is due, Mr. Heathfield.
If you can keep your future insults of me as eloquent as that, I'll
have some grudging respect for you.
Yours,
Han from China
> "Do not judge, or you too will be judged. For in the same way you
> judge others, you will be judged, and with the measure you use, it
> will be measured to you. Why do you look at the speck of sawdust in
> your brother's eye and pay no attention to the plank in your own eye?
> How can you say to your brother, 'Let me take the speck out of your
> eye,' when all the time there is a plank in your own eye? You
> hypocrite, first take the plank out of your own eye, and then you
> will see clearly to remove the speck from your brother's eye."
> -- Matthew 7:1-5
Just remember, this applies to you to Chrisitan or not.
He's afraid of exposing his IP address. IMO that's because he is probably
already a "regular" around here and doesn't want to risk being found out.
<snip>
> Just remember, this applies to you to Chrisitan or not.
Actually, it doesn't. I'm not the one around here pretending
to be an icon of moral purity. I'm an asshole and I know it.
Heathfield is an asshole and pretends otherwise, parading
himself as a Christian. My moral code is as follows:
Be an asshole.
You can't fault me on my moral code, because I follow it.
I'm not a hypocrite. Heathfield claims to follow a moral
code given in the Bible, but he doesn't follow it.
Heathfield is a hypocrite. As he said about Tomas, that
would call his good judgement into question.
> He's afraid of exposing his IP address. IMO that's because
> he is probably already a "regular" around here and doesn't
> want to risk being found out.
No, it's because Heathfield and his crew are known for sending
"abuse" complaints at every drop of a hat. Why else do you think
he'd be whining about Google being unresponsive to his mails
concerning Google Groups users?
Yours,
Han from China
>You can't fault me on my moral code, because I follow it.
>I'm not a hypocrite.
If your moral code sucks, being a hypocrite is a good thing.
-- Richard
--
Please remember to mention me / in tapes you leave behind.
> Just remember, this applies to you to Chrisitan or not.
Actually, it doesn't. I'm not the one around here pretending
to be an icon of moral purity. I'm an asshole and I know it.
Heathfield is an asshole and pretends otherwise, parading
himself as a Christian. My moral code is as follows:
Be an asshole.
You can't fault me on my moral code, because I follow it.
I'm sure you of all people are aware that 'sucks' presupposes
an objective moral code for determining, among other things,
whether another moral code sucks. AFAIK, the philosophers are
still debating the whole moral objectivity thing. I know from
personal experience, however, that my moral code of "be an
asshole" works better and gives me more fulfilling results in
my life than any other I've tried. I'm open-minded should a
better moral code come along, but I would have to put it to
the test for a few months before accepting it.
Jesus wasn't talking to (or about) Christians when he said that; it applies
to everyone.
> My moral code is as follows:
> Be an asshole.
> You can't fault me on my moral code, because I follow it.
So does a serial killer....
> I'm not a hypocrite. Heathfield claims to follow a moral
> code given in the Bible, but he doesn't follow it.
I've heard him make no such claims. I suppose you really mean that he is a
member of a group that believes in a moral code and strives to follow it
even though he is still human and will fall short of the goal. Your
statements about Christianity are naively simplistic at best.
> Heathfield is a hypocrite. As he said about Tomas, that
> would call his good judgement into question.
You claim your moral code requires you to be an asshole, yet you are often
blatently polite and helpful. Isn't that hypocritical?
>> He's afraid of exposing his IP address. IMO that's because
>> he is probably already a "regular" around here and doesn't
>> want to risk being found out.
>
> No, it's because Heathfield and his crew are known for sending
> "abuse" complaints at every drop of a hat. Why else do you think
> he'd be whining about Google being unresponsive to his mails
> concerning Google Groups users?
Ok, have it your way. It's just that I don't understand why you'd be
worried about abuse complaints, when you just acknowledged that Google is
unresponsive to them. As if you couldn't just create a new account
anyway.......
He is "regular" in the same sense that the word is used
in advertisements for laxatives.
--
Eric Sosman
eso...@ieee-dot-org.invalid
An asshole is allowed to be hypocritical.
But is an asshole allowed to be polite and helpful?
You'd first have to establish whether I've been polite
and helpful. According to a number of people on this
newsgroup, I have not. How do you propose we make the
determination?
Please stop feeding the troll.
> > not really. There are plenty of ways to write to stdout.
> > There's only one way to read an environmental variable
> > <pedantic> using the [standard] library </pedantic>.
>
> The OP made it clear that he isn't interested in using the
> standard library on this occasion.
and I think he is making a mistake.
> If he had asked "What's
> the best way to access an environment variable in a
> reasonably portable manner?" my answer would have been
> "Use getenv()
oh good
> - but please be aware that the C standard
> leaves so much implementation-defined in this regard
I don't see a great deal of implementation defined behaviour for
getenv() in my copy of the standard. The list of environmental
variables is implementaion defined, but then I don't see how it could
be otherwise. We *want* the freedom to define new environmental
variables.
Yes, it's ID how you alter EVs but then taht isn't a problem for getenv
().
You are being intentionally obtuse.
> that,
> depending on what exactly you're wanting to do and your
> target audience, it's possible your net portability gain
> over using a platform-specific solution isn't all that
> great."
cobblers.
getenv() provides a reasonably defined interface that is
portable across a wide range of platforms. The only deficency
I can see is the lack of a setenv(). But the OP seems
only to want "a more effiecient" way of reading EVs. How does he
know getenv() is too slow? Has he timed it?
> In fact, I think that, *practically* speaking, anything the
> standard declares as implementation-defined may as well just
> have been declared as undefined when it comes to *real-world*
> programming in heterogeneous environments
I disagree. I've ported things that used getenv() and other
standard library functions with minor cases of ID behaviour
without any great trouble (usually without *any* trouble).
> - the reason being
> that if you have to look at a bunch of implementations'
> documentation manuals anyway, you may as well use the best
> implementation-specific solution in each case.
I strongly disagree. I don't spend a great deal of time
speelunking manuals for ID behaviour. Many of the standard
library functions make enough guarantees to make this unneccessary,
You are creating work for yourself. Or rather I think
you are maliciously trying to create work for people foolish
enough to believe what you say.
> Yes, I think from now on I too will be a pedant and advise
> against all programming that relies on implementation-defined
> properties or behaviors for which you may have to check
> implementation documentation.
then you are a troll and an idiot. But I repeat myself.
> The first victim will be fopen().
a perfect example of your idiocy. The last time I saw
a need to fool arounbd with implemtaion behaviour with fopen()
was on VMS. I suspect IBM mainframes may necessiate it.
--
Nick Keighley
I prefer the KJV version. Motes and beams are much more fun than
specks and planks.
"
1Judge not, that ye be not judged.
2For with what judgment ye judge, ye shall be judged: and with what
measure ye mete, it shall be measured to you again.
3And why beholdest thou the mote that is in thy brother's eye, but
considerest not the beam that is in thine own eye?
4Or how wilt thou say to thy brother, Let me pull out the mote out
of thine eye; and, behold, a beam is in thine own eye?
5Thou hypocrite, first cast out the beam out of thine own eye;
and then shalt thou see clearly to cast out the mote out of thy
brother's eye. "
--
Nick Keighley
> I have taken the liberty of quoting some relevant verses from your
> moral standard for you to study. I shall paste these from time
> to time whenever you feel the need to derail a thread with your
> incendiary posts and hate-driven words.
<snip>
> "Do not judge, or you too will be judged. For in the same way you judge
> others, you will be judged, and with the measure you use, it will be
> measured to you. Why do you look at the speck of sawdust in your brother's
> eye and pay no attention to the plank in your own eye? How can you say to
> your brother, 'Let me take the speck out of your eye,' when all the time
> there is a plank in your own eye? You hypocrite, first take the plank out
> of your own eye, and then you will see clearly to remove the speck from your
> brother's eye."
> -- Matthew 7:1-5
In your case the next verse seems quite relevent:-
"Give not that which is holy unto the dogs, neither cast ye your
pearls
before swine, lest they trample them under their feet, and turn again
and
rend you."
> On 15 Dec, 16:33, Anonymous <cri...@ecn.org> wrote:
<snip>
>> Yes, I think from now on I too will be a pedant and advise
>> against all programming that relies on implementation-defined
>> properties or behaviors for which you may have to check
>> implementation documentation.
>
> then you are a troll and an idiot. But I repeat myself.
Er, no you don't. A troll can be an idiot, and an idiot can be a
troll, but their isomorphism is far from being a given.
>> The first victim will be fopen().
>
> a perfect example of your idiocy. The last time I saw
> a need to fool arounbd with implemtaion behaviour with fopen()
> was on VMS. I suspect IBM mainframes may necessiate it.
You suspect wrongly. IBM mainframes make fopen an interesting
challenge for implementors, what with the need to sort out record
lengths and formats, and block sizes at opening-time, but
implementors have long since found a way to transfer most of this
work to the JCL, allowing the fopen interface to remain portable.
What's sauce for the goose is sauce for the gander, Heathfield.
If you find it uncomfortable when someone hijacks a technical discussion
by bringing up your personal beliefs to try to cast aspersions on your
judgment, why not explain *why* you find it uncomfortable? I'm sure
Thomas O'hilde would be interested to hear the answer.
Exactly. PLOMKing is recommended.
--
[mail]: Chuck F (cbfalconer at maineline dot net)
[page]: <http://cbfalconer.home.att.net>
Try the download section.
He is a nymshift along with 'anonymous' and 'Han from China', etc.
> Eric Sosman wrote:
>> Anthony Fremont wrote:
>>> Keith Thompson wrote:
>>>> George Orwell <nob...@mixmaster.it> writes:
>>>>
> ... snip ...
>>>>
>>>>> I still can't inject a "References" header though, so I'm
>>>>> assuming that if I use the same subject line as the original
>>>>> message, most newsreaders will or can be made to thread
>>>>> properly.
>>>>
>>>> Yes, you certainly can, by using a newsreader (or even Google
>>>> Groups) rather than whatever malfunctioning mail-to-news
>>>> gateway you're using. You could even remain anonymous: set up a
>>>> Google account under whatever pseudonym you like and use it to
>>>> post.
>>>
>>> He's afraid of exposing his IP address. IMO that's because he
>>> is probably already a "regular" around here and doesn't want to
>>> risk being found out.
>>
>> He is "regular" in the same sense that the word is used in
>> advertisements for laxatives.
>
> He is a nymshift along with 'anonymous' and 'Han from China', etc.
Do you mean he isn't really George Orwell? Just an impostor? Well,
tsk tsk tsk. Oh, and tut. Possibly two tuts.
Trust me, this newsgroup is a troll's delight.
There's always food available. Even a Keith Thompson
"please don't feed the troll" serves as nutritious food.
People here are chronically unable to plonk me, and my posts
have the desired effect, especially when "regulars" like
vippstar, Barry Schwarz, and Martin Ambuhl have too much of
an ego to ignore my corrections to their posts.
And if I ever feel completely ignored, all I have to do is post
something way out in left field, and the "regulars" swoop down
and acknowledge my existence. It's like Pavlov's dogs.
Regardless of all that, there is the simple fact that I suspect
quite a number of people here actually like me and enjoy my
contributions. Not everyone here considers me a troll, and I
know that must be causing certain "regulars" excruciating pain.
Tough shit.
"Then you are a troll and an idiot." Or something.
It's clear as day what the OP is trying to do, especially to
those who have been paying attention to his other posts
in recent days. Hint: It's got absolutely nothing to do with
efficiency. Hint: getenv() is completely useless for what he's
trying to do.
The rest of your post is so amusing that I feel the need to quote
it. Look for the pattern:
"I disagree [I disagree!]... usually without *any*
trouble. [Hang on, maybe I agree!]"
"a perfect example of your idiocy [I disagree!] The
last time I saw a need to fool arounbd with implemtaion
behaviour with fopen() was on VMS. [Hang on, maybe I
agree!]"
If there are systems out there for which you have to fool
around with implementation-defined behavior or properties
when using fopen(), then clearly there are implementation-
defined aspects of fopen() that you must consider whenever
using the function in "portable" code. If you're going to
have to make allowances for different systems out there,
then you may as well simply use the best solution for each
system anyway. (Or different *possible* systems out
there - remember, this is comp.lang.c, home of the abstract
machine, so we can't consider what *is* out there, as you are
doing when you talk about VMS and IBM mainframes, in much
the same way as we're not allowed to consider what *is* out
there when talking about hardware-based stacks.)
Yours,
Han from China
> Be an asshole.
Being an asshole is one thing, but you're a boring asshole, which is
unforgivable.
And now you're starting to be a _repetitive_ boring asshole. This does
your case little good.
Richard
Doesn't that make me more of an asshole?
> And now you're starting to be a _repetitive_ boring asshole. This does
> your case little good.
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Doesn't that make me more of an asshole?
Yours,
Han from China
FYI a PLONK manages to remove the _repetitive_ and boring
attributes, in the absence of quoting of the _repetitive_ boring
messages from the asshole. The asshole attribute is not
eliminatable.
Isn't the purpose of a plonk not to have me impinging on
your awareness? Yet one could gather from your posts in this
thread that a plonk doesn't really do all that much, after
all. If you're having such difficulty eliminating the quoted
replies to me, then you need to learn how to write proper
killfiles.
Whereas I strongly suspect Jack Klein has an empty killfile
and I strongly suspect Eric Sosman does not have an empty
killfile, I have 100% certainty that your killfile is empty,
because there's a little-known behavior of your news software
of which you seem blissfully ignorant.
>> Being an asshole is one thing, but you're a boring asshole, which is
>> unforgivable.
>
>Doesn't that make me more of an asshole?
No, you were a complete asshole from the beginning.
--
Remove del for email
Next thing you'll be suggesting he learns how to write proper C programs
so that he could give the occasional correct answer in this group!
> > Being an asshole is one thing, but you're a boring asshole, which is
> > unforgivable.
>
> Doesn't that make me more of an asshole?
>
> > And now you're starting to be a _repetitive_ boring asshole. This does
> > your case little good.
>
> Doesn't that make me more of an asshole?
No; merely a more pathetic one.
Real, high-quality assholes have their heads stuck up their arses; you
merely seem to have your on-off switch hidden there. That's just poor.
Richard