File: fail.h

package info (click to toggle)
tinyssh 20230101-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 2,244 kB
  • sloc: ansic: 12,106; sh: 1,168; python: 479; makefile: 42
file content (30 lines) | stat: -rw-r--r-- 740 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#ifndef _FAIL_H____
#define _FAIL_H____

#include <stdio.h>
#include <unistd.h>
#include "fail.h"

#define fail_(a, b, x) do { fprintf(stderr, "%s:%llu: %s\n", (a), (unsigned long long)(b), (x)); fflush(stderr); _exit(111); } while (0);
#define fail(x) fail_(__FILE__, __LINE__, (x))


static void fail_printdata(char *text, unsigned char *data, long long len) {

    long long i;

    fprintf(stderr, "%s = {\n    ", text);
    for (i = 0; i < len; ++i) {
        if (i == len - 1) {
            fprintf(stderr, "0x%02x", data[i]);
        }
        else {
            fprintf(stderr, "0x%02x, ", data[i]);
            if (i % 8 == 7) fprintf(stderr, "\n    ");
        }
    }
    fprintf(stderr, "\n};\n");
    fflush(stderr);
}

#endif