File: dawk.h

package info (click to toggle)
allegro5 2%3A5.2.6.0-3%2Bdeb11u1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 24,212 kB
  • sloc: ansic: 125,319; cpp: 15,781; objc: 4,579; python: 2,802; java: 2,254; javascript: 1,204; sh: 1,002; makefile: 51; perl: 37; xml: 25; pascal: 24
file content (54 lines) | stat: -rw-r--r-- 1,445 bytes parent folder | download | duplicates (5)
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#ifndef __included_dawk_h
#define __included_dawk_h

#ifdef _MSC_VER
   #define bool int
   #define true 1
   #define false 0
#else
   #include <stdbool.h>
#endif
#include <stdio.h>

#define MAX_STRING   3000
#define MAX_MATCH    8

typedef char         dstr[MAX_STRING];

extern void          (*d_cleanup)(void);
extern dstr          d_filename;
extern int           d_line_num;
extern FILE          *d_stdout;
extern dstr          d_before_match;
extern dstr          d_after_match;

#define D_STDOUT     (d_stdout ? d_stdout : stdout)

#define d_abort(msg1, msg2)   (d_doabort(__FILE__, __LINE__, (msg1), (msg2)))

extern void d_doabort(const char *filename, int line, const char *msg1,
   const char *msg2);

extern void d_init(int argc, char *argv[]);
extern void d_open_input(const char *filename);
extern void d_close_input(void);
extern bool d_getline(dstr var);

extern void d_open_output(const char *filename);
extern void d_close_output(void);
extern void d_print(const char *s);
extern void d_printf(const char *format, ...);

extern void d_assign(dstr to, const dstr from);
extern void d_assignn(dstr to, const dstr from, size_t n);

extern bool d_match(dstr line, const char *regex);
extern const char *d_submatch(int i);

extern void d_basename(const char *filename, const char *newext, dstr output);
extern void d_tolower(const dstr src, dstr dest);
extern void d_delchr(dstr str, char c);

#endif

/* vim: set sts=3 sw=3 et: */