1 /*****************************************************************************\
5 **---------------------------------------------------------------------------**
6 ** Copyright: Andreas Eversberg **
8 ** caller id support file **
10 \*****************************************************************************/
14 #include "extension.h"
18 /* create caller id from digits by comparing with national and international
21 const char *nationalize_callerinfo(const char *string, int *ntype, const char *national, const char *international)
23 if (!strncmp(international, string, strlen(international))) {
24 *ntype = INFO_NTYPE_INTERNATIONAL;
25 return(string+strlen(international));
27 if (!strncmp(national, string, strlen(national))) {
28 *ntype = INFO_NTYPE_NATIONAL;
29 return(string+strlen(national));
31 *ntype = INFO_NTYPE_SUBSCRIBER;
35 /* create number (including access codes) from caller id
38 const char *numberrize_callerinfo(const char *string, int ntype, const char *national, const char *international)
40 static char result[256];
43 case INFO_NTYPE_NOTPRESENT:
46 case INFO_NTYPE_INTERNATIONAL:
47 strcpy(result, international);
48 strncat(result, string, sizeof(result)-strlen(result)-1);
49 result[sizeof(result)-1] = '\0';
53 case INFO_NTYPE_NATIONAL:
54 strcpy(result, national);
55 strncat(result, string, sizeof(result)-strlen(result)-1);
56 result[sizeof(result)-1] = '\0';