From ef5dfb7febd8881158e493451a27a2500ced14cb Mon Sep 17 00:00:00 2001 From: Matthias Vogelgesang Date: Fri, 18 Mar 2011 11:10:00 +0100 Subject: Initialize all camera fields with NULL to catch errors early on --- src/uca-cam.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'src/uca-cam.c') diff --git a/src/uca-cam.c b/src/uca-cam.c index eb76fad..b26b826 100644 --- a/src/uca-cam.c +++ b/src/uca-cam.c @@ -19,3 +19,31 @@ enum uca_cam_state uca_cam_get_state(struct uca_camera *cam) return cam->state; } +struct uca_camera *uca_cam_new(void) +{ + struct uca_camera *cam = (struct uca_camera *) malloc(sizeof(struct uca_camera)); + + cam->next = NULL; + + /* Set all function pointers to NULL so we know early on, if something has + * not been implemented. */ + cam->set_property = NULL; + cam->get_property = NULL; + cam->start_recording = NULL; + cam->stop_recording = NULL; + cam->grab = NULL; + cam->register_callback = NULL; + cam->destroy = NULL; + + cam->user = NULL; + + cam->grabber = NULL; + cam->state = UCA_CAM_CONFIGURABLE; + cam->current_frame = 0; + + /* No callbacks and user data associated yet */ + cam->callback = NULL; + cam->callback_user = NULL; + + return cam; +} -- cgit v1.2.3