/** * \brief Append the abilities to the list. * \param list CameraAbilitiesList * \param abilities CameraAbilities * \return a gphoto2 error code * * This function is called by a camera library on camera_abilities() * in order to inform libgphoto2 about a supported camera model. * */ int gp_abilities_list_append (CameraAbilitiesList *list, CameraAbilities abilities) { CameraAbilities *new_abilities; CHECK_NULL (list); if (!list->count) new_abilities = malloc (sizeof (CameraAbilities)); else new_abilities = realloc (list->abilities, sizeof (CameraAbilities) * (list->count + 1)); CHECK_MEM (new_abilities); list->abilities = new_abilities; memcpy (&(list->abilities [list->count]), &abilities, sizeof (CameraAbilities)); /* FIXME: We replace the colon by a space in the model string * This keeps backward compatibility until we have * thought of and implemented something better. */ remove_colon_from_string(list->abilities[list->count].model); list->count++; return (GP_OK); }
/** * \brief Append the abilities to the list. * \param list CameraAbilitiesList * \param abilities CameraAbilities * \return a gphoto2 error code * * This function is called by a camera library on camera_abilities() * in order to inform libgphoto2 about a supported camera model. * */ int gp_abilities_list_append (CameraAbilitiesList *list, CameraAbilities abilities) { C_PARAMS (list); if (list->count == list->maxcount) { C_MEM (list->abilities = realloc (list->abilities, sizeof (CameraAbilities) * (list->maxcount + 100))); list->maxcount += 100; } memcpy (&(list->abilities [list->count]), &abilities, sizeof (CameraAbilities)); /* FIXME: We replace the colon by a space in the model string * This keeps backward compatibility until we have * thought of and implemented something better. */ remove_colon_from_string(list->abilities[list->count].model); list->count++; return (GP_OK); }