S
Seebs
The code here is mostly off-topic, but I bring it up because a few people
have expressed interest, and while a great deal of the code is non-portable,
there's also a fairly large amount of basically generic C involved.
http://github.com/wrpseudo/pseudo
This is a pretty heavily Linux-specific thing (it could probably be ported to
other Unixes with reasonable effort, but isn't remotely possible for non-Unix,
I'd guess) that I've done at various times over the last year and a half.
I'd guess that in total it represents a good two months' worth of effort,
possibly more if you include some of the more arcane debugging. With the
exception of one routine that was added while I was on vacation, essentially
the entire thing is my code, though.
And yes, some of it's pretty ugly. One of the reasons I was pushing for
an open source release is that I wanted to have some incentive for us to
fix things, and indeed, it just went through some noticeable cleanup.
Of possible interest to comp.lang.c users is a fair amount of string
manipulation code, some string manipulation, and one of the very rare
cases you'll see where
#include "foo.c"
is not a mistake. (It may be a poor design decision, but it's worked pretty
well so far.)
Comments and feedback welcome, whether here or elsewhere. Obviously,
comments specific to the dynamic linker magic, filesystem code, and such
are probably better sent via email or posted as comments on the github
page, but I'd be happy to answer questions about the C aspects of this,
whether it's "how did you think of this" or "what the hell were you thinking".
Bug reports are also quite welcome.
So far as I know, this code is essentially clean C99, except for the intrinsic
OS dependencies. I haven't *intentionally* used any GNU extensions or
anything else, but I haven't been able to check that as carefully as I might
like, because requesting a pure C compile disables all the OS-specific stuff
that is the actual functionality of the program.
-s
have expressed interest, and while a great deal of the code is non-portable,
there's also a fairly large amount of basically generic C involved.
http://github.com/wrpseudo/pseudo
This is a pretty heavily Linux-specific thing (it could probably be ported to
other Unixes with reasonable effort, but isn't remotely possible for non-Unix,
I'd guess) that I've done at various times over the last year and a half.
I'd guess that in total it represents a good two months' worth of effort,
possibly more if you include some of the more arcane debugging. With the
exception of one routine that was added while I was on vacation, essentially
the entire thing is my code, though.
And yes, some of it's pretty ugly. One of the reasons I was pushing for
an open source release is that I wanted to have some incentive for us to
fix things, and indeed, it just went through some noticeable cleanup.
Of possible interest to comp.lang.c users is a fair amount of string
manipulation code, some string manipulation, and one of the very rare
cases you'll see where
#include "foo.c"
is not a mistake. (It may be a poor design decision, but it's worked pretty
well so far.)
Comments and feedback welcome, whether here or elsewhere. Obviously,
comments specific to the dynamic linker magic, filesystem code, and such
are probably better sent via email or posted as comments on the github
page, but I'd be happy to answer questions about the C aspects of this,
whether it's "how did you think of this" or "what the hell were you thinking".
Bug reports are also quite welcome.
So far as I know, this code is essentially clean C99, except for the intrinsic
OS dependencies. I haven't *intentionally* used any GNU extensions or
anything else, but I haven't been able to check that as carefully as I might
like, because requesting a pure C compile disables all the OS-specific stuff
that is the actual functionality of the program.
-s