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)))
25 *ntype = INFO_NTYPE_INTERNATIONAL;
26 return(string+strlen(international));
28 if (!strncmp(national, string, strlen(national)))
30 *ntype = INFO_NTYPE_NATIONAL;
31 return(string+strlen(national));
33 *ntype = INFO_NTYPE_SUBSCRIBER;
37 /* create number (including access codes) from caller id
40 const char *numberrize_callerinfo(const char *string, int ntype, const char *national, const char *international)
42 static char result[256];
46 case INFO_NTYPE_NOTPRESENT:
49 case INFO_NTYPE_INTERNATIONAL:
50 strcpy(result, international);
51 strncat(result, string, sizeof(result)-strlen(result)-1);
52 result[sizeof(result)-1] = '\0';
56 case INFO_NTYPE_NATIONAL:
57 strcpy(result, national);
58 strncat(result, string, sizeof(result)-strlen(result)-1);
59 result[sizeof(result)-1] = '\0';