[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.