}
}
- if (analog_p->ringt) {
- analog_p->ringt--;
- }
- if (analog_p->ringt == 1) {
- return -1;
+ if (analog_p->ringt > 0) {
+ if (!(--analog_p->ringt)) {
+ /* only return if we timeout from a ring event */
+ return -1;
+ }
}
if (p->cid_signalling == CID_SIG_V23_JP) {
}
break;
}
- if (analog_p->ringt)
- analog_p->ringt--;
- if (analog_p->ringt == 1) {
- res = -1;
- break;
+ if (analog_p->ringt > 0) {
+ if (!(--analog_p->ringt)) {
+ res = -1;
+ break;
+ }
}
}
}
ast_mutex_unlock(&p->lock);
return &p->subs[idx].f;
}
- if (p->ringt == 1) {
- ast_mutex_unlock(&p->lock);
- return NULL;
+ if (p->ringt > 0) {
+ if (!(--p->ringt)) {
+ ast_mutex_unlock(&p->lock);
+ return NULL;
+ }
}
- else if (p->ringt > 0)
- p->ringt--;
#ifdef HAVE_OPENR2
if (p->mfcr2) {
}
break;
}
- if (p->ringt)
- p->ringt--;
- if (p->ringt == 1) {
- res = -1;
- break;
+ if (p->ringt > 0) {
+ if (!(--p->ringt)) {
+ res = -1;
+ break;
+ }
}
}
}
}
break;
}
- if (p->ringt) {
- p->ringt--;
- }
- if (p->ringt == 1) {
- res = -1;
- break;
+ if (p->ringt > 0) {
+ if (!(--p->ringt)) {
+ res = -1;
+ break;
+ }
}
samples += res;
res = callerid_feed(cs, buf, res, AST_LAW(p));
}
break;
}
- if (p->ringt)
- p->ringt--;
- if (p->ringt == 1) {
- res = -1;
- break;
+ if (p->ringt > 0) {
+ if (!(--p->ringt)) {
+ res = -1;
+ break;
+ }
}
}
}