mirror of
https://github.com/zeldaret/st
synced 2026-07-11 23:20:17 -04:00
make it build (and get wibo update from ph)
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
#ifndef _C_STRLIB_H
|
||||
#define _C_STRLIB_H
|
||||
|
||||
int abs(int n);
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,15 @@
|
||||
#ifndef _C_STRING_H
|
||||
#define _C_STRING_H
|
||||
|
||||
typedef unsigned int size_t;
|
||||
|
||||
size_t strlen(const char *str);
|
||||
char *strcpy(char *dest, const char *src);
|
||||
char *strncpy(char *dest, const char *src, size_t num);
|
||||
char *strcat(char *dest, const char *src);
|
||||
int strcmp(char *str1, char *str2);
|
||||
int strncmp(char *str1, char *str2, size_t num);
|
||||
const char *strchr(const char *str, char ch);
|
||||
const char *strstr(const char *str1, const char *str2);
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,10 @@
|
||||
#pragma once
|
||||
|
||||
typedef struct DestructorChain {
|
||||
/* 0 */ struct DestructorChain *next;
|
||||
/* 4 */ void *destructor;
|
||||
/* 8 */ void *object;
|
||||
/* c */
|
||||
} DestructorChain;
|
||||
|
||||
void *__register_global_object(void *object, void *destructor, DestructorChain *link);
|
||||
@@ -0,0 +1,10 @@
|
||||
#pragma once
|
||||
|
||||
namespace std {
|
||||
template <class T> class vector {
|
||||
public:
|
||||
T *elements;
|
||||
int size;
|
||||
int capacity;
|
||||
};
|
||||
} // namespace std
|
||||
@@ -0,0 +1,14 @@
|
||||
#include "global_destructor_chain.h"
|
||||
|
||||
#define CALL_DTOR(dtor, obj) (((void (*)(void *, int))(dtor))((obj), -1))
|
||||
|
||||
DestructorChain *__global_destructor_chain;
|
||||
|
||||
void *__register_global_object(void *object, void *destructor, DestructorChain *link) {
|
||||
link->next = __global_destructor_chain;
|
||||
link->destructor = destructor;
|
||||
link->object = object;
|
||||
|
||||
__global_destructor_chain = link;
|
||||
return object;
|
||||
}
|
||||
Reference in New Issue
Block a user