Fix tracing and improve memory usage. Thanks to Ingo for his hints.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27289 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -1,3 +1,7 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2008, Marcus Overhagen. All rights reserved.
|
||||||
|
* Distributed under the terms of the MIT License.
|
||||||
|
*/
|
||||||
#include <tracing.h>
|
#include <tracing.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
@@ -11,30 +15,26 @@ class ATATraceEntry : public AbstractTraceEntry {
|
|||||||
ATATraceEntry(int bus, int device, const char *info)
|
ATATraceEntry(int bus, int device, const char *info)
|
||||||
: fBus(bus)
|
: fBus(bus)
|
||||||
, fDevice(device)
|
, fDevice(device)
|
||||||
|
, fInfo(alloc_tracing_buffer_strcpy(info, 666, false))
|
||||||
{
|
{
|
||||||
strlcpy(fInfo, info, sizeof(fInfo));
|
|
||||||
Initialized();
|
Initialized();
|
||||||
}
|
}
|
||||||
|
|
||||||
void AddDump(TraceOutput& out, const char* name)
|
void AddDump(TraceOutput& out)
|
||||||
{
|
{
|
||||||
out.Print("ata");
|
out.Print("ata %d:%d %s", fBus, fDevice, fInfo);
|
||||||
out.Print(" - %s - ", name);
|
|
||||||
out.Print("bus %d", fBus);
|
|
||||||
out.Print("device %d", fDevice);
|
|
||||||
out.Print("%s", fInfo);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int fBus;
|
int fBus;
|
||||||
int fDevice;
|
int fDevice;
|
||||||
char fInfo[200];
|
char *fInfo;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
extern "C" void
|
extern "C" void
|
||||||
__ata_trace_device(ide_device_info *dev, const char *fmt, ...)
|
__ata_trace_device(ide_device_info *dev, const char *fmt, ...)
|
||||||
{
|
{
|
||||||
char info[200];
|
char info[120];
|
||||||
va_list ap;
|
va_list ap;
|
||||||
|
|
||||||
va_start(ap, fmt);
|
va_start(ap, fmt);
|
||||||
@@ -48,7 +48,7 @@ __ata_trace_device(ide_device_info *dev, const char *fmt, ...)
|
|||||||
extern "C" void
|
extern "C" void
|
||||||
__ata_trace_bus_device(ide_bus_info *bus, int dev, const char *fmt, ...)
|
__ata_trace_bus_device(ide_bus_info *bus, int dev, const char *fmt, ...)
|
||||||
{
|
{
|
||||||
char info[200];
|
char info[120];
|
||||||
va_list ap;
|
va_list ap;
|
||||||
|
|
||||||
va_start(ap, fmt);
|
va_start(ap, fmt);
|
||||||
|
|||||||
Reference in New Issue
Block a user