}
#define TC_BUFFER_SIZE 1024 * 32
-#define STR(_x) #_x
-#define MPGERROR() {err = "MPG123 Error at " __FILE__ ":" STR(__LINE__) "."; mpg123err = mpg123_strerror(context->mh); goto error; }
+
+#define CONCAT_LOCATION(_x,_y) _x ":" #_y
+#define MAKE_LOCATION(_x,_y) CONCAT_LOCATION(_x,_y)
+#define HERE MAKE_LOCATION(__FILE__, __LINE__)
+#define MPGERROR() {err = "MPG123 Error at " HERE "."; mpg123err = mpg123_strerror(context->mh); goto error; }
static switch_status_t shout_file_open(switch_file_handle_t *handle, const char *path)
{
shout_context_t *context;