summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsfraser%netscape.com <devnull@localhost>2002-03-27 04:08:30 +0000
committersfraser%netscape.com <devnull@localhost>2002-03-27 04:08:30 +0000
commitf399ac09db7197de05ef13979f7431d39eb10566 (patch)
tree64ff94b1268f389762c06304ef37b8f7b0d5ecb7
parente6f52a80961fe3903514f6d5f72f8e99447a6721 (diff)
downloadnspr-hg-f399ac09db7197de05ef13979f7431d39eb10566.tar.gz
Bug 133412: need to #include <Files.h> before <OpenTransport.h> for the buggy Universal Headers 3.4.1. Also change the GetDiskFragment param from the file name to the fragment name, for better debugging and Talkback. Changes to allow for upgrading to CodeWarrior Pro 7.2 tools. r=wtc, sr=scc, a=asa
-rw-r--r--pr/src/md/mac/macdll.c104
-rw-r--r--pr/src/md/mac/macsocket.h1
-rw-r--r--pr/src/md/mac/macsockotpt.c1
3 files changed, 61 insertions, 45 deletions
diff --git a/pr/src/md/mac/macdll.c b/pr/src/md/mac/macdll.c
index 017f1200..23b32759 100644
--- a/pr/src/md/mac/macdll.c
+++ b/pr/src/md/mac/macdll.c
@@ -503,19 +503,30 @@ done:
OSErr NSLoadNamedFragment(const FSSpec *fileSpec, const char* fragmentName, CFragConnectionID *outConnectionID)
{
- UInt32 fragOffset, fragLength;
- Ptr main;
- Str255 fragName = "\p";
- Str255 errName;
- OSErr err;
-
- err = GetNamedFragmentOffsets(fileSpec, fragmentName, &fragOffset, &fragLength);
- if (err != noErr) return err;
-
- err = GetDiskFragment(fileSpec, fragOffset, fragLength, fileSpec->name,
- kLoadCFrag, outConnectionID, &main, errName);
-
- return err;
+ UInt32 fragOffset, fragLength;
+ short fragNameLength;
+ Ptr main;
+ Str255 fragName;
+ Str255 errName;
+ OSErr err;
+
+ err = GetNamedFragmentOffsets(fileSpec, fragmentName, &fragOffset, &fragLength);
+ if (err != noErr) return err;
+
+ // convert fragment name to pascal string
+ fragNameLength = strlen(fragmentName);
+ if (fragNameLength > 255)
+ fragNameLength = 255;
+ BlockMoveData(fragmentName, &fragName[1], fragNameLength);
+ fragName[0] = fragNameLength;
+
+ // Note that we pass the fragment name as the 4th param to GetDiskFragment.
+ // This value affects the ability of debuggers, and the Talkback system,
+ // to match code fragments with symbol files
+ err = GetDiskFragment(fileSpec, fragOffset, fragLength, fragName,
+ kLoadCFrag, outConnectionID, &main, errName);
+
+ return err;
}
@@ -532,39 +543,42 @@ OSErr NSLoadNamedFragment(const FSSpec *fileSpec, const char* fragmentName, CFra
-----------------------------------------------------------------*/
OSErr NSLoadIndexedFragment(const FSSpec *fileSpec, PRUint32 fragmentIndex,
- char** outFragName, CFragConnectionID *outConnectionID)
+ char** outFragName, CFragConnectionID *outConnectionID)
{
- UInt32 fragOffset, fragLength;
- char *fragNameBlock = NULL;
- Ptr main;
- Str255 fragName = "\p";
- Str255 errName;
- OSErr err;
-
- *outFragName = NULL;
-
- err = GetIndexedFragmentOffsets(fileSpec, fragmentIndex, &fragOffset, &fragLength, &fragNameBlock);
- if (err != noErr) return err;
-
- if (fragNameBlock)
- {
- UInt32 nameLen = strlen(fragNameBlock);
- if (nameLen > 63)
- nameLen = 63;
- BlockMoveData(fragNameBlock, &fragName[1], nameLen);
- fragName[0] = nameLen;
- }
-
- err = GetDiskFragment(fileSpec, fragOffset, fragLength, fileSpec->name,
- kLoadCFrag, outConnectionID, &main, errName);
- if (err != noErr)
- {
- free(fragNameBlock);
- return err;
- }
-
- *outFragName = fragNameBlock;
- return noErr;
+ UInt32 fragOffset, fragLength;
+ char *fragNameBlock = NULL;
+ Ptr main;
+ Str255 fragName = "\p";
+ Str255 errName;
+ OSErr err;
+
+ *outFragName = NULL;
+
+ err = GetIndexedFragmentOffsets(fileSpec, fragmentIndex, &fragOffset, &fragLength, &fragNameBlock);
+ if (err != noErr) return err;
+
+ if (fragNameBlock)
+ {
+ UInt32 nameLen = strlen(fragNameBlock);
+ if (nameLen > 63)
+ nameLen = 63;
+ BlockMoveData(fragNameBlock, &fragName[1], nameLen);
+ fragName[0] = nameLen;
+ }
+
+ // Note that we pass the fragment name as the 4th param to GetDiskFragment.
+ // This value affects the ability of debuggers, and the Talkback system,
+ // to match code fragments with symbol files
+ err = GetDiskFragment(fileSpec, fragOffset, fragLength, fragName,
+ kLoadCFrag, outConnectionID, &main, errName);
+ if (err != noErr)
+ {
+ free(fragNameBlock);
+ return err;
+ }
+
+ *outFragName = fragNameBlock;
+ return noErr;
}
diff --git a/pr/src/md/mac/macsocket.h b/pr/src/md/mac/macsocket.h
index b1045e36..b9194c52 100644
--- a/pr/src/md/mac/macsocket.h
+++ b/pr/src/md/mac/macsocket.h
@@ -39,6 +39,7 @@
// Interface visible to xp code
// C socket type definitions and routines
// from sys/socket.h
+#include <Files.h>
#include <OpenTptInternet.h> // All the internet typedefs
#include <utime.h> // For timeval
/*
diff --git a/pr/src/md/mac/macsockotpt.c b/pr/src/md/mac/macsockotpt.c
index 7bbee039..42462740 100644
--- a/pr/src/md/mac/macsockotpt.c
+++ b/pr/src/md/mac/macsockotpt.c
@@ -38,6 +38,7 @@
#include <string.h>
#include <Gestalt.h>
+#include <Files.h>
#include <OpenTransport.h>
#include <OSUtils.h>