int snd_interval_refine_min(snd_interval_t *i, unsigned int min, int openmin)
{
int changed = 0;
- assert(!snd_interval_empty(i));
+ if (snd_interval_empty(i))
+ return -ENOENT;
if (i->min < min) {
i->min = min;
i->openmin = openmin;
int snd_interval_refine_max(snd_interval_t *i, unsigned int max, int openmax)
{
int changed = 0;
- assert(!snd_interval_empty(i));
+ if (snd_interval_empty(i))
+ return -ENOENT;
if (i->max > max) {
i->max = max;
i->openmax = openmax;
int snd_interval_refine(snd_interval_t *i, const snd_interval_t *v)
{
int changed = 0;
- assert(!snd_interval_empty(i));
+ if (snd_interval_empty(i))
+ return -ENOENT;
if (i->min < v->min) {
i->min = v->min;
i->openmin = v->openmin;
int snd_interval_refine_first(snd_interval_t *i)
{
- assert(!snd_interval_empty(i));
+ if (snd_interval_empty(i))
+ return -ENOENT;
if (snd_interval_single(i))
return 0;
i->max = i->min;
int snd_interval_refine_last(snd_interval_t *i)
{
- assert(!snd_interval_empty(i));
+ if (snd_interval_empty(i))
+ return -ENOENT;
if (snd_interval_single(i))
return 0;
i->min = i->max;
MASK_INLINE int snd_mask_refine(snd_mask_t *mask, const snd_mask_t *v)
{
snd_mask_t old;
- assert(!snd_mask_empty(mask));
+ if (snd_mask_empty(mask))
+ return -ENOENT;
snd_mask_copy(&old, mask);
snd_mask_intersect(mask, v);
if (snd_mask_empty(mask))
MASK_INLINE int snd_mask_refine_first(snd_mask_t *mask)
{
- assert(!snd_mask_empty(mask));
+ if (snd_mask_empty(mask))
+ return -ENOENT;
if (snd_mask_single(mask))
return 0;
snd_mask_leave(mask, snd_mask_min(mask));
MASK_INLINE int snd_mask_refine_last(snd_mask_t *mask)
{
- assert(!snd_mask_empty(mask));
+ if (snd_mask_empty(mask))
+ return -ENOENT;
if (snd_mask_single(mask))
return 0;
snd_mask_leave(mask, snd_mask_max(mask));
MASK_INLINE int snd_mask_refine_min(snd_mask_t *mask, unsigned int val)
{
- assert(!snd_mask_empty(mask));
+ if (snd_mask_empty(mask))
+ return -ENOENT;
if (snd_mask_min(mask) >= val)
return 0;
snd_mask_reset_range(mask, 0, val - 1);
MASK_INLINE int snd_mask_refine_max(snd_mask_t *mask, unsigned int val)
{
- assert(!snd_mask_empty(mask));
+ if (snd_mask_empty(mask))
+ return -ENOENT;
if (snd_mask_max(mask) <= val)
return 0;
snd_mask_reset_range(mask, val + 1, SND_MASK_MAX);
MASK_INLINE int snd_mask_refine_set(snd_mask_t *mask, unsigned int val)
{
int changed;
- assert(!snd_mask_empty(mask));
+ if (snd_mask_empty(mask))
+ return -ENOENT;
changed = !snd_mask_single(mask);
snd_mask_leave(mask, val);
if (snd_mask_empty(mask))