513d613387
I would've preferred to just go with 4-spaces for indent and no tabs, but lao is a bit conservative about it. :^) Still, this is a ton better than mixing different styles all over the place, especially within the same file.
28 lines
589 B
C
28 lines
589 B
C
/*
|
|
* This software is licensed under the terms of the MIT-License
|
|
* See COPYING for further information.
|
|
* ---
|
|
* Copyright (c) 2011-2018, Lukas Weber <laochailan@web.de>.
|
|
* Copyright (c) 2012-2018, Andrei Alexeyev <akari@alienslab.net>.
|
|
*/
|
|
|
|
#pragma once
|
|
#include "taisei.h"
|
|
|
|
typedef struct {
|
|
void *ptr;
|
|
int refs;
|
|
} Reference;
|
|
|
|
typedef struct {
|
|
Reference *ptrs;
|
|
int count;
|
|
} RefArray;
|
|
|
|
extern void *_FREEREF;
|
|
#define FREEREF &_FREEREF
|
|
#define REF(p) (global.refs.ptrs[(int)(p)].ptr)
|
|
int add_ref(void *ptr);
|
|
void del_ref(void *ptr);
|
|
void free_ref(int i);
|
|
void free_all_refs(void);
|