瀏覽代碼

pdbt: off-by-one error fixed in carrier.c, better output for pdbt command-line interface (parseable)

Henning Westerholt 14 年之前
父節點
當前提交
91f79909c5
共有 2 個文件被更改,包括 9 次插入5 次删除
  1. 2 2
      utils/pdbt/carrier.c
  2. 7 3
      utils/pdbt/pdbt.c

+ 2 - 2
utils/pdbt/carrier.c

@@ -93,8 +93,8 @@ int load_carrier_names(char *filename) {
 			exit(-1);
 		}
 		
-		strncpy(cnames[id], p, len);
-		cnames[id][len]=0;
+		strncpy(cnames[id], p, len - 1);
+		cnames[id][len - 1]=0;
 
 	nextline:
 		n++;

+ 7 - 3
utils/pdbt/pdbt.c

@@ -546,10 +546,12 @@ void query_mmap(char *number, char *comment, void *data) {
 	nmatch=dtm_longest_match(mroot, number, strlen(number), &carrierid);
 
 	if (nmatch<=0) {
-		LINFO("%s: not_found: nmatch=%ld, comment='%s'\n", number, (long int)nmatch, comment);
+		LINFO("%s:%s:%ld:%s\n", number, comment, (long int)carrierid, "not allocated, probably old");
 	}
 	else {
-		LINFO("%s: found: carrier_id=%ld, carrier_name='%s', nmatch=%ld, comment='%s'\n", number, (long int)carrierid, carrierid2name(carrierid), (long int)nmatch, comment);
+		LINFO("%s:%s:%ld:%s\n", number, comment, (long int)carrierid, carrierid2name(carrierid));
+		/* LINFO("%s: found: carrier_id=%ld, carrier_name='%s', nmatch=%ld, comment='%s'\n", number, (long int)carrierid, carrierid2name(carrierid), (long int)nmatch, comment);
+		*/
 	}
 }
 
@@ -566,7 +568,9 @@ void query_server(char *number, char *comment, void *data) {
 		LINFO("%s: not_found: comment='%s'\n", number, comment);
 	}
 	else {
-		LINFO("%s: found: carrier_id=%ld, carrier_name='%s', comment='%s'\n", number, (long int)carrierid, carrierid2name(carrierid), comment);
+		LINFO("%s:%ld:%s\n", number, (long int)carrierid, carrierid2name(carrierid));
+		/* LINFO("%s: found: carrier_id=%ld, carrier_name='%s', comment='%s'\n", number, (long int)carrierid, carrierid2name(carrierid), comment);
+		*/
 	}
 }