mirror of
https://github.com/pret/pokediamond.git
synced 2026-04-25 07:26:54 -05:00
Remove struct from String
This commit is contained in:
parent
66e6af953f
commit
deca40925c
|
|
@ -6,8 +6,8 @@
|
|||
|
||||
#define ASSERT_STR16(_str) ({ GF_ASSERT(_str != NULL); GF_ASSERT(_str->magic == STR16_MAGIC); })
|
||||
|
||||
struct String *String_New(u32 length, enum HeapID heapID) {
|
||||
struct String *ret = Heap_Alloc(heapID, length * 2 + 10);
|
||||
String *String_New(u32 length, enum HeapID heapID) {
|
||||
String *ret = Heap_Alloc(heapID, length * 2 + 10);
|
||||
if (ret != NULL) {
|
||||
ret->magic = STR16_MAGIC;
|
||||
ret->maxsize = (u16)length;
|
||||
|
|
@ -17,19 +17,19 @@ struct String *String_New(u32 length, enum HeapID heapID) {
|
|||
return ret;
|
||||
}
|
||||
|
||||
void String_Delete(struct String *str) {
|
||||
void String_Delete(String *str) {
|
||||
ASSERT_STR16(str);
|
||||
str->magic = STR16_MAGIC | 1;
|
||||
Heap_Free(str);
|
||||
}
|
||||
|
||||
void String_SetEmpty(struct String *str) {
|
||||
void String_SetEmpty(String *str) {
|
||||
ASSERT_STR16(str);
|
||||
str->size = 0;
|
||||
str->data[0] = EOS;
|
||||
}
|
||||
|
||||
void StringCopy(struct String *dest, struct String *src) {
|
||||
void StringCopy(String *dest, String *src) {
|
||||
ASSERT_STR16(dest);
|
||||
ASSERT_STR16(src);
|
||||
if (dest->maxsize > src->size) {
|
||||
|
|
@ -40,16 +40,16 @@ void StringCopy(struct String *dest, struct String *src) {
|
|||
GF_ASSERT(0);
|
||||
}
|
||||
|
||||
struct String *StringDup(struct String *src, enum HeapID heapID) {
|
||||
String *StringDup(String *src, enum HeapID heapID) {
|
||||
ASSERT_STR16(src);
|
||||
struct String *dest = String_New((u32)(src->size + 1), heapID);
|
||||
String *dest = String_New((u32)(src->size + 1), heapID);
|
||||
if (dest != NULL) {
|
||||
StringCopy(dest, src);
|
||||
}
|
||||
return dest;
|
||||
}
|
||||
|
||||
void String16_FormatInteger(struct String *str, int num, u32 ndigits, enum PrintingMode printingMode, BOOL whichCharset) {
|
||||
void String16_FormatInteger(String *str, int num, u32 ndigits, enum PrintingMode printingMode, BOOL whichCharset) {
|
||||
static const u16 sCharset_EN[10] = {
|
||||
0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A
|
||||
};
|
||||
|
|
@ -107,7 +107,7 @@ void String16_FormatInteger(struct String *str, int num, u32 ndigits, enum Print
|
|||
GF_ASSERT(FALSE);
|
||||
}
|
||||
|
||||
s64 String_atoi(struct String *str, BOOL *flag) {
|
||||
s64 String_atoi(String *str, BOOL *flag) {
|
||||
s64 ret = 0;
|
||||
s64 pow10 = 1;
|
||||
if (str->size > 18) {
|
||||
|
|
@ -134,7 +134,7 @@ s64 String_atoi(struct String *str, BOOL *flag) {
|
|||
return ret;
|
||||
}
|
||||
|
||||
BOOL String_Compare(struct String *str1, struct String *str2) {
|
||||
BOOL String_Compare(String *str1, String *str2) {
|
||||
ASSERT_STR16(str1);
|
||||
ASSERT_STR16(str2);
|
||||
|
||||
|
|
@ -146,12 +146,12 @@ BOOL String_Compare(struct String *str1, struct String *str2) {
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
u16 StringGetLength(struct String *str) {
|
||||
u16 StringGetLength(String *str) {
|
||||
ASSERT_STR16(str);
|
||||
return str->size;
|
||||
}
|
||||
|
||||
int StringCountLines(volatile struct String *str) {
|
||||
int StringCountLines(volatile String *str) {
|
||||
ASSERT_STR16(str);
|
||||
|
||||
int i, nline;
|
||||
|
|
@ -163,7 +163,7 @@ int StringCountLines(volatile struct String *str) {
|
|||
return nline;
|
||||
}
|
||||
|
||||
void StringGetLineN(struct String *dest, volatile struct String *src, u32 n) {
|
||||
void StringGetLineN(String *dest, volatile String *src, u32 n) {
|
||||
ASSERT_STR16(src);
|
||||
ASSERT_STR16(dest);
|
||||
|
||||
|
|
@ -186,7 +186,7 @@ void StringGetLineN(struct String *dest, volatile struct String *src, u32 n) {
|
|||
}
|
||||
}
|
||||
|
||||
void CopyU16ArrayToString(struct String *str, u16 *buf) {
|
||||
void CopyU16ArrayToString(String *str, u16 *buf) {
|
||||
ASSERT_STR16(str);
|
||||
|
||||
for (str->size = 0; *buf != EOS;) {
|
||||
|
|
@ -199,7 +199,7 @@ void CopyU16ArrayToString(struct String *str, u16 *buf) {
|
|||
str->data[str->size] = EOS;
|
||||
}
|
||||
|
||||
void CopyU16ArrayToStringN(struct String *str, u16 *buf, u32 length) {
|
||||
void CopyU16ArrayToStringN(String *str, u16 *buf, u32 length) {
|
||||
ASSERT_STR16(str);
|
||||
|
||||
if (length <= str->maxsize) {
|
||||
|
|
@ -219,7 +219,7 @@ void CopyU16ArrayToStringN(struct String *str, u16 *buf, u32 length) {
|
|||
GF_ASSERT(0);
|
||||
}
|
||||
|
||||
void CopyStringToU16Array(struct String *str, u16 *buf, u32 length) {
|
||||
void CopyStringToU16Array(String *str, u16 *buf, u32 length) {
|
||||
ASSERT_STR16(str);
|
||||
|
||||
if (str->size + 1 <= length) {
|
||||
|
|
@ -229,13 +229,13 @@ void CopyStringToU16Array(struct String *str, u16 *buf, u32 length) {
|
|||
GF_ASSERT(0);
|
||||
}
|
||||
|
||||
u16 *String_c_str(struct String *str) {
|
||||
u16 *String_c_str(String *str) {
|
||||
ASSERT_STR16(str);
|
||||
|
||||
return str->data;
|
||||
}
|
||||
|
||||
void StringCat(struct String *dest, struct String *src) {
|
||||
void StringCat(String *dest, String *src) {
|
||||
ASSERT_STR16(dest);
|
||||
ASSERT_STR16(src);
|
||||
|
||||
|
|
@ -247,7 +247,7 @@ void StringCat(struct String *dest, struct String *src) {
|
|||
GF_ASSERT(0);
|
||||
}
|
||||
|
||||
void StrAddChar(struct String *str, u16 val) {
|
||||
void StrAddChar(String *str, u16 val) {
|
||||
ASSERT_STR16(str);
|
||||
|
||||
if (str->size + 1 < str->maxsize) {
|
||||
|
|
@ -258,7 +258,7 @@ void StrAddChar(struct String *str, u16 val) {
|
|||
GF_ASSERT(0);
|
||||
}
|
||||
|
||||
void StrUpperFirstChar(struct String *str) {
|
||||
void StrUpperFirstChar(String *str) {
|
||||
ASSERT_STR16(str);
|
||||
|
||||
if (str->size != 0) {
|
||||
|
|
@ -270,11 +270,11 @@ void StrUpperFirstChar(struct String *str) {
|
|||
}
|
||||
}
|
||||
|
||||
BOOL String_IsTrainerName(struct String *string) {
|
||||
BOOL String_IsTrainerName(String *string) {
|
||||
return string->size != 0 && string->data[0] == 0xF100;
|
||||
}
|
||||
|
||||
void StringCat_HandleTrainerName(struct String *dest, struct String *src) {
|
||||
void StringCat_HandleTrainerName(String *dest, String *src) {
|
||||
if (String_IsTrainerName(src)) {
|
||||
u16 *dest_p = &dest->data[dest->size];
|
||||
u16 *src_p = &src->data[1];
|
||||
|
|
|
|||
|
|
@ -14,25 +14,25 @@ typedef struct String {
|
|||
|
||||
#define STR16_MAGIC 0xB6F8D2EC
|
||||
|
||||
struct String *String_New(u32 count, enum HeapID heapID);
|
||||
BOOL String_Compare(struct String *, struct String *);
|
||||
void CopyU16ArrayToStringN(struct String *, u16 *, u32); // copy
|
||||
void String_SetEmpty(struct String *); // set empty
|
||||
struct String *StringDup(struct String *, enum HeapID heapID);
|
||||
void String_Delete(struct String *str);
|
||||
void StringCopy(struct String *dest, struct String *src);
|
||||
void String16_FormatInteger(struct String *str, int num, u32 ndigits, enum PrintingMode printingMode, BOOL whichCharset);
|
||||
s64 String_atoi(struct String *str, BOOL *flag);
|
||||
u16 StringGetLength(struct String *str);
|
||||
int StringCountLines(volatile struct String *str);
|
||||
void StringGetLineN(struct String *dest, volatile struct String *src, u32 n);
|
||||
void CopyU16ArrayToString(struct String *str, u16 *buf);
|
||||
void CopyStringToU16Array(struct String *str, u16 *buf, u32 length);
|
||||
u16 *String_c_str(struct String *str);
|
||||
void StrAddChar(struct String *str, u16 val);
|
||||
void StringCat(struct String *dest, struct String *src);
|
||||
void StrUpperFirstChar(struct String *str);
|
||||
BOOL String_IsTrainerName(struct String *string);
|
||||
void StringCat_HandleTrainerName(struct String *dest, struct String *src);
|
||||
String *String_New(u32 count, enum HeapID heapID);
|
||||
BOOL String_Compare(String *, String *);
|
||||
void CopyU16ArrayToStringN(String *, u16 *, u32); // copy
|
||||
void String_SetEmpty(String *); // set empty
|
||||
String *StringDup(String *, enum HeapID heapID);
|
||||
void String_Delete(String *str);
|
||||
void StringCopy(String *dest, String *src);
|
||||
void String16_FormatInteger(String *str, int num, u32 ndigits, enum PrintingMode printingMode, BOOL whichCharset);
|
||||
s64 String_atoi(String *str, BOOL *flag);
|
||||
u16 StringGetLength(String *str);
|
||||
int StringCountLines(volatile String *str);
|
||||
void StringGetLineN(String *dest, volatile String *src, u32 n);
|
||||
void CopyU16ArrayToString(String *str, u16 *buf);
|
||||
void CopyStringToU16Array(String *str, u16 *buf, u32 length);
|
||||
u16 *String_c_str(String *str);
|
||||
void StrAddChar(String *str, u16 val);
|
||||
void StringCat(String *dest, String *src);
|
||||
void StrUpperFirstChar(String *str);
|
||||
BOOL String_IsTrainerName(String *string);
|
||||
void StringCat_HandleTrainerName(String *dest, String *src);
|
||||
|
||||
#endif // POKEDIAMOND_STRING16_H
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user