diff --git a/examples/example_tut01.c b/examples/example_tut01.c index 0680612..57e2ce3 100644 --- a/examples/example_tut01.c +++ b/examples/example_tut01.c @@ -1,38 +1,38 @@ /** * \file: example_tut01.c */ - + #include #include - + #include "c_traceback.h" - + void alloc_memory(double **arr, const size_t n); - + int main(void) { - const size_t n = 1000000000000000; // Vector size + const size_t n = 1000000000000000; // Vector size const double denominator = 123.0; - + /* Allocate memory */ double *arr; TRY_GOTO(alloc_memory(&arr, n), error_clean_up); - + /* Initialize values */ - + /* Division */ - + /* Clean up */ free(arr); return 0; - + error_clean_up: /* Error clean up */ free(arr); ctb_dump_traceback(); return 1; } - + void alloc_memory(double **arr, const size_t n) { *arr = malloc(n * sizeof(double)); @@ -42,4 +42,3 @@ void alloc_memory(double **arr, const size_t n) THROW(CTB_MEMORY_ERROR, "Failed to allocate memory for vector!"); } } - \ No newline at end of file diff --git a/examples/example_tut02.c b/examples/example_tut02.c index dcab522..0d4e805 100644 --- a/examples/example_tut02.c +++ b/examples/example_tut02.c @@ -1,42 +1,42 @@ /** * \file: example_tut02.c */ - + #include #include - + #include "c_traceback.h" - + void alloc_memory(double **arr, const size_t n); void initialize_vec(double *arr, const size_t n); - + int main(void) { ctb_install_signal_handler(); - const size_t n = 1000; // Vector size + const size_t n = 1000; // Vector size const double denominator = 123.0; - + /* Allocate memory */ double *arr; TRY_GOTO(alloc_memory(&arr, n), error_clean_up); - + /* Initialize values */ TRY_GOTO(initialize_vec(arr, 1000 * n), error_clean_up); - + /* Division */ - + /* Clean up */ free(arr); return 0; - + error_clean_up: /* Error clean up */ free(arr); ctb_dump_traceback(); return 1; } - + void alloc_memory(double **arr, const size_t n) { *arr = malloc(n * sizeof(double)); @@ -46,7 +46,7 @@ void alloc_memory(double **arr, const size_t n) THROW(CTB_MEMORY_ERROR, "Failed to allocate memory for vector!"); } } - + void initialize_vec(double *arr, const size_t n) { if (!arr) diff --git a/examples/example_tut03.c b/examples/example_tut03.c index f08259d..8ac165a 100644 --- a/examples/example_tut03.c +++ b/examples/example_tut03.c @@ -1,42 +1,42 @@ /** * \file: example_tut03.c */ - + #include #include - + #include "c_traceback.h" - + void alloc_memory(double **arr, const size_t n); void initialize_vec(double *arr, const size_t n); - + int main(void) { ctb_install_signal_handler(); - const size_t n = 1000; // Vector size + const size_t n = 1000; // Vector size const double denominator = 123.0; - + /* Allocate memory */ double *arr; TRY_GOTO(alloc_memory(&arr, n), error_clean_up); - + /* Initialize values */ TRY_GOTO(initialize_vec(arr, 1000 * n), error_clean_up); - + /* Division */ - + /* Clean up */ free(arr); return 0; - + error_clean_up: /* Error clean up */ free(arr); ctb_dump_traceback(); return 1; } - + void alloc_memory(double **arr, const size_t n) { *arr = malloc(n * sizeof(double)); @@ -46,7 +46,7 @@ void alloc_memory(double **arr, const size_t n) THROW(CTB_MEMORY_ERROR, "Failed to allocate memory for vector!"); } } - + void initialize_vec(double *arr, const size_t n) { if (!arr) @@ -55,10 +55,5 @@ void initialize_vec(double *arr, const size_t n) THROW(CTB_NULL_POINTER_ERROR, "Received null pointer."); } - TRACE_BLOCK( - for (int i = 0; i < n; i++) - { - arr[i] = i; - } - ); + TRACE_BLOCK(for (int i = 0; i < n; i++) { arr[i] = i; }); } diff --git a/examples/example_tut04.c b/examples/example_tut04.c index 266897f..b75d850 100644 --- a/examples/example_tut04.c +++ b/examples/example_tut04.c @@ -1,45 +1,45 @@ /** * \file: example_tut04.c */ - + #include #include - + #include "c_traceback.h" - + void alloc_memory(double **arr, const size_t n); void initialize_vec(double *arr, const size_t n); void divide_vec(double *arr, const size_t n, const double denominator); - + int main(void) { ctb_clear_context(); ctb_install_signal_handler(); - const size_t n = 1000; // Vector size + const size_t n = 1000; // Vector size const double denominator = 0.0; - + /* Allocate memory */ double *arr; TRY_GOTO(alloc_memory(&arr, n), error_clean_up); - + /* Initialize values */ TRY_GOTO(initialize_vec(arr, n), error_clean_up); - + /* Division */ TRY_GOTO(divide_vec(arr, n, denominator), error_clean_up); - + /* Clean up */ free(arr); return 0; - + error_clean_up: /* Error clean up */ free(arr); ctb_dump_traceback(); return 1; } - + void alloc_memory(double **arr, const size_t n) { *arr = malloc(n * sizeof(double)); @@ -49,7 +49,7 @@ void alloc_memory(double **arr, const size_t n) THROW(CTB_MEMORY_ERROR, "Failed to allocate memory for vector!"); } } - + void initialize_vec(double *arr, const size_t n) { if (!arr) @@ -58,12 +58,7 @@ void initialize_vec(double *arr, const size_t n) THROW(CTB_NULL_POINTER_ERROR, "Received null pointer."); } - TRACE_BLOCK( - for (int i = 0; i < n; i++) - { - arr[i] = i; - } - ); + TRACE_BLOCK(for (int i = 0; i < n; i++) { arr[i] = i; }); } void divide_vec(double *arr, const size_t n, const double denominator) @@ -81,4 +76,3 @@ void divide_vec(double *arr, const size_t n, const double denominator) arr[i] /= denominator; } } - diff --git a/include/c_traceback.h b/include/c_traceback.h index 8bc1ea1..a970aa8 100644 --- a/include/c_traceback.h +++ b/include/c_traceback.h @@ -25,10 +25,10 @@ * (i.e. the title printed at the top of the traceback output * before "(most recent call last)"). It will be highlighted in * bold. - * - * You can change this value to customize the header, e.g. + * + * You can change this value to customize the header, e.g. * "MyApp Traceback" - * + * * If its value is NULL or an empty string, "Traceback" will be used. */ #define CTB_TRACEBACK_HEADER "" diff --git a/src/error.c b/src/error.c index 546f291..9dc4e5f 100644 --- a/src/error.c +++ b/src/error.c @@ -68,7 +68,9 @@ void ctb_throw_error( ctb_setup_error_snapshot_core(context, error_snapshot, error, file, line, func); if (msg != NULL) { - snprintf(error_snapshot->error_message, CTB_MAX_ERROR_MESSAGE_LENGTH, "%s", msg); + snprintf( + error_snapshot->error_message, CTB_MAX_ERROR_MESSAGE_LENGTH, "%s", msg + ); } else { diff --git a/src/internal/trace.h b/src/internal/trace.h index 5308ed8..e8b7da8 100644 --- a/src/internal/trace.h +++ b/src/internal/trace.h @@ -13,17 +13,16 @@ #ifndef ctb_thread_local #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L -/* C23 made 'thread_local' a standard keyword; map to it. */ +/* C23 */ #define ctb_thread_local thread_local #elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L -/* C11 provides the _Thread_local storage-class specifier. - Map ctb_thread_local to _Thread_local for thread-local storage. */ +/* C11 */ #define ctb_thread_local _Thread_local #elif defined(__GNUC__) || defined(__clang__) || defined(__MINGW32__) -/* GCC, Clang, and MinGW use __thread for C99 */ +/* GCC and Clang */ #define ctb_thread_local __thread #elif defined(_MSC_VER) -/* MSVC (Visual Studio) uses __declspec(thread) */ +/* MSVC */ #define ctb_thread_local __declspec(thread) #else #error "Cannot define thread_local for this compiler/standard."