changed error message a bit...
[lcr.git] / callerid.c
index 7d13f16..c12e908 100644 (file)
@@ -18,7 +18,7 @@
 /* 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)))
        {
@@ -37,22 +37,25 @@ 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)
        {
+               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;