33 lines · 656 B · C
RawDownload
// SPDX-License-Identifier: GPL-2.0#include <internal/xyarray.h>#include <linux/zalloc.h>#include <stdlib.h>#include <string.h> struct xyarray *xyarray__new(int xlen, int ylen, size_t entry_size){	size_t row_size = ylen * entry_size;	struct xyarray *xy = zalloc(sizeof(*xy) + xlen * row_size); 	if (xy != NULL) {		xy->entry_size = entry_size;		xy->row_size   = row_size;		xy->entries    = xlen * ylen;		xy->max_x      = xlen;		xy->max_y      = ylen;	} 	return xy;} void xyarray__reset(struct xyarray *xy){	size_t n = xy->entries * xy->entry_size; 	memset(xy->contents, 0, n);} void xyarray__delete(struct xyarray *xy){	free(xy);}