Reduce visibility wherever possible
When possible, declare functions/variables static and move struct definitions out of headers. In order to allow utf8decode to become internal, use codepoint for DECSCUSR extension directly. Signed-off-by: Devin J. Pohly <djpohly@gmail.com>
This commit is contained in:
		
							
								
								
									
										31
									
								
								st.c
									
									
									
									
									
								
							
							
						
						
									
										31
									
								
								st.c
									
									
									
									
									
								
							| @@ -36,6 +36,7 @@ | |||||||
|  |  | ||||||
| /* Arbitrary sizes */ | /* Arbitrary sizes */ | ||||||
| #define UTF_INVALID   0xFFFD | #define UTF_INVALID   0xFFFD | ||||||
|  | #define UTF_SIZ       4 | ||||||
| #define ESC_BUF_SIZ   (128*UTF_SIZ) | #define ESC_BUF_SIZ   (128*UTF_SIZ) | ||||||
| #define ESC_ARG_SIZ   16 | #define ESC_ARG_SIZ   16 | ||||||
| #define STR_BUF_SIZ   ESC_BUF_SIZ | #define STR_BUF_SIZ   ESC_BUF_SIZ | ||||||
| @@ -95,6 +96,31 @@ enum escape_state { | |||||||
| 	ESC_DCS        =128, | 	ESC_DCS        =128, | ||||||
| }; | }; | ||||||
|  |  | ||||||
|  | typedef struct { | ||||||
|  | 	Glyph attr; /* current char attributes */ | ||||||
|  | 	int x; | ||||||
|  | 	int y; | ||||||
|  | 	char state; | ||||||
|  | } TCursor; | ||||||
|  |  | ||||||
|  | typedef struct { | ||||||
|  | 	int mode; | ||||||
|  | 	int type; | ||||||
|  | 	int snap; | ||||||
|  | 	/* | ||||||
|  | 	 * Selection variables: | ||||||
|  | 	 * nb – normalized coordinates of the beginning of the selection | ||||||
|  | 	 * ne – normalized coordinates of the end of the selection | ||||||
|  | 	 * ob – original coordinates of the beginning of the selection | ||||||
|  | 	 * oe – original coordinates of the end of the selection | ||||||
|  | 	 */ | ||||||
|  | 	struct { | ||||||
|  | 		int x, y; | ||||||
|  | 	} nb, ne, ob, oe; | ||||||
|  |  | ||||||
|  | 	int alt; | ||||||
|  | } Selection; | ||||||
|  |  | ||||||
| /* Internal representation of the screen */ | /* Internal representation of the screen */ | ||||||
| typedef struct { | typedef struct { | ||||||
| 	int row;      /* nb row */ | 	int row;      /* nb row */ | ||||||
| @@ -187,15 +213,18 @@ static void tstrsequence(uchar); | |||||||
|  |  | ||||||
| static void drawregion(int, int, int, int); | static void drawregion(int, int, int, int); | ||||||
|  |  | ||||||
|  | static void selnormalize(void); | ||||||
| static void selscroll(int, int); | static void selscroll(int, int); | ||||||
| static void selsnap(int *, int *, int); | static void selsnap(int *, int *, int); | ||||||
|  |  | ||||||
|  | static size_t utf8decode(const char *, Rune *, size_t); | ||||||
| static Rune utf8decodebyte(char, size_t *); | static Rune utf8decodebyte(char, size_t *); | ||||||
| static char utf8encodebyte(Rune, size_t); | static char utf8encodebyte(Rune, size_t); | ||||||
| static char *utf8strchr(char *s, Rune u); | static char *utf8strchr(char *, Rune); | ||||||
| static size_t utf8validate(Rune *, size_t); | static size_t utf8validate(Rune *, size_t); | ||||||
|  |  | ||||||
| static char *base64dec(const char *); | static char *base64dec(const char *); | ||||||
|  | static char base64dec_getc(const char **); | ||||||
|  |  | ||||||
| static ssize_t xwrite(int, const char *, size_t); | static ssize_t xwrite(int, const char *, size_t); | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										40
									
								
								st.h
									
									
									
									
									
								
							
							
						
						
									
										40
									
								
								st.h
									
									
									
									
									
								
							| @@ -1,8 +1,5 @@ | |||||||
| /* See LICENSE for license details. */ | /* See LICENSE for license details. */ | ||||||
|  |  | ||||||
| /* Arbitrary sizes */ |  | ||||||
| #define UTF_SIZ       4 |  | ||||||
|  |  | ||||||
| /* macros */ | /* macros */ | ||||||
| #define MIN(a, b)		((a) < (b) ? (a) : (b)) | #define MIN(a, b)		((a) < (b) ? (a) : (b)) | ||||||
| #define MAX(a, b)		((a) < (b) ? (b) : (a)) | #define MAX(a, b)		((a) < (b) ? (b) : (a)) | ||||||
| @@ -69,41 +66,6 @@ typedef struct { | |||||||
|  |  | ||||||
| typedef Glyph *Line; | typedef Glyph *Line; | ||||||
|  |  | ||||||
| typedef struct { |  | ||||||
| 	Glyph attr; /* current char attributes */ |  | ||||||
| 	int x; |  | ||||||
| 	int y; |  | ||||||
| 	char state; |  | ||||||
| } TCursor; |  | ||||||
|  |  | ||||||
| /* Purely graphic info */ |  | ||||||
| typedef struct { |  | ||||||
| 	int tw, th; /* tty width and height */ |  | ||||||
| 	int w, h; /* window width and height */ |  | ||||||
| 	int ch; /* char height */ |  | ||||||
| 	int cw; /* char width  */ |  | ||||||
| 	int mode; /* window state/mode flags */ |  | ||||||
| 	int cursor; /* cursor style */ |  | ||||||
| } TermWindow; |  | ||||||
|  |  | ||||||
| typedef struct { |  | ||||||
| 	int mode; |  | ||||||
| 	int type; |  | ||||||
| 	int snap; |  | ||||||
| 	/* |  | ||||||
| 	 * Selection variables: |  | ||||||
| 	 * nb – normalized coordinates of the beginning of the selection |  | ||||||
| 	 * ne – normalized coordinates of the end of the selection |  | ||||||
| 	 * ob – original coordinates of the beginning of the selection |  | ||||||
| 	 * oe – original coordinates of the end of the selection |  | ||||||
| 	 */ |  | ||||||
| 	struct { |  | ||||||
| 		int x, y; |  | ||||||
| 	} nb, ne, ob, oe; |  | ||||||
|  |  | ||||||
| 	int alt; |  | ||||||
| } Selection; |  | ||||||
|  |  | ||||||
| typedef union { | typedef union { | ||||||
| 	int i; | 	int i; | ||||||
| 	uint ui; | 	uint ui; | ||||||
| @@ -137,11 +99,9 @@ void selclear(void); | |||||||
| void selinit(void); | void selinit(void); | ||||||
| void selstart(int, int, int); | void selstart(int, int, int); | ||||||
| void selextend(int, int, int, int); | void selextend(int, int, int, int); | ||||||
| void selnormalize(void); |  | ||||||
| int selected(int, int); | int selected(int, int); | ||||||
| char *getsel(void); | char *getsel(void); | ||||||
|  |  | ||||||
| size_t utf8decode(const char *, Rune *, size_t); |  | ||||||
| size_t utf8encode(Rune, char *); | size_t utf8encode(Rune, char *); | ||||||
|  |  | ||||||
| void *xmalloc(size_t); | void *xmalloc(size_t); | ||||||
|   | |||||||
							
								
								
									
										1
									
								
								win.h
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								win.h
									
									
									
									
									
								
							| @@ -27,7 +27,6 @@ void xbell(void); | |||||||
| void xclipcopy(void); | void xclipcopy(void); | ||||||
| void xdrawcursor(int, int, Glyph, int, int, Glyph); | void xdrawcursor(int, int, Glyph, int, int, Glyph); | ||||||
| void xdrawline(Line, int, int, int); | void xdrawline(Line, int, int, int); | ||||||
| void xhints(void); |  | ||||||
| void xfinishdraw(void); | void xfinishdraw(void); | ||||||
| void xloadcols(void); | void xloadcols(void); | ||||||
| int xsetcolorname(int, const char *); | int xsetcolorname(int, const char *); | ||||||
|   | |||||||
							
								
								
									
										15
									
								
								x.c
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								x.c
									
									
									
									
									
								
							| @@ -75,6 +75,15 @@ typedef XftColor Color; | |||||||
| typedef XftGlyphFontSpec GlyphFontSpec; | typedef XftGlyphFontSpec GlyphFontSpec; | ||||||
|  |  | ||||||
| /* Purely graphic info */ | /* Purely graphic info */ | ||||||
|  | typedef struct { | ||||||
|  | 	int tw, th; /* tty width and height */ | ||||||
|  | 	int w, h; /* window width and height */ | ||||||
|  | 	int ch; /* char height */ | ||||||
|  | 	int cw; /* char width  */ | ||||||
|  | 	int mode; /* window state/mode flags */ | ||||||
|  | 	int cursor; /* cursor style */ | ||||||
|  | } TermWindow; | ||||||
|  |  | ||||||
| typedef struct { | typedef struct { | ||||||
| 	Display *dpy; | 	Display *dpy; | ||||||
| 	Colormap cmap; | 	Colormap cmap; | ||||||
| @@ -133,6 +142,8 @@ static int xgeommasktogravity(int); | |||||||
| static void xinit(int, int); | static void xinit(int, int); | ||||||
| static void cresize(int, int); | static void cresize(int, int); | ||||||
| static void xresize(int, int); | static void xresize(int, int); | ||||||
|  | static void xhints(void); | ||||||
|  | static int xloadcolor(int, const char *, Color *); | ||||||
| static int xloadfont(Font *, FcPattern *); | static int xloadfont(Font *, FcPattern *); | ||||||
| static void xloadfonts(char *, double); | static void xloadfonts(char *, double); | ||||||
| static void xunloadfont(Font *); | static void xunloadfont(Font *); | ||||||
| @@ -1430,8 +1441,8 @@ xdrawcursor(int cx, int cy, Glyph g, int ox, int oy, Glyph og) | |||||||
| 	/* draw the new one */ | 	/* draw the new one */ | ||||||
| 	if (IS_SET(MODE_FOCUSED)) { | 	if (IS_SET(MODE_FOCUSED)) { | ||||||
| 		switch (win.cursor) { | 		switch (win.cursor) { | ||||||
| 		case 7: /* st extension: snowman */ | 		case 7: /* st extension: snowman (U+2603) */ | ||||||
| 			utf8decode("☃", &g.u, UTF_SIZ); | 			g.u = 0x2603; | ||||||
| 		case 0: /* Blinking Block */ | 		case 0: /* Blinking Block */ | ||||||
| 		case 1: /* Blinking Block (Default) */ | 		case 1: /* Blinking Block (Default) */ | ||||||
| 		case 2: /* Steady Block */ | 		case 2: /* Steady Block */ | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user