aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/log.cpp17
-rw-r--r--src/proj_internal.h2
2 files changed, 16 insertions, 3 deletions
diff --git a/src/log.cpp b/src/log.cpp
index edfba140..d2c9f430 100644
--- a/src/log.cpp
+++ b/src/log.cpp
@@ -116,6 +116,17 @@ PJ_LOG_LEVEL proj_log_level (PJ_CONTEXT *ctx, PJ_LOG_LEVEL log_level) {
return previous;
}
+/*****************************************************************************/
+static std::string add_short_name_prefix(const PJ* P, const char* fmt)
+/*****************************************************************************/
+{
+ if( P->short_name == nullptr )
+ return fmt;
+ std::string ret(P->short_name);
+ ret += ": ";
+ ret += fmt;
+ return ret;
+}
/*****************************************************************************/
void proj_log_error (const PJ *P, const char *fmt, ...) {
@@ -124,7 +135,7 @@ void proj_log_error (const PJ *P, const char *fmt, ...) {
******************************************************************************/
va_list args;
va_start( args, fmt );
- pj_vlog (pj_get_ctx ((PJ*)P), PJ_LOG_ERROR , fmt, args);
+ pj_vlog (pj_get_ctx ((PJ*)P), PJ_LOG_ERROR , add_short_name_prefix(P, fmt).c_str(), args);
va_end( args );
}
@@ -136,7 +147,7 @@ void proj_log_debug (PJ *P, const char *fmt, ...) {
******************************************************************************/
va_list args;
va_start( args, fmt );
- pj_vlog (pj_get_ctx (P), PJ_LOG_DEBUG_MAJOR , fmt, args);
+ pj_vlog (pj_get_ctx (P), PJ_LOG_DEBUG_MAJOR , add_short_name_prefix(P, fmt).c_str(), args);
va_end( args );
}
@@ -158,7 +169,7 @@ void proj_log_trace (PJ *P, const char *fmt, ...) {
******************************************************************************/
va_list args;
va_start( args, fmt );
- pj_vlog (pj_get_ctx (P), PJ_LOG_DEBUG_MINOR , fmt, args);
+ pj_vlog (pj_get_ctx (P), PJ_LOG_DEBUG_MINOR , add_short_name_prefix(P, fmt).c_str(), args);
va_end( args );
}
diff --git a/src/proj_internal.h b/src/proj_internal.h
index bf9e5386..f0d3c8b3 100644
--- a/src/proj_internal.h
+++ b/src/proj_internal.h
@@ -354,6 +354,7 @@ struct PJconsts {
**************************************************************************************/
PJ_CONTEXT *ctx = nullptr;
+ const char *short_name = nullptr; /* From pj_list.h */
const char *descr = nullptr; /* From pj_list.h or individual PJ_*.c file */
paralist *params = nullptr; /* Parameter list */
char *def_full = nullptr; /* Full textual definition (usually 0 - set by proj_pj_info) */
@@ -719,6 +720,7 @@ C_NAMESPACE PJ *pj_##name (PJ *P) { \
P = pj_new(); \
if (nullptr==P) \
return nullptr; \
+ P->short_name = #name; \
P->descr = des_##name; \
P->need_ellps = NEED_ELLPS; \
P->left = PJ_IO_UNITS_RADIANS; \