[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Win32 PFile








Christian Reiniger wrote:
>Peter Burns wrote:

>Ooops. I just saw that many of your .dsp files are still missing from CVS.
>Which need to be included?

>src/PenguinUtilities.dsp ?
>src/PenguinUtilities.def ? (BTW: The debugging functions in there don't
>need to be exported. Unless we want to use them in our demo/test code that
>is. They are no official API functions)

I'm sure that I could have made the projects a bit better. At the moment
PenguinUtilites
is a DLL and the other libraries depend on the functions inside it. So they need
to be exported.
Perhaps I should have simply created one dll for penguinplay and made the others
into
static libraries that the penguinplay dll links with.
Maybe I should do a bit of experimentation to see what would be the best way to
do it.

>src/PenguinFile/PenguinFile.dsp ?
>src/PenguinFile/StaticPenguinFile.dsp ?
>src/PenguinSound/StaticPenguinSound.dsp ?

>There's also still src/PenguinSound/psound_test.dsp  - that should be
>removed, right?

Yes thats ok to remove. It has been moved to src/test/ .

>And what about the *.plg?
This is a log of the builds and shouldn't be included in cvs.
>And the *.mak are autogenerated from the *.dsp, right?
right

>>well. I also added a macro called ppEvilTrick to do what a lot of the
>>other macros in debug.h were doing.

>Looks good. The "FunPointer" argument to ppEvilTrick is a bit misleading as
>it's really a function *name*.

Its a function pointer isn't it?

>>URLInfo.cpp has by far the most problems for win32. Take a careful look
>>at those changes as they are probably the wrong thing to do. They do
>>however indicate spots were something is going wrong.

>Right.
>The "unclear" things are:


>(3)
>391a397,400
>>    if (fs == ppfFS_pak)
>>       is_native = true;
>>    else if (!is_native)
>>       ToNative();

>I'm not sure where to place this. Some context would be helpful. And I
>highly doubt it's correct, as an URLInfo object converting itself to native
>in the middle of a function doing something entirely different (ToAbsolute
>() according to the line numbers) is dangerous at best. What did you want
>do do with this?

The problem has once again to do with the drive letter. ToAbsolute puts a
'/' at the start but an absolute dos path has a drive letter at the start. I'm
not exactly
sure how to handle this except by converting to native before calling
ToAbsolute.

If put that but for ppfFS_pak in because other wise the function fails.
testfile.cheese has to be a native path. This problem should be fixed somewhere
else.

>There's some more stuff in ToAbsolute (). And there *is* a bug in it,
>right. I'll dig into it now.
>[...]
>Ok, that should be it.

>(4)
>764c780
><        do { URL++; } while (*URL == '/');
>---
>>        //do { URL++; } while (*URL == '/');

>That's in ParseBasics (). It's skipping the leading slashes. What's wrong
>with it?

I went through and tried to remove all the code that skipped the leading spaces.
I guess I got paranoid when I saw some code did something like this
URLInfo::Init("d/some/path")

There are a lot of warnings from the debugger about the memory being screwed up.
This happens
when you delete an object. MSVC initialises allocated memory with 'CD'. It also
does a lot of other checks on
allocated memory. Something is going wrong somewhere but I haven't found out
where yet.

>Ok, I updated URLInfo.cpp and applied the patches to debug.h and
>ppconfig_win32.h
>The PenguinFile.dsp thing is not yet committed, as I'd first like to know
>what .dsp's need to be added at all.


>PS: Did you get the mail from Karsten regarding CVS?

yes. I tried  "cvs -d :pserver:pcburns@sunsite.auc.dk:/pack/anoncvs login" but I
still couldn't commit.
(I may have the CVSROOT wrong in this mail but I had it right when I tried it.