-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstringz.h
More file actions
70 lines (54 loc) · 2.09 KB
/
stringz.h
File metadata and controls
70 lines (54 loc) · 2.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#ifndef __STRINGZ_H__
#define __STRINGZ_H__
//NOTES(): EWWW
#include <stdarg.h>
#include <string.h>
#include "./required/intrinsic.h"
#include "./required/memory.h"
#include "marray.h"
typedef unsigned char us32;
typedef char s32;
enum s32_token_type
{
S32_NULL,
S32_STRING
};
struct string_token
{
size_t length;
enum s32_token_type type;
char* data;
char c;
};
struct string_tokenizer
{
int count;
char* at;
};
us32* S32Cat(us32* source, i32 size, ...);
struct string_token GetStringToken(struct string_tokenizer* tokenizer);
struct marray* FindString_(char* stringToFind, char* source, char* filename, int line);
int Strlen(char* string);
void Strcpy(char* dest, char* source);
char* vCreateString(char* newString, char* filename, int line);
char* vMidString(char* source, int from, int to, char* filename, int fileLine);
char* IToS(int integer);
int SToI(char* str);
b32 StrCmp(char* source, char* compareString);
struct marray* StrSplit_(char* source, char* determinator, char* filename, int line);
void Strcpy(unsigned char* dest, unsigned char* source);
unsigned char* vCreateString(unsigned char* newString, char* filename, int line);
int Strlen(unsigned char* string);
s32 *Char2BinaryAscii(us32 c );
#define S32(newstring) vCreateString(newstring,(char*) __FILE__,__LINE__);
#define S32M(newstring,file,line) vCreateString(newstring,file,line);
#define US32(newstring) vCreateString(newstring,(char*) __FILE__,__LINE__);
#define US32M(newstring,file,line) vCreateString(newstring,file,line);
s32* S32Cat(s32* source, i32 size, ...);
//#define S32Cat(source,...) _S32Cat((char*) __FILE__,__LINE__,source,...);
#define MidString(source,from,to) vMidString(source,from,to,(char*) __FILE__,__LINE__)
#define FindString(stringToFind, sourceString) FindString_(stringToFind, sourceString,(char*) __FILE__,__LINE__)
//#define FindStringA(stringToFind, sourceString) FindString__(stringToFind, sourceString, (char*) __FILE__,__LINE__)
#define ToLower(string) ToLower_(string, (char*) __FILE__,__LINE__)
#define StrSplit(source,determinator) StrSplit_(source, determinator,(char*) __FILE__, __LINE__)
#endif