Core: Alter the kernel string functions to use std::string instead of const char*.
Most functions already operate on std::strings. This also removes the need to manually null terminate thread names.
This commit is contained in:
parent
68c81f28d9
commit
98fa3f7cba
16 changed files with 38 additions and 41 deletions
|
@ -17,8 +17,8 @@ namespace Kernel {
|
|||
|
||||
class AddressArbiter : public Object {
|
||||
public:
|
||||
const char* GetTypeName() const { return "Arbiter"; }
|
||||
const char* GetName() const { return name.c_str(); }
|
||||
std::string GetTypeName() const { return "Arbiter"; }
|
||||
std::string GetName() const { return name; }
|
||||
|
||||
static Kernel::HandleType GetStaticHandleType() { return HandleType::AddressArbiter; }
|
||||
Kernel::HandleType GetHandleType() const { return HandleType::AddressArbiter; }
|
||||
|
|
|
@ -31,8 +31,8 @@ enum class FileCommand : u32 {
|
|||
|
||||
class Archive : public Object {
|
||||
public:
|
||||
const char* GetTypeName() const { return "Archive"; }
|
||||
const char* GetName() const { return name.c_str(); }
|
||||
std::string GetTypeName() const { return "Archive"; }
|
||||
std::string GetName() const { return name; }
|
||||
|
||||
static Kernel::HandleType GetStaticHandleType() { return HandleType::Archive; }
|
||||
Kernel::HandleType GetHandleType() const { return HandleType::Archive; }
|
||||
|
@ -110,7 +110,7 @@ Result MountArchive(Archive* archive) {
|
|||
return -1;
|
||||
}
|
||||
g_archive_map[id_code] = archive->GetHandle();
|
||||
INFO_LOG(KERNEL, "Mounted archive %s", archive->GetName());
|
||||
INFO_LOG(KERNEL, "Mounted archive %s", archive->GetName().c_str());
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -16,8 +16,8 @@ namespace Kernel {
|
|||
|
||||
class Event : public Object {
|
||||
public:
|
||||
const char* GetTypeName() const { return "Event"; }
|
||||
const char* GetName() const { return name.c_str(); }
|
||||
std::string GetTypeName() const { return "Event"; }
|
||||
std::string GetName() const { return name; }
|
||||
|
||||
static Kernel::HandleType GetStaticHandleType() { return Kernel::HandleType::Event; }
|
||||
Kernel::HandleType GetHandleType() const { return Kernel::HandleType::Event; }
|
||||
|
|
|
@ -71,8 +71,8 @@ void ObjectPool::List() {
|
|||
for (int i = 0; i < MAX_COUNT; i++) {
|
||||
if (occupied[i]) {
|
||||
if (pool[i]) {
|
||||
INFO_LOG(KERNEL, "KO %i: %s \"%s\"", i + HANDLE_OFFSET, pool[i]->GetTypeName(),
|
||||
pool[i]->GetName());
|
||||
INFO_LOG(KERNEL, "KO %i: %s \"%s\"", i + HANDLE_OFFSET, pool[i]->GetTypeName().c_str(),
|
||||
pool[i]->GetName().c_str());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
#include "common/common.h"
|
||||
|
||||
typedef u32 Handle;
|
||||
|
@ -33,7 +34,6 @@ enum class HandleType : u32 {
|
|||
};
|
||||
|
||||
enum {
|
||||
MAX_NAME_LENGTH = 0x100,
|
||||
DEFAULT_STACK_SIZE = 0x4000,
|
||||
};
|
||||
|
||||
|
@ -45,8 +45,8 @@ class Object : NonCopyable {
|
|||
public:
|
||||
virtual ~Object() {}
|
||||
Handle GetHandle() const { return handle; }
|
||||
virtual const char* GetTypeName() const { return "[BAD KERNEL OBJECT TYPE]"; }
|
||||
virtual const char* GetName() const { return "[UNKNOWN KERNEL OBJECT]"; }
|
||||
virtual std::string GetTypeName() const { return "[BAD KERNEL OBJECT TYPE]"; }
|
||||
virtual std::string GetName() const { return "[UNKNOWN KERNEL OBJECT]"; }
|
||||
virtual Kernel::HandleType GetHandleType() const = 0;
|
||||
|
||||
/**
|
||||
|
|
|
@ -15,8 +15,8 @@ namespace Kernel {
|
|||
|
||||
class Mutex : public Object {
|
||||
public:
|
||||
const char* GetTypeName() const { return "Mutex"; }
|
||||
const char* GetName() const { return name.c_str(); }
|
||||
std::string GetTypeName() const { return "Mutex"; }
|
||||
std::string GetName() const { return name; }
|
||||
|
||||
static Kernel::HandleType GetStaticHandleType() { return Kernel::HandleType::Mutex; }
|
||||
Kernel::HandleType GetHandleType() const { return Kernel::HandleType::Mutex; }
|
||||
|
|
|
@ -11,7 +11,7 @@ namespace Kernel {
|
|||
|
||||
class SharedMemory : public Object {
|
||||
public:
|
||||
const char* GetTypeName() const { return "SharedMemory"; }
|
||||
std::string GetTypeName() const { return "SharedMemory"; }
|
||||
|
||||
static Kernel::HandleType GetStaticHandleType() { return Kernel::HandleType::SharedMemory; }
|
||||
Kernel::HandleType GetHandleType() const { return Kernel::HandleType::SharedMemory; }
|
||||
|
|
|
@ -2,13 +2,12 @@
|
|||
// Licensed under GPLv2
|
||||
// Refer to the license.txt file included.
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#include <list>
|
||||
#include <algorithm>
|
||||
#include <vector>
|
||||
#include <cstdio>
|
||||
#include <list>
|
||||
#include <map>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include "common/common.h"
|
||||
#include "common/thread_queue_list.h"
|
||||
|
@ -25,8 +24,8 @@ namespace Kernel {
|
|||
class Thread : public Kernel::Object {
|
||||
public:
|
||||
|
||||
const char* GetName() const { return name; }
|
||||
const char* GetTypeName() const { return "Thread"; }
|
||||
std::string GetName() const { return name; }
|
||||
std::string GetTypeName() const { return "Thread"; }
|
||||
|
||||
static Kernel::HandleType GetStaticHandleType() { return Kernel::HandleType::Thread; }
|
||||
Kernel::HandleType GetHandleType() const { return Kernel::HandleType::Thread; }
|
||||
|
@ -71,7 +70,7 @@ public:
|
|||
|
||||
std::vector<Handle> waiting_threads;
|
||||
|
||||
char name[Kernel::MAX_NAME_LENGTH + 1];
|
||||
std::string name;
|
||||
};
|
||||
|
||||
// Lists all thread ids that aren't deleted/etc.
|
||||
|
@ -336,9 +335,7 @@ Thread* CreateThread(Handle& handle, const char* name, u32 entry_point, s32 prio
|
|||
thread->processor_id = processor_id;
|
||||
thread->wait_type = WAITTYPE_NONE;
|
||||
thread->wait_handle = 0;
|
||||
|
||||
strncpy(thread->name, name, Kernel::MAX_NAME_LENGTH);
|
||||
thread->name[Kernel::MAX_NAME_LENGTH] = '\0';
|
||||
thread->name = name;
|
||||
|
||||
return thread;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue