weston-info: Use xmalloc() in weston-info
diff --git a/clients/weston-info.c b/clients/weston-info.c
index 03b4c40..5d928f5 100644
--- a/clients/weston-info.c
+++ b/clients/weston-info.c
@@ -95,6 +95,19 @@
bool roundtrip_needed;
};
+static void *
+xmalloc(size_t s)
+{
+ void *p = malloc(s);
+
+ if (p == NULL) {
+ fprintf(stderr, "out of memory\n");
+ exit(1);
+ }
+
+ return p;
+}
+
static void
print_global_info(void *data)
{
@@ -271,7 +284,7 @@
static void
add_seat_info(struct weston_info *info, uint32_t id, uint32_t version)
{
- struct seat_info *seat = malloc(sizeof *seat);
+ struct seat_info *seat = xmalloc(sizeof *seat);
init_global_info(info, &seat->global, id, "wl_seat", version);
seat->global.print = print_seat_info;
@@ -287,7 +300,7 @@
shm_handle_format(void *data, struct wl_shm *wl_shm, uint32_t format)
{
struct shm_info *shm = data;
- struct shm_format *shm_format = malloc(sizeof *shm_format);
+ struct shm_format *shm_format = xmalloc(sizeof *shm_format);
wl_list_insert(&shm->formats, &shm_format->link);
shm_format->format = format;
@@ -300,7 +313,7 @@
static void
add_shm_info(struct weston_info *info, uint32_t id, uint32_t version)
{
- struct shm_info *shm = malloc(sizeof *shm);
+ struct shm_info *shm = xmalloc(sizeof *shm);
init_global_info(info, &shm->global, id, "wl_shm", version);
shm->global.print = print_shm_info;
@@ -339,7 +352,7 @@
int32_t refresh)
{
struct output_info *output = data;
- struct output_mode *mode = malloc(sizeof *mode);
+ struct output_mode *mode = xmalloc(sizeof *mode);
mode->flags = flags;
mode->width = width;
@@ -357,7 +370,7 @@
static void
add_output_info(struct weston_info *info, uint32_t id, uint32_t version)
{
- struct output_info *output = malloc(sizeof *output);
+ struct output_info *output = xmalloc(sizeof *output);
init_global_info(info, &output->global, id, "wl_output", version);
output->global.print = print_output_info;
@@ -376,7 +389,7 @@
add_global_info(struct weston_info *info, uint32_t id,
const char *interface, uint32_t version)
{
- struct global_info *global = malloc(sizeof *global);
+ struct global_info *global = xmalloc(sizeof *global);
init_global_info(info, global, id, interface, version);
global->print = print_global_info;