Recently Written · git

sacc

Mirror of git://bitreich.org/sacc, the sacc gopher client from bitreich.org.

git clone https://github.com/equwal/sacc

Log | Files | Refs


common.h (954 bytes)

1 #define clear(p)	do { void **_p = (void **)(p); free(*_p); *_p = NULL; } while (0);
2 
3 typedef struct item Item;
4 typedef struct dir Dir;
5 
6 struct item {
7 	char type;
8 	char redtype;
9 	char *username;
10 	char *selector;
11 	char *host;
12 	char *port;
13 	char *raw;
14 	char *tag;
15 	void *dat;
16 	Item *entry;
17 };
18 
19 struct dir {
20 	Item *items;
21 	size_t nitems;
22 	size_t printoff;
23 	size_t curline;
24 };
25 
26 extern int interactive;
27 
28 extern void (*diag)(char *, ...);
29 
30 extern void die(const char *, ...);
31 extern size_t mbsprint(const char *, size_t);
32 #ifdef NEED_STRCASESTR
33 extern char *strcasestr(const char *, const char *);
34 #endif /* NEED_STRCASESTR */
35 extern const char *typedisplay(char);
36 extern int itemuri(Item *, char *, size_t);
37 extern void yankitem(Item *);
38 extern void uicleanup(void);
39 extern void uidisplay(Item *);
40 extern char *uiprompt(char *, ...);
41 extern Item *uiselectitem(Item *);
42 extern void uisetup(void);
43 extern void uisigwinch(int);
44 extern void uistatus(char *, ...);