opt: remove useless code

This commit is contained in:
DreamMaoMao 2025-06-19 22:32:44 +08:00
parent 025104593f
commit 58148214a6
5 changed files with 69 additions and 318 deletions

View file

@ -1,40 +0,0 @@
// SPDX-License-Identifier: GPL-2.0-only
/* Based on labwc (https://github.com/labwc/labwc) */
#define _POSIX_C_SOURCE 200809L
#include "mem.h"
#include <assert.h>
#include <stdio.h>
#include <string.h>
static void die_if_null(void *ptr) {
if (!ptr) {
perror("Failed to allocate memory");
exit(EXIT_FAILURE);
}
}
void *xzalloc(size_t size) {
if (!size) {
return NULL;
}
void *ptr = calloc(1, size);
die_if_null(ptr);
return ptr;
}
void *xrealloc(void *ptr, size_t size) {
if (!size) {
free(ptr);
return NULL;
}
ptr = realloc(ptr, size);
die_if_null(ptr);
return ptr;
}
char *xstrdup(const char *str) {
assert(str);
char *copy = strdup(str);
die_if_null(copy);
return copy;
}

View file

@ -1,63 +0,0 @@
// SPDX-License-Identifier: GPL-2.0-only
/* Based on labwc (https://github.com/labwc/labwc) */
#include <stdlib.h>
/*
* As defined in busybox, weston, etc.
* Allocates zero-filled memory; calls exit() on error.
* Returns NULL only if (size == 0).
*/
void *xzalloc(size_t size);
/*
* Type-safe macros in the style of C++ new/new[].
* Both allocate zero-filled memory for object(s) the same size as
* <expr>, which may be either a type name or value expression.
*
* znew() allocates space for one object.
* znew_n() allocates space for an array of <n> objects.
*
* Examples:
* struct wlr_box *box = znew(*box);
* char *buf = znew_n(char, 80);
*/
#define znew(expr) ((__typeof__(expr) *)xzalloc(sizeof(expr)))
#define znew_n(expr, n) ((__typeof__(expr) *)xzalloc((n) * sizeof(expr)))
/*
* As defined in FreeBSD.
* Like realloc(), but calls exit() on error.
* Returns NULL only if (size == 0).
* Does NOT zero-fill memory.
*/
void *xrealloc(void *ptr, size_t size);
/* malloc() is a specific case of realloc() */
#define xmalloc(size) xrealloc(NULL, (size))
/*
* As defined in FreeBSD.
* Allocates a copy of <str>; calls exit() on error.
* Requires (str != NULL) and never returns NULL.
*/
char *xstrdup(const char *str);
/*
* Same as ptr = xstrdup(str) but free
* <ptr> before assigning the result.
*/
#define xstrdup_replace(ptr, str) \
do { \
free(ptr); \
(ptr) = xstrdup(str); \
} while (0)
/*
* Frees memory pointed to by <ptr> and sets <ptr> to NULL.
* Does nothing if <ptr> is already NULL.
*/
#define zfree(ptr) \
do { \
free(ptr); \
(ptr) = NULL; \
} while (0)