screenshooter: Report an error if we fail to open the file
authorRob Bradford <rob@linux.intel.com>
Wed, 5 Dec 2012 18:47:04 +0000 (18:47 +0000)
committerKristian Høgsberg <krh@bitplanet.net>
Fri, 7 Dec 2012 03:31:22 +0000 (22:31 -0500)
src/screenshooter.c

index 24999f3..840dfb8 100644 (file)
@@ -404,9 +404,6 @@ weston_recorder_create(struct weston_output *output, const char *filename)
        recorder->output = output;
        memset(recorder->frame, 0, size);
 
-       recorder->fd = open(filename,
-                           O_WRONLY | O_CREAT | O_TRUNC | O_CLOEXEC, 0644);
-
        header.magic = WCAP_HEADER_MAGIC;
 
        switch (output->compositor->read_format) {
@@ -421,6 +418,14 @@ weston_recorder_create(struct weston_output *output, const char *filename)
                return;
        }
 
+       recorder->fd = open(filename,
+                           O_WRONLY | O_CREAT | O_TRUNC | O_CLOEXEC, 0644);
+
+       if (recorder->fd < 0) {
+               weston_log("problem opening output file %s: %m\n", filename);
+               return;
+       }
+
        header.width = output->current->width;
        header.height = output->current->height;
        recorder->total += write(recorder->fd, &header, sizeof header);