X-Git-Url: http://git.eversberg.eu/gitweb.cgi?p=lcr.git;a=blobdiff_plain;f=callerid.c;h=9b31461c634b9527c7579d757ad4133680632d73;hp=7d13f162364337dd93a326cfd83a1753e67a4739;hb=6bf7c7f9db360d6031417b012dcb0e90e2251cd6;hpb=026b04fc75011a144285f399b82890803b4315bd diff --git a/callerid.c b/callerid.c index 7d13f16..9b31461 100644 --- a/callerid.c +++ b/callerid.c @@ -18,15 +18,13 @@ /* create caller id from digits by comparing with national and international * prefixes. */ -char *nationalize_callerinfo(char *string, int *ntype, char *national, char *international) +const char *nationalize_callerinfo(const char *string, int *ntype, const char *national, const char *international) { - if (!strncmp(international, string, strlen(international))) - { + if (!strncmp(international, string, strlen(international))) { *ntype = INFO_NTYPE_INTERNATIONAL; return(string+strlen(international)); } - if (!strncmp(national, string, strlen(national))) - { + if (!strncmp(national, string, strlen(national))) { *ntype = INFO_NTYPE_NATIONAL; return(string+strlen(national)); } @@ -37,22 +35,24 @@ char *nationalize_callerinfo(char *string, int *ntype, char *national, char *int /* create number (including access codes) from caller id * prefixes. */ -char *numberrize_callerinfo(char *string, int ntype, char *national, char *international) +const char *numberrize_callerinfo(const char *string, int ntype, const char *national, const char *international) { static char result[256]; - switch(ntype) - { + switch(ntype) { + case INFO_NTYPE_NOTPRESENT: + return(""); + case INFO_NTYPE_INTERNATIONAL: strcpy(result, international); - strncat(result, string, sizeof(result)); + strncat(result, string, sizeof(result)-strlen(result)-1); result[sizeof(result)-1] = '\0'; return(result); break; case INFO_NTYPE_NATIONAL: strcpy(result, national); - strncat(result, string, sizeof(result)); + strncat(result, string, sizeof(result)-strlen(result)-1); result[sizeof(result)-1] = '\0'; return(result); break;