All pastes #9646 Raw Edit

Untitled

public text v1 · immutable
#9646 ·published 2005-04-16 05:31 UTC
rendered paste body
                /* Set caller ID */
                callerid_len = 10;
                if ((i->cd.call_source_alias != NULL) &&
                                                (strlen(i->cd.call_source_alias) > 0))
                        callerid_len += strlen(i->cd.call_source_alias);
                if ((i->cd.call_source_e164 != NULL) &&
                                                (strlen(i->cd.call_source_e164) > 0))
                        callerid_len += strlen(i->cd.call_source_e164);
                tmp->callerid = (char *)malloc(callerid_len);
                if (tmp->callerid != NULL) {
                        memset(tmp->callerid, 0, callerid_len);
                        if ((i->cd.call_source_alias != NULL) &&
                                                        (strlen(i->cd.call_source_alias) > 0)) {
                                dnamelen = strcspn(i->cd.call_source_alias, "([");
                                if (dnamelen < strlen(i->cd.call_source_alias)) {
                                        strncat(tmp->callerid, "\"", 1);
                                        strncat(tmp->callerid, i->cd.call_source_alias, dnamelen);
                                        strncat(tmp->callerid, "\"", 1);
                                } else {
                                        strncat(tmp->callerid, "\"\"", 2);
                                        dnamelen = 0;
                                }
                                if ((i->cd.call_source_e164 != NULL) &&
                                                                (strlen(i->cd.call_source_e164) > 0)) {
                                        strncat(tmp->callerid, " <", 2);
                                        strncat(tmp->callerid, i->cd.call_source_e164,
                                                                        strlen(i->cd.call_source_e164));
                                        strncat(tmp->callerid, ">", 1);
                                } else {
                                        strncat(tmp->callerid, "<>", 2);
                                }
                        } else if ((i->cd.call_source_e164 != NULL) &&
                                                                (strlen(i->cd.call_source_e164) > 0))
                                memcpy(tmp->callerid, i->cd.call_source_e164,
                                                                strlen(i->cd.call_source_e164));
                        /* Set ANI */
                        tmp->ani = strdup(tmp->callerid);
                }