blob: 7251fdbabceda5e0bb88e4b9ae83f501ea9ad517 [file] [log] [blame]
Arnaldo Carvalho de Melo69aad6f2011-01-03 16:39:04 -02001#include "xyarray.h"
2#include "util.h"
Arnaldo Carvalho de Melo72f7c4d2017-04-19 19:06:30 -03003#include <stdlib.h>
4#include <string.h>
Arnaldo Carvalho de Melo69aad6f2011-01-03 16:39:04 -02005
6struct xyarray *xyarray__new(int xlen, int ylen, size_t entry_size)
7{
8 size_t row_size = ylen * entry_size;
9 struct xyarray *xy = zalloc(sizeof(*xy) + xlen * row_size);
10
11 if (xy != NULL) {
12 xy->entry_size = entry_size;
13 xy->row_size = row_size;
Jiri Olsab45f65e2015-06-14 10:19:16 +020014 xy->entries = xlen * ylen;
Arnaldo Carvalho de Melo69aad6f2011-01-03 16:39:04 -020015 }
16
17 return xy;
18}
19
Jiri Olsab45f65e2015-06-14 10:19:16 +020020void xyarray__reset(struct xyarray *xy)
21{
22 size_t n = xy->entries * xy->entry_size;
23
24 memset(xy->contents, 0, n);
25}
26
Arnaldo Carvalho de Melo69aad6f2011-01-03 16:39:04 -020027void xyarray__delete(struct xyarray *xy)
28{
29 free(xy);
30}