-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlists.h
39 lines (24 loc) · 834 Bytes
/
lists.h
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
#ifndef INCLUDED_STRING_BUFFER_H
#define INCLUDED_STRING_BUFFER_H
#define STRING_BUFFER_SIZE 64
struct str_buffer
{
char* str;
int buffer_size, len;
};
void str_buffer_init (struct str_buffer* b);
void str_buffer_add (struct str_buffer* b, char c);
void str_buffer_append (struct str_buffer* b, const char* s);
void str_buffer_clear (struct str_buffer* b);
struct linked_list {
struct linked_list* next;
struct linked_list* last;
void* data;
};
struct linked_list* linked_list_create ();
void linked_list_destroy (struct linked_list* list);
void linked_list_add (struct linked_list* list, void* data);
int linked_list_length (struct linked_list* list);
void** linked_list_array (struct linked_list* list);
#define linked_list_each(n, l) for (n = (l)->first; n != NULL; n = n->next)
#endif//INCLUDED_STRING_BUFFER_H