-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtypes.c
109 lines (84 loc) · 2.05 KB
/
types.c
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
/* See LICENSE file for license and copyright information */
#include <stdlib.h>
#include <girara/datastructures.h>
#include <glib.h>
#include "types.h"
#include "links.h"
#include "internal.h"
zathura_index_element_t*
zathura_index_element_new(const char* title)
{
if (title == NULL) {
return NULL;
}
zathura_index_element_t* res = g_malloc0(sizeof(zathura_index_element_t));
res->title = g_strdup(title);
return res;
}
void
zathura_index_element_free(zathura_index_element_t* index)
{
if (index == NULL) {
return;
}
g_free(index->title);
zathura_link_free(index->link);
g_free(index);
}
zathura_image_buffer_t*
zathura_image_buffer_create(unsigned int width, unsigned int height)
{
zathura_image_buffer_t* image_buffer = malloc(sizeof(zathura_image_buffer_t));
if (image_buffer == NULL) {
return NULL;
}
image_buffer->data = calloc(width * height * 3, sizeof(unsigned char));
if (image_buffer->data == NULL) {
free(image_buffer);
return NULL;
}
image_buffer->width = width;
image_buffer->height = height;
image_buffer->rowstride = width * 3;
return image_buffer;
}
void
zathura_image_buffer_free(zathura_image_buffer_t* image_buffer)
{
if (image_buffer == NULL) {
return;
}
free(image_buffer->data);
free(image_buffer);
}
girara_list_t*
zathura_document_information_entry_list_new()
{
girara_list_t* list = girara_list_new2((girara_free_function_t)
zathura_document_information_entry_free);
return list;
}
zathura_document_information_entry_t*
zathura_document_information_entry_new(zathura_document_information_type_t type,
const char* value)
{
if (value == NULL) {
return NULL;
}
zathura_document_information_entry_t* entry =
g_malloc0(sizeof(zathura_document_information_entry_t));
entry->type = type;
entry->value = g_strdup(value);
return entry;
}
void
zathura_document_information_entry_free(zathura_document_information_entry_t* entry)
{
if (entry == NULL) {
return;
}
if (entry->value != NULL) {
g_free(entry->value);
}
g_free(entry);
}