8 #ifndef PROGRESS_PRINTER_H
9 #define PROGRESS_PRINTER_H
15 #define NMCM_CNT_VALUE 1
22 #define NMCM_PROGRESS_DECL struct nmcm_progress_t { \
33 #define NMCM_PROGRESS_DEF struct nmcm_progress_t nmcm_progress; \
34 struct nmcm_progress_t *nmcm_progress_ptr = &nmcm_progress;\
35 nmcm_progress_ptr->print_char = 0; \
36 nmcm_progress_ptr->limit = 0;
47 #define NMCM_PROGRESS_INIT(a,err_cmd) do { \
49 fprintf(stderr,"Error: 'progress' argument has to be greater than zero.\n"); \
52 nmcm_progress_ptr->cnt = NMCM_CNT_VALUE; \
53 nmcm_progress_ptr->limit = (a); \
54 nmcm_progress_ptr->print_char = '.'; \
62 #define NMCM_PROGRESS_PRINT do { \
63 if (nmcm_progress_ptr->cnt == nmcm_progress.limit) { \
64 putchar(nmcm_progress_ptr->print_char); \
66 nmcm_progress_ptr->cnt = NMCM_CNT_VALUE; \
68 nmcm_progress_ptr->cnt++; \
78 #define NMCM_PROGRESS_NEWLINE do { \
79 if (nmcm_progress_ptr->limit > 0) { \