----- Original Message -----
From: "Brian Ingerson" <[EMAIL PROTECTED]>
> > > On 23/10/02 09:37 +1000, Sisyphus wrote:
> > > > Ok ... my problem vanishes if I do the following:
> > > >
> > > > $realname =~ s/\\/\//; # change '\' to '/'
> > > > # a few lines further on:
> > > > $realname =~ s/\//\\/g; #change '/' to '\'
> > > > File::Spec->catfile(@endparts) eq $realname
> > > > or croak M28_error_grokking_path($realpath);
> > >
> > > Great. Could you send me a patch file. Just run (using cygwin):
> > >
> > > diff -u Inline.pm.orig Inline.pm.fixed > patch
> > >
> >
> > That could take a while ... I think I have the patch utility here
somewhere,
> > but I've never used it, and have never written a patch.
>
> You don't actually *write* a patch. You just copy the original file, fix
> the copy, test it, and run the above diff command. A patch is just the
> output of diff. It's more simple than simple.
>
> cp Inline.pm Inline.pm.orig
> vim Inline.pm # make changes
> make test # or whatever testing needs to be done
> diff -u Inline.pm.orig Inline.pm > patch # creates file called
'patch'
> # Mail patch to [EMAIL PROTECTED]
>
Oh .... yeah, I see. It's the 'diff' utility I need :-)
Don't have cygwin. I'll dig up a windows version of diff. (At least then
I'll be properly prepared in future.)
<snip>
> > I'll try and work out what's happening tonight if I get a chance.
>
> Please do. I'm not sure I understand the exact problem you are having.
Please
> try to recreate it with Math::Simple, if possible.
>
Turned out to be some of my inline C code that works with Inline::C 0.43,
but doesn't work with Inline::C 0.44.
With 0.43 I can pass unsigned longs to Inline with:
some_func(unsigned x){}
and I can return an unsigned long to perl with
unsigned some_func(some_args){}
Can't do that with 0.44. The function won't bind. So any function that
involves the 'unsigned' type in its declaration is ignored. (Seems that if y
ou're trying to bind multiple functions, then so long as one of them binds,
you don't get any notification about the failure of any of the other
functions to bind - this is the case with both 0.43 and 0.44, I think.)
Anyway, I can get around my problem by passing an int and then converting it
to an unsigned long - or I can also get around it by using SVnv's.
Now .... to find that diff utility ... :-)
Cheers,
Rob