Got rid of static buffer in nsEditorTxnLog::GetString().

git-svn-id: svn://10.0.0.236/trunk@45154 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
kin%netscape.com
1999-08-30 14:48:29 +00:00
parent 7f4dadeca6
commit 66ce70eb40
4 changed files with 72 additions and 32 deletions

View File

@@ -22,6 +22,7 @@
#define LOCK_LOG(doc)
#define UNLOCK_LOG(doc)
#define MAX_BUF_LENGTH 256
static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID);
@@ -88,9 +89,11 @@ nsEditorTxnLog::WillDo(nsITransactionManager *aTxMgr, nsITransaction *aTransacti
{
LOCK_LOG(this);
char buf[MAX_BUF_LENGTH];
PrintIndent(mIndentLevel++);
Write("WillDo: ");
Write(GetString(aTransaction));
Write(GetString(aTransaction, buf, MAX_BUF_LENGTH));
Write("\n");
Flush();
@@ -104,9 +107,11 @@ nsEditorTxnLog::DidDo(nsITransactionManager *aTxMgr, nsITransaction *aTransactio
{
LOCK_LOG(this);
char buf[MAX_BUF_LENGTH];
PrintIndent(--mIndentLevel);
Write("DidDo: ");
Write(GetString(aTransaction));
Write(GetString(aTransaction, buf, MAX_BUF_LENGTH));
Write("(");
WriteInt("%d", aDoResult);
Write(")\n");
@@ -126,8 +131,10 @@ nsEditorTxnLog::WillUndo(nsITransactionManager *aTxMgr, nsITransaction *aTransac
if (aTransaction)
{
char buf[MAX_BUF_LENGTH];
Write("WillUndo: ");
Write(GetString(aTransaction));
Write(GetString(aTransaction, buf, MAX_BUF_LENGTH));
Write("\n");
}
else
@@ -149,8 +156,10 @@ nsEditorTxnLog::DidUndo(nsITransactionManager *aTxMgr, nsITransaction *aTransact
if (aTransaction)
{
char buf[MAX_BUF_LENGTH];
Write("DidUndo: ");
Write(GetString(aTransaction));
Write(GetString(aTransaction, buf, MAX_BUF_LENGTH));
Write("(");
WriteInt("%d", aUndoResult);
Write(")\n");
@@ -178,8 +187,10 @@ nsEditorTxnLog::WillRedo(nsITransactionManager *aTxMgr, nsITransaction *aTransac
if (aTransaction)
{
char buf[MAX_BUF_LENGTH];
Write("WillRedo: ");
Write(GetString(aTransaction));
Write(GetString(aTransaction, buf, MAX_BUF_LENGTH));
Write("\n");
}
else
@@ -201,8 +212,10 @@ nsEditorTxnLog::DidRedo(nsITransactionManager *aTxMgr, nsITransaction *aTransact
if (aTransaction)
{
char buf[MAX_BUF_LENGTH];
Write("DidRedo: ");
Write(GetString(aTransaction));
Write(GetString(aTransaction, buf, MAX_BUF_LENGTH));
Write(" (");
WriteInt("%d", aRedoResult);
Write(")\n");
@@ -294,11 +307,13 @@ nsEditorTxnLog::WillMerge(nsITransactionManager *aTxMgr, nsITransaction *aTopTra
{
LOCK_LOG(this);
char buf[MAX_BUF_LENGTH];
PrintIndent(mIndentLevel);
Write("WillMerge: ");
Write(GetString(aTopTransaction));
Write(GetString(aTopTransaction, buf, MAX_BUF_LENGTH));
Write(" <-- ");
Write(GetString(aTransaction));
Write(GetString(aTransaction, buf, MAX_BUF_LENGTH));
Write("\n");
Flush();
@@ -312,11 +327,13 @@ nsEditorTxnLog::DidMerge(nsITransactionManager *aTxMgr, nsITransaction *aTopTran
{
LOCK_LOG(this);
char buf[MAX_BUF_LENGTH];
PrintIndent(mIndentLevel);
Write("DidMerge: ");
Write(GetString(aTopTransaction));
Write(GetString(aTopTransaction, buf, MAX_BUF_LENGTH));
Write(" <-- ");
Write(GetString(aTransaction));
Write(GetString(aTransaction, buf, MAX_BUF_LENGTH));
Write(" (");
Write(aDidMerge ? "TRUE" : "FALSE");
Write(", ");
@@ -330,9 +347,12 @@ nsEditorTxnLog::DidMerge(nsITransactionManager *aTxMgr, nsITransaction *aTopTran
}
const char *
nsEditorTxnLog::GetString(nsITransaction *aTransaction)
nsEditorTxnLog::GetString(nsITransaction *aTransaction, char *aBuffer, PRInt32 aBufferLength)
{
static char buf[256];
if (!aBuffer || aBufferLength < 1)
return 0;
aBuffer[0] = '\0';
nsString str = "";
@@ -341,10 +361,10 @@ nsEditorTxnLog::GetString(nsITransaction *aTransaction)
if (str.Length() == 0)
str = "<NULL>";
buf[0] = '\0';
str.ToCString(buf, 256);
str.ToCString(aBuffer, aBufferLength);
aBuffer[aBufferLength - 1] = '\0';
return buf;
return aBuffer;
}
nsresult

View File

@@ -67,7 +67,7 @@ public:
private:
/* nsEditorTxnLog private methods. */
const char *GetString(nsITransaction *aTransaction);
const char *GetString(nsITransaction *aTransaction, char *aBuffer, PRInt32 aBufLength);
nsresult PrintIndent(PRInt32 aIndentLevel);
nsresult Write(const char *aBuffer);
nsresult WriteInt(const char *aFormat, PRInt32 aInt);

View File

@@ -22,6 +22,7 @@
#define LOCK_LOG(doc)
#define UNLOCK_LOG(doc)
#define MAX_BUF_LENGTH 256
static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID);
@@ -88,9 +89,11 @@ nsEditorTxnLog::WillDo(nsITransactionManager *aTxMgr, nsITransaction *aTransacti
{
LOCK_LOG(this);
char buf[MAX_BUF_LENGTH];
PrintIndent(mIndentLevel++);
Write("WillDo: ");
Write(GetString(aTransaction));
Write(GetString(aTransaction, buf, MAX_BUF_LENGTH));
Write("\n");
Flush();
@@ -104,9 +107,11 @@ nsEditorTxnLog::DidDo(nsITransactionManager *aTxMgr, nsITransaction *aTransactio
{
LOCK_LOG(this);
char buf[MAX_BUF_LENGTH];
PrintIndent(--mIndentLevel);
Write("DidDo: ");
Write(GetString(aTransaction));
Write(GetString(aTransaction, buf, MAX_BUF_LENGTH));
Write("(");
WriteInt("%d", aDoResult);
Write(")\n");
@@ -126,8 +131,10 @@ nsEditorTxnLog::WillUndo(nsITransactionManager *aTxMgr, nsITransaction *aTransac
if (aTransaction)
{
char buf[MAX_BUF_LENGTH];
Write("WillUndo: ");
Write(GetString(aTransaction));
Write(GetString(aTransaction, buf, MAX_BUF_LENGTH));
Write("\n");
}
else
@@ -149,8 +156,10 @@ nsEditorTxnLog::DidUndo(nsITransactionManager *aTxMgr, nsITransaction *aTransact
if (aTransaction)
{
char buf[MAX_BUF_LENGTH];
Write("DidUndo: ");
Write(GetString(aTransaction));
Write(GetString(aTransaction, buf, MAX_BUF_LENGTH));
Write("(");
WriteInt("%d", aUndoResult);
Write(")\n");
@@ -178,8 +187,10 @@ nsEditorTxnLog::WillRedo(nsITransactionManager *aTxMgr, nsITransaction *aTransac
if (aTransaction)
{
char buf[MAX_BUF_LENGTH];
Write("WillRedo: ");
Write(GetString(aTransaction));
Write(GetString(aTransaction, buf, MAX_BUF_LENGTH));
Write("\n");
}
else
@@ -201,8 +212,10 @@ nsEditorTxnLog::DidRedo(nsITransactionManager *aTxMgr, nsITransaction *aTransact
if (aTransaction)
{
char buf[MAX_BUF_LENGTH];
Write("DidRedo: ");
Write(GetString(aTransaction));
Write(GetString(aTransaction, buf, MAX_BUF_LENGTH));
Write(" (");
WriteInt("%d", aRedoResult);
Write(")\n");
@@ -294,11 +307,13 @@ nsEditorTxnLog::WillMerge(nsITransactionManager *aTxMgr, nsITransaction *aTopTra
{
LOCK_LOG(this);
char buf[MAX_BUF_LENGTH];
PrintIndent(mIndentLevel);
Write("WillMerge: ");
Write(GetString(aTopTransaction));
Write(GetString(aTopTransaction, buf, MAX_BUF_LENGTH));
Write(" <-- ");
Write(GetString(aTransaction));
Write(GetString(aTransaction, buf, MAX_BUF_LENGTH));
Write("\n");
Flush();
@@ -312,11 +327,13 @@ nsEditorTxnLog::DidMerge(nsITransactionManager *aTxMgr, nsITransaction *aTopTran
{
LOCK_LOG(this);
char buf[MAX_BUF_LENGTH];
PrintIndent(mIndentLevel);
Write("DidMerge: ");
Write(GetString(aTopTransaction));
Write(GetString(aTopTransaction, buf, MAX_BUF_LENGTH));
Write(" <-- ");
Write(GetString(aTransaction));
Write(GetString(aTransaction, buf, MAX_BUF_LENGTH));
Write(" (");
Write(aDidMerge ? "TRUE" : "FALSE");
Write(", ");
@@ -330,9 +347,12 @@ nsEditorTxnLog::DidMerge(nsITransactionManager *aTxMgr, nsITransaction *aTopTran
}
const char *
nsEditorTxnLog::GetString(nsITransaction *aTransaction)
nsEditorTxnLog::GetString(nsITransaction *aTransaction, char *aBuffer, PRInt32 aBufferLength)
{
static char buf[256];
if (!aBuffer || aBufferLength < 1)
return 0;
aBuffer[0] = '\0';
nsString str = "";
@@ -341,10 +361,10 @@ nsEditorTxnLog::GetString(nsITransaction *aTransaction)
if (str.Length() == 0)
str = "<NULL>";
buf[0] = '\0';
str.ToCString(buf, 256);
str.ToCString(aBuffer, aBufferLength);
aBuffer[aBufferLength - 1] = '\0';
return buf;
return aBuffer;
}
nsresult

View File

@@ -67,7 +67,7 @@ public:
private:
/* nsEditorTxnLog private methods. */
const char *GetString(nsITransaction *aTransaction);
const char *GetString(nsITransaction *aTransaction, char *aBuffer, PRInt32 aBufLength);
nsresult PrintIndent(PRInt32 aIndentLevel);
nsresult Write(const char *aBuffer);
nsresult WriteInt(const char *aFormat, PRInt32 aInt);