merged changes from branch.

git-svn-id: svn://10.0.0.236/trunk@7609 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
michaelp%netscape.com
1998-08-08 19:21:40 +00:00
parent d667b404da
commit 8eeb4425f1
10 changed files with 370 additions and 128 deletions

View File

@@ -157,6 +157,7 @@ NS_IMETHODIMP ns4xPluginStream::Write(const char* buffer, PRInt32 offset, PRInt3
{
const NPPluginFuncs *callbacks;
NPP npp;
PRInt32 remaining = len;
fInstance->GetCallbacks(&callbacks);
fInstance->GetNPP(&npp);
@@ -164,12 +165,31 @@ NS_IMETHODIMP ns4xPluginStream::Write(const char* buffer, PRInt32 offset, PRInt3
if (callbacks->write == NULL)
return NS_OK;
*aWriteCount = CallNPP_WriteProc(callbacks->write,
npp,
&fNPStream,
fPosition,
len,
(void *)buffer);
while (remaining > 0)
{
PRInt32 numtowrite;
if (callbacks->writeready != NULL)
{
numtowrite = CallNPP_WriteReadyProc(callbacks->writeready,
npp,
&fNPStream);
if (numtowrite > remaining)
numtowrite = remaining;
}
else
numtowrite = len;
*aWriteCount = CallNPP_WriteProc(callbacks->write,
npp,
&fNPStream,
fPosition,
numtowrite,
(void *)buffer);
remaining -= numtowrite;
}
fPosition += len;