/simpletypesystem/trunk

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/simpletypesystem/trunk

« back to all changes in this revision

Viewing changes to libssts/utils.h

  • Committer: Gustav Hartvigsson
  • Date: 2016-02-01 14:29:35 UTC
  • mfrom: (121.1.4 simpletypesystem_gc)
  • Revision ID: gustav.hartvigsson@gmail.com-20160201142935-tz7ef63id2g3yfof
* Merged GC branch.

Show diffs side-by-side

added added

removed removed

Lines of Context:
129
129
 * Print a yellow warning to stderr.
130
130
 */
131
131
#define s_warn_print(p, ...)\
132
 
  fprintf (stderr, BOLDYELLOW "[WARN] " p "\n" RESET, ##__VA_ARGS__)
 
132
  fprintf (stderr, S_COLOR_BOLDYELLOW "[WARN] " p "\n" S_COLOR_RESET, ##__VA_ARGS__)
133
133
 
134
134
/**
135
135
 * prints a red message with the prefix [ERR]
136
136
 */
137
137
#define s_err_print(p, ...)\
138
 
  fprintf (stderr, RED "[ERR] " p RESET "\n", ##__VA_ARGS__)
 
138
  fprintf (stderr, S_COLOR_RED "[ERR] " p S_COLOR_RESET "\n", ##__VA_ARGS__)
139
139
 
140
140
#if DEBUG
141
141
/**
143
143
 * flag not unset.
144
144
 */
145
145
  #define s_dbg_print(M, ...)\
146
 
    fprintf (stdout, YELLOW "[DEBUG][%s:%d] " M RESET "\n", __FILE__, __LINE__, ##__VA_ARGS__)
 
146
    fprintf (stdout, S_COLOR_YELLOW "[DEBUG][%s:%d] " M S_COLOR_RESET "\n", __FILE__, __LINE__, ##__VA_ARGS__)
147
147
#else
148
148
  #define s_dbg_print(M, ...)
149
149
#endif
196
196
   */
197
197
  #define print_backtrace() {\
198
198
    fprintf (stderr, "[BACKTRACE:]\n");\
199
 
    void ** _backtrace_data_ = calloc (S_STACK_TRACKE_SIZE, sizeof (void *));\
 
199
    void ** _backtrace_data_ = s_calloc (S_STACK_TRACKE_SIZE, sizeof (void *));\
200
200
    int _backtrace_len_ = backtrace (_backtrace_data_, 10);\
201
201
    char ** _backtrace_strs_ = backtrace_symbols (_backtrace_data_, _backtrace_len_);\
202
202
    if (_backtrace_strs_ == NULL) {\
205
205
      for (int i = 0; i < _backtrace_len_; i++) {\
206
206
        fprintf (stderr, "%s\n", _backtrace_strs_[i]);\
207
207
      }\
208
 
      free (_backtrace_strs_);\
 
208
      s_free (_backtrace_strs_);\
209
209
    }\
210
210
    fprintf (stderr, "[END BACKTRACE]\n");\
211
211
  }
225
225
    HANDLE _backtrace_proc = GetCurrentProcess ();\
226
226
    SymInitialize (_backtrace_proc, 0, TRUE);\
227
227
    unsigned short _backtrace_frames = CaptureStackBackTrace ( 0, S_STACK_TRACKE_SIZE, _backtrace_stack, NULL );\
228
 
    SYMBOL_INFO * _backtrace_symbol = calloc (1, sizeof (SYMBOL_INFOW) + (sizeof (char) * 256));\
 
228
    SYMBOL_INFO * _backtrace_symbol = s_calloc (1, sizeof (SYMBOL_INFOW) + (sizeof (char) * 256));\
229
229
    _backtrace_symbol->MaxNameLen = 255;\
230
230
    _backtrace_symbol->SizeOfStruct = sizeof (SYMBOL_INFO);\
231
231
    for (int i = 0; i <= _backtrace_frames; i++) {\
233
233
      fprintf (stderr, "%i: %s - 0x%0X\n", _backtrace_frames - i, _backtrace_symbol->Name, _backtrace_symbol->Address);\
234
234
    }\
235
235
    SymCleanup (_backtrace_proc);\
236
 
    free (_backtrace_symbol);\
 
236
    s_free (_backtrace_symbol);\
237
237
    fprintf (stderr, "[END BACKTRACE]\n");\
238
238
  }
239
239
#else
245
245
#endif
246
246
 
247
247
 
248
 
/**
249
 
 * @}
250
 
 */
 
248
/** @} */
 
249
 
251
250
S_BEGIN_DECLS
252
251
 
253
252
#endif