From bb62cbc099fc5219a857a9738410d87d994fea89 Mon Sep 17 00:00:00 2001 From: Neels Hofmeyr Date: Fri, 12 Jan 2018 05:38:00 +0100 Subject: logging-gsmtap: send only basename of source file GSMTAP doesn't have a lot of space for the source file name. It is better to send only the basename of the file, because only the first bit of a long path may not convey the source file at all, needing guess work from the line number. Before: "Source File Name: ../../../../src/libosmocore/src" After: "Source File Name: telnet_interface.c" Change-Id: Ie8fc9e782bcf8fa6e2e957d02e7d73c3a7c2bca8 --- src/logging_gsmtap.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src') diff --git a/src/logging_gsmtap.c b/src/logging_gsmtap.c index ec6757c9..82535adc 100644 --- a/src/logging_gsmtap.c +++ b/src/logging_gsmtap.c @@ -64,6 +64,7 @@ static void _gsmtap_raw_output(struct log_target *target, int subsys, const char *subsys_name = log_category_name(subsys); struct timeval tv; int rc; + const char *file_basename; /* get timestamp ASAP */ osmo_gettimeofday(&tv, NULL); @@ -86,6 +87,10 @@ static void _gsmtap_raw_output(struct log_target *target, int subsys, osmo_strlcpy(golh->subsys, subsys_name+1, sizeof(golh->subsys)); else golh->subsys[0] = '\0'; + + /* strip all leading path elements from file, if any. */ + file_basename = strrchr(file, '/'); + file = (file_basename && file_basename[1])? file_basename + 1 : file; osmo_strlcpy(golh->src_file.name, file, sizeof(golh->src_file.name)); golh->src_file.line_nr = osmo_htonl(line); golh->level = level; -- cgit v1.2.3