Synchronet now requires the libarchive development package (e.g. libarchive-dev on Debian-based Linux distros, libarchive.org for more info) to build successfully.

Commits (1)
......@@ -583,7 +583,6 @@ static void setup_surfaces_locked(void)
{
int flags=0;
SDL_Event ev;
int charwidth, charheight, cols, rows;
SDL_Texture *newtexture;
int idealw;
int idealh;
......@@ -600,10 +599,6 @@ static void setup_surfaces_locked(void)
pthread_mutex_lock(&win_mutex);
charwidth = cvstat.charwidth;
charheight = cvstat.charheight;
cols = cvstat.cols;
rows = cvstat.rows;
idealmw = cvstat.scrnwidth;
idealmh = cvstat.scrnheight;
aspect_correct(&idealmw, &idealmh, cvstat.aspect_width, cvstat.aspect_height);
......
......@@ -108,8 +108,8 @@ static uint32_t pixel_diff(uint32_t x, uint32_t y)
const unsigned i = df(PH,PD) + df(PH,I5) + df(PF,I4) + df(PF,PB) + (df(PE,PI)<<2); \
if (e <= i) { \
const unsigned px = df(PE,PF) <= df(PE,PH) ? PF : PH; \
if (e < i && (!eq(PF,PB) && !eq(PF,PC) || !eq(PH,PD) && !eq(PH,PG) || eq(PE,PI) \
&& (!eq(PF,F4) && !eq(PF,I4) || !eq(PH,H5) && !eq(PH,I5)) \
if (e < i && ((!eq(PF,PB) && !eq(PF,PC)) || (!eq(PH,PD) && !eq(PH,PG)) || (eq(PE,PI) \
&& ((!eq(PF,F4) && !eq(PF,I4)) || (!eq(PH,H5) && !eq(PH,I5)))) \
|| eq(PE,PG) || eq(PE,PC))) { \
const unsigned ke = df(PF,PG); \
const unsigned ki = df(PH,PC); \
......@@ -150,8 +150,8 @@ static uint32_t pixel_diff(uint32_t x, uint32_t y)
const unsigned i = df(PH,PD) + df(PH,I5) + df(PF,I4) + df(PF,PB) + (df(PE,PI)<<2); \
if (e <= i) { \
const unsigned px = df(PE,PF) <= df(PE,PH) ? PF : PH; \
if (e < i && (!eq(PF,PB) && !eq(PH,PD) || eq(PE,PI) \
&& (!eq(PF,I4) && !eq(PH,I5)) \
if (e < i && ((!eq(PF,PB) && !eq(PH,PD)) || (eq(PE,PI) \
&& (!eq(PF,I4) && !eq(PH,I5))) \
|| eq(PE,PG) || eq(PE,PC))) { \
const unsigned ke = df(PF,PG); \
const unsigned ki = df(PH,PC); \
......
......@@ -1989,7 +1989,7 @@ BOOL zmodem_send_file(zmodem_t* zm, char* fname, FILE* fp, BOOL request_init, ti
/* Returns number of successfully-received files */
int zmodem_recv_files(zmodem_t* zm, const char* download_dir, uint64_t* bytes_received)
{
char fpath[MAX_PATH+1];
char fpath[MAX_PATH*2+2];
FILE* fp;
int64_t l;
BOOL skip;
......
......@@ -1591,7 +1591,7 @@ void change_settings(int connected)
char inipath[MAX_PATH+1];
FILE *inifile;
str_list_t inicontents;
char opts[13][80];
char opts[13][1049];
char *opt[14];
char *subopts[10];
int i,j,k,l;
......
......@@ -345,7 +345,7 @@ static int readSmallMenu(unsigned char *codeStr) {
int yy;
int zz;
unsigned char *origCodeStr=codeStr;
char buf[260];
char buf[266];
switch ((char)codeStr[0]) {
case 'a':
......
......@@ -8504,7 +8504,7 @@ write_text(const char *str)
static void
draw_line(int x1, int y1, int x2, int y2)
{
int *minc, *mins, *mine, *mino, *mind;
int *minc, *mins, *mino, *mind;
int *maxc, *maxs, *maxe, *maxo, *maxd;
int x, y;
int swap = 0;
......@@ -8539,7 +8539,6 @@ draw_line(int x1, int y1, int x2, int y2)
if (dx >= dy) {
minc = &y;
mins = &y1;
mine = &y2;
mino = &yoff;
mind = &dy;
......@@ -8552,7 +8551,6 @@ draw_line(int x1, int y1, int x2, int y2)
else {
minc = &x;
mins = &x1;
mine = &x2;
mino = &xoff;
mind = &dx;
......@@ -8615,7 +8613,7 @@ draw_line(int x1, int y1, int x2, int y2)
static void
set_line(int x1, int y1, int x2, int y2, uint32_t color, uint16_t pat, int width)
{
int *minc, *mins, *mine, *mino, *mind;
int *minc, *mins, *mino, *mind;
int *maxc, *maxs, *maxe, *maxo, *maxd;
int x, y;
int swap = 0;
......@@ -8651,7 +8649,6 @@ set_line(int x1, int y1, int x2, int y2, uint32_t color, uint16_t pat, int width
if (dx >= dy) {
minc = &y;
mins = &y1;
mine = &y2;
mino = &yoff;
mind = &dy;
......@@ -8664,7 +8661,6 @@ set_line(int x1, int y1, int x2, int y2, uint32_t color, uint16_t pat, int width
else {
minc = &x;
mins = &x1;
mine = &x2;
mino = &xoff;
mind = &dx;
......@@ -9004,7 +9000,7 @@ draw_button(struct rip_button_style *but, bool inverted)
int width, height;
int ox, oy;
int i, x, y;
uint32_t fg, bg, ds, ch, cs, su, ul, cc;
uint32_t bg, ch, cs, su, ul, cc;
int xinset, yinset;
char *p;
int top, bottom;
......@@ -9015,9 +9011,7 @@ draw_button(struct rip_button_style *but, bool inverted)
// TODO: Handle Checkboxes
// TODO: Handle plain buttons
if (inverted) {
fg = ega_colours[0x0f ^ but->cfore];
bg = ega_colours[0x0f ^ 0];
ds = ega_colours[0x0f ^ but->cdshadow];
ch = ega_colours[0x0f ^ but->chighlight];
cs = ega_colours[0x0f ^ but->cshadow];
su = ega_colours[0x0f ^ but->csurface];
......@@ -9025,9 +9019,7 @@ draw_button(struct rip_button_style *but, bool inverted)
cc = ega_colours[0x0f ^ but->ccorner];
}
else {
fg = map_rip_color(but->cfore);
bg = map_rip_color(0);
ds = map_rip_color(but->cdshadow);
ch = map_rip_color(but->chighlight);
cs = map_rip_color(but->cshadow);
su = map_rip_color(but->csurface);
......@@ -9334,11 +9326,9 @@ do_popup(const char * const str)
int x, y, x1, y1, x2, y2, width, height, maxwidth;
bool must_answer = false;
uint32_t black;
uint32_t yellow;
uint32_t white;
uint32_t dark;
uint32_t light;
uint32_t blue;
int oc, ox, oy;
int ch;
struct mouse_event mevent;
......@@ -9347,11 +9337,9 @@ do_popup(const char * const str)
struct ciolib_pixels *pix;
black = map_rip_color(0);
yellow = map_rip_color(14);
white = map_rip_color(15);
dark = map_rip_color(8);
light = map_rip_color(7);
blue = map_rip_color(1);
p = (char *)str;
if (str[0] == '*') {
must_answer = true;
......@@ -9865,10 +9853,6 @@ full_ellipse(int xc, int yc, int sa, int ea, int a, int b, bool fill, uint32_t c
int fy;
bool skip = false;
bool partial = true;
if (ea != sa && ((ea + 360) % 360) == ((sa + 360) % 360))
partial = false;
double angle;
double qangle;
......@@ -10161,7 +10145,6 @@ rip_bezier(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4, int c
i = 0;
targets[i++] = x1;
targets[i++] = y1;
#pragma clang loop vectorize(enable)
for (step = 1; step < cnt; step++) {
double tf = ((double)step) / cnt;
double tr = ((double)(cnt - step)) / cnt;
......
......@@ -1118,7 +1118,7 @@ BOOL zmodem_duplicate_callback(void *cbdata, void *zm_void)
};
struct zmodem_cbdata *cb=(struct zmodem_cbdata *)cbdata;
zmodem_t *zm=(zmodem_t *)zm_void;
char fpath[MAX_PATH+1];
char fpath[MAX_PATH*2+2];
BOOL loop=TRUE;
int old_hold=hold_update;
......@@ -1561,7 +1561,7 @@ void xmodem_download(struct bbslist *bbs, long mode, char *path)
{
xmodem_t xm;
/* The better to -Wunused you with my dear! */
char str[MAX_PATH+1];
char str[MAX_PATH*2+2];
char fname[MAX_PATH+1];
int i=0;
int fnum=0;
......@@ -2787,7 +2787,7 @@ BOOL doterm(struct bbslist *bbs)
break;
case 0x1200: /* ALT-E */
{
char title[LIST_NAME_MAX + 12];
char title[LIST_NAME_MAX + 13];
struct ciolib_screen *savscrn;
savscrn = savescreen();
setfont(0, FALSE, 1);
......@@ -2966,7 +2966,7 @@ BOOL doterm(struct bbslist *bbs)
#endif
{
struct ciolib_screen *savscrn;
char title[LIST_NAME_MAX + 12];
char title[LIST_NAME_MAX + 13];
savscrn = savescreen();
setfont(0, FALSE, 1);
......
......@@ -251,15 +251,15 @@ int mousetofield(int currfield, int opts, int height, int width, int listheight,
int filepick(uifcapi_t *api, char *title, struct file_pick *fp, char *dir, char *msk, int opts)
{
char cfile[MAX_PATH*5+1]; /* Current full path to file */
char cpath[MAX_PATH+1]; /* Current path */
char cfile[MAX_PATH*8+1]; /* Current full path to file */
char cpath[(MAX_PATH<<2)+1]; /* Current path */
char drive[3];
char tdir[MAX_PATH+1];
char fname[MAX_PATH+1];
char ext[MAX_PATH+1];
char cmsk[MAX_PATH*4+1]; /* Current file mask */
char cglob[MAX_PATH*4+1]; /* File glob patter */
char dglob[MAX_PATH*4+1]; /* Directory glob pattern */
char dglob[MAX_PATH*4+2]; /* Directory glob pattern */
char *p;
glob_t fgl; /* Files */
glob_t dgl; /* Directories */
......