Bryan C. Warnock:
# On Saturday 23 February 2002 23:10, Brent Dax wrote:
# >     struct foo_t {
# >             int i;
# >     };
# >
# >     typedef struct foo_t * FooPtr;
# >     typedef struct foo_t FOO;
# >
# >     void bar(FooPtr);
# >
# >     void bar(FOO *x) {
# >             x->i++;
# >     }
# >
# >     int main() {
# >             FOO* x=malloc(sizeof(struct foo_t));
# >
# >             x->i = -1;
# >
# >             bar(x);
# >
# >             return x->i;
# >     }
# >
# > VC++ doesn't like stunts like that.  That's why I changed
# it to #define
# > the types instead.
#
# Yeah, except it'd be better fix the inconsistencies than hide them.

        s/foo_t/parrot_string_t/g;
        s/FooPtr/Parrot_String/g;
        s/FOO/STRING/g;

and you'll start to get an idea of the scope of the problem.

The Right Answer is probably to change all the STRING*s in the core to
Parrot_Strings.  However, there are two problems with that:

-STRING* is supposed to be a way for core hackers to avoid extra typing.
While you're at it, why not s/INTVAL/Parrot_Int/g?
-That's a damn big change.

--Brent Dax
[EMAIL PROTECTED]
Parrot Configure pumpking, regex hacker, embedding coder, and boy genius

#define private public
    --Spotted in a C++ program just before a #include

Reply via email to