Commit 90a4a59f authored by Randy Sommerfeld's avatar Randy Sommerfeld
Browse files

Merge branch 'master' of gitlab.synchro.net:main/sbbs

parents e5e83889 4e2ce944
; Enter IP addresses that are exempt from filtering/banning/throttling into this file
; Wildcard characters (*, ^, ~) are allowed and ! negates the match
127.*
::1
\ No newline at end of file
; IP addresses that are exempt from filtering/banning/throttling
; Wildcard characters (*, ^, ~) are allowed
; IPv4 CIDR notation is supported
; ! negates the match
::1
127.0.0.0/8
10.0.0.0/8
169.254.0.0/16
172.16.0.0/12
192.168.0.0/16
......@@ -808,7 +808,7 @@
"\1l\1_\1g\1hFile Libraries:\r\n\r\n" 658 CfgLibLstHdr
"\1n\1g(\1h%d\1n\1g) %s\1h\r\n" 659 CfgLibLstFmt
"\1_\1c\1hListing \1n\1c(\1h%u\1n\1c) %s "\ 660 BatchFlagPrompt
"(\1h%u\1n\1c) %s (\1h\1`?\1n\1c=Menu) (\1h%u\1n\1c of \1h%u\1n\1c Files\1n\1c): \1n\1~"
"(\1h%u\1n\1c) %s (\1h\1`?\1n\1c=Menu) (%5u\b\b\b\b\b\1h%u\1n\1c Files\1n\1c): \1n\1~"
"\1n\1>\1q\1l\x014 \1h\1y[\1w\1~D\1y]ownload \1h\1y[\1w\1~B\1y]atch "\ 661 FileListBatchCommands
"[\1w\1~V\1y]iew Content [\1w\1~E\1y]xtended Info "\
"[\1w\1~P\1y]revious Page [\1w\1~Q\1y]uit\1>\1n\r\n"
......
......@@ -22,6 +22,7 @@
opens a whole can of worms regarding how further updates work etc. I'll
strive to keep it sane and compatible, which may be impossible.
12) A Unicode cell will potentially have multiple codepoints "in" it.
13) We need a way to specify the initial mode.
Some sort of state checkpoint thing... you "save" the checkpoint, and send that
ID back and you get the same state returned.
......
......@@ -1726,7 +1726,8 @@ int bitmap_drv_init(void (*drawrect_cb) (struct rectlist *data)
cio_api.options |= CONIO_OPT_LOADABLE_FONTS | CONIO_OPT_BLINK_ALT_FONT
| CONIO_OPT_BOLD_ALT_FONT | CONIO_OPT_BRIGHT_BACKGROUND
| CONIO_OPT_SET_PIXEL | CONIO_OPT_CUSTOM_CURSOR
| CONIO_OPT_FONT_SELECT | CONIO_OPT_EXTENDED_PALETTE | CONIO_OPT_PALETTE_SETTING;
| CONIO_OPT_FONT_SELECT | CONIO_OPT_EXTENDED_PALETTE | CONIO_OPT_PALETTE_SETTING
| CONIO_OPT_BLOCKY_SCALING;
pthread_mutex_init(&blinker_lock, NULL);
pthread_mutex_init(&callbacks.lock, NULL);
pthread_mutex_init(&vstatlock, NULL);
......
......@@ -346,9 +346,11 @@ bool sbbs_t::editfileinfo(file_t* f)
char uploader[LEN_ALIAS + 1];
SAFECOPY(uploader, f->from);
bputs(text[EditUploader]);
if(!getstr(uploader, sizeof(uploader), K_EDIT|K_AUTODEL))
getstr(uploader, sizeof(uploader), K_EDIT|K_AUTODEL);
if(msgabort(true))
return false;
smb_new_hfield_str(f, SMB_FILEUPLOADER, uploader);
if(*uploader != '\0' || *f->from != '\0')
smb_new_hfield_str(f, SMB_FILEUPLOADER, uploader);
ultoa(f->cost,str,10);
bputs(text[EditCreditValue]);
getstr(str,10,K_NUMBER|K_EDIT|K_AUTODEL);
......
......@@ -893,7 +893,7 @@ long extract_files_from_archive(const char* archive, const char* outdir, const c
const void *buff;
size_t size;
la_int64_t offset;
int64_t offset;
for(;;) {
result = archive_read_data_block(ar, &buff, &size, &offset);
......
......@@ -386,7 +386,7 @@ js_list(JSContext *cx, uintN argc, jsval *arglist)
const void *buff;
size_t size;
la_int64_t offset;
int64_t offset;
for(;;) {
result = archive_read_data_block(ar, &buff, &size, &offset);
......@@ -500,7 +500,7 @@ js_read(JSContext *cx, uintN argc, jsval *arglist)
size_t total = 0;
const void *buff;
size_t size;
la_int64_t offset;
int64_t offset;
for(;;) {
result = archive_read_data_block(ar, &buff, &size, &offset);
......
......@@ -3192,8 +3192,8 @@ static jsSyncMethodSpec js_msgbase_functions[] = {
"<tr><td align=top><tt>replyto_net_addr</tt><td>Replies should be sent to this network address"
"<tr><td align=top><tt>replyto_agent</tt><td>Replies should be sent to this agent type"
"<tr><td align=top><tt>replyto_list</tt><td>Comma-separated list of mailboxes to reply-to, RFC822-style"
"<tr><td align=top><tt>mime-version</tt><td>MIME Version (optional)"
"<tr><td align=top><tt>content-type</tt><td>MIME Content-Type (optional)"
"<tr><td align=top><tt>mime_version</tt><td>MIME Version (optional)"
"<tr><td align=top><tt>content_type</tt><td>MIME Content-Type (optional)"
"<tr><td align=top><tt>summary</tt><td>Message Summary (optional)"
"<tr><td align=top><tt>tags</tt><td>Message Tags (space-delimited, optional)"
"<tr><td align=top><tt>id</tt><td>Message's RFC-822 compliant Message-ID"
......
......@@ -616,7 +616,7 @@ LoadFile(char *Name)
/* Check for "known" extensions */
ext=getfext(Name);
if(ext) {
if(stricmp(ext,".asc")==0) {
if(stricmp(ext,".asc")==0 || stricmp(ext, ".msg")==0) {
PCB=FALSE;
ANSI=FALSE;
AVATAR=FALSE;
......
......@@ -188,8 +188,8 @@ static struct sort_order_info sort_order[] = {
int sortorder[sizeof(sort_order)/sizeof(struct sort_order_info)];
char *screen_modes[]={ "Current", "80x25", "LCD 80x25", "80x28", "80x30", "80x43", "80x50", "80x60", "132x37 (16:9)", "132x52 (5:4)", "132x25", "132x28", "132x30", "132x34", "132x43", "132x50", "132x60", "C64", "C128 (40col)", "C128 (80col)", "Atari", "Atari XEP80", "Custom", "EGA 80x25", "VGA 80x25", NULL};
static char *screen_modes_enum[]={"Current", "80x25", "LCD80x25", "80x28", "80x30", "80x43", "80x50", "80x60", "132x37", "132x52", "132x25", "132x28", "132x30", "132x34", "132x43", "132x50", "132x60", "C64", "C128-40col", "C128-80col", "Atari", "Atari-XEP80", "Custom", "EGA80x25", "VGA80x25", NULL};
static char *screen_modes[]={ "Current", "80x25", "LCD 80x25", "80x28", "80x30", "80x43", "80x50", "80x60", "132x37 (16:9)", "132x52 (5:4)", "132x25", "132x28", "132x30", "132x34", "132x43", "132x50", "132x60", "C64", "C128 (40col)", "C128 (80col)", "Atari", "Atari XEP80", "Custom", "EGA 80x25", "VGA 80x25", NULL};
char *screen_modes_enum[]={"Current", "80x25", "LCD80x25", "80x28", "80x30", "80x43", "80x50", "80x60", "132x37", "132x52", "132x25", "132x28", "132x30", "132x34", "132x43", "132x50", "132x60", "C64", "C128-40col", "C128-80col", "Atari", "Atari-XEP80", "Custom", "EGA80x25", "VGA80x25", NULL};
char *log_levels[]={"Emergency", "Alert", "Critical", "Error", "Warning", "Notice", "Info", "Debug", NULL};
static char *log_level_desc[]={"None", "Alerts", "Critical Errors", "Errors", "Warnings", "Notices", "Normal", "All (Debug)", NULL};
......
......@@ -116,7 +116,7 @@ extern char *rate_names[];
extern int rates[];
extern int sortorder[];
extern ini_style_t ini_style;
extern char *screen_modes[];
extern char *screen_modes_enum[];
void read_item(str_list_t listfile, struct bbslist *entry, char *bbsname, int id, int type);
void read_list(char *listpath, struct bbslist **list, struct bbslist *defaults, int *i, int type);
void free_list(struct bbslist **list, int listcount);
......
......@@ -1248,8 +1248,8 @@ void load_settings(struct syncterm_settings *set)
inifile=fopen(inipath,"r");
set->confirm_close=iniReadBool(inifile,"SyncTERM","ConfirmClose",FALSE);
set->prompt_save=iniReadBool(inifile,"SyncTERM","PromptSave",TRUE);
set->startup_mode=iniReadEnum(inifile,"SyncTERM","VideoMode",screen_modes,SCREEN_MODE_CURRENT);
set->startup_mode=iniReadEnum(inifile,"SyncTERM","ScreenMode",screen_modes,set->startup_mode);
set->startup_mode=iniReadEnum(inifile,"SyncTERM","VideoMode",screen_modes_enum,SCREEN_MODE_CURRENT);
set->startup_mode=iniReadEnum(inifile,"SyncTERM","ScreenMode",screen_modes_enum,set->startup_mode);
set->output_mode=iniReadEnum(inifile,"SyncTERM","OutputMode",output_enum,CIOLIB_MODE_AUTO);
set->backlines=iniReadInteger(inifile,"SyncTERM","ScrollBackLines",2000);
set->xfer_success_keypress_timeout=iniReadInteger(inifile,"SyncTERM", "TransferSuccessKeypressTimeout", /* seconds: */0);
......@@ -1624,11 +1624,11 @@ int main(int argc, char **argv)
cio_api.options &= ~CONIO_OPT_BLOCKY_SCALING;
ciolib_reaper=FALSE;
seticon(syncterm_icon.pixel_data,syncterm_icon.width);
textmode(text_mode);
if (settings.scaling_factor)
setscaling(settings.scaling_factor);
if (settings.window_width && settings.window_height)
setwinsize(settings.window_width, settings.window_height);
textmode(text_mode);
gettextinfo(&txtinfo);
if((txtinfo.screenwidth<40) || txtinfo.screenheight<24) {
......
......@@ -37,6 +37,7 @@
#ifndef _GEN_DEFS_H
#define _GEN_DEFS_H
#include "cp437defs.h"
#include <errno.h>
/* Resolve multi-named errno constants */
......@@ -451,7 +452,7 @@ typedef struct {
/* ASCIIZ char* parsing helper macros */
/* These (unsigned char) typecasts defeat MSVC debug assertion when passed a negative value */
#define IS_WHITESPACE(c) isspace((unsigned char)(c))
#define IS_WHITESPACE(c) (isspace((unsigned char)(c)) || c == CP437_NO_BREAK_SPACE)
#define IS_CONTROL(c) iscntrl((unsigned char)(c))
#define IS_ALPHA(c) isalpha((unsigned char)(c))
#define IS_ALPHANUMERIC(c) isalnum((unsigned char)(c))
......
This project (Synchronet BBS List, SBL, the native C version) has been
retired and deprecated in favor of the new Synchronet BBS List (v4,
JavaScript version), a.k.a. exec/sbbslist.js.
See http://wiki.synchro.net/module:sbbslist for details about migrating to the
new Synchronet BBS List.
# Makefile.gnu
#########################################################################
# Makefile for Synchronet BBS List #
# For use with GNU make and GNU C Compiler #
# @format.tab-size 4, @format.use-tabs true #
# #
# Linux: make -f Makefile.gnu #
# Win32: make -f Makefile.gnu os=win32 #
# FreeBSD: make -f Makefile.gnu os=freebsd #
#########################################################################
# $Id: GNUmakefile,v 1.28 2019/08/06 17:06:32 deuce Exp $
# Macros
XSDK = ../sdk
SRC_ROOT ?= ../../src
include $(SRC_ROOT)/build/Common.gmake
ifeq ($(os),sunos)
LDFLAGS += -lnsl -lrt
endif
LDFLAGS += $(XPDEV_LDFLAGS)
vpath %.c $(XSDK)
CFLAGS += -I$(SRC_ROOT)$(DIRSEP)sbbs3 -I$(XSDK) -DUSE_XPDEV $(XPDEV_CFLAGS) $(SMBLIB_CFLAGS) $(HASH_CFLAGS) $(ENCODE_CFLAGS)
$(SBL): $(OBJS)
@echo Linking $@
$(QUIET)$(CC) $(MT_LDFLAGS) $(LDFLAGS) $^ -o $@ $(XPDEV-MT_LIBS)
$(SBL2SMB): $(OBJODIR)$(DIRSEP)sbl2smb$(OFILE) $(HASH_LIB) $(ENCODE_LIB)
@echo Linking $@
$(QUIET)$(CC) $(LDFLAGS) $(SMBLIB_LDFLAGS) $(HASH_LDFLAGS) $(ENCODE_LDFLAGS) $^ -o $@ $(LIBS) $(SMBLIB_LIBS) $(XPDEV_LIBS) $(HASH_LIBS) $(ENCODE_LIBS)
$(SMB2SBL): $(OBJODIR)$(DIRSEP)smb2sbl$(OFILE) $(HASH_LIB) $(ENCODE_LIB)
@echo Linking $@
$(QUIET)$(CC) $(LDFLAGS) $(SMBLIB_LDFLAGS) $(HASH_LDFLAGS) $(ENCODE_LDFLAGS) $^ -o $@ $(SMBLIB_LIBS) $(XPDEV_LIBS) $(HASH_LIBS) $(ENCODE_LIBS)
$(SBLPACK): $(OBJODIR)$(DIRSEP)sblpack$(OFILE)
@echo Linking $@
$(QUIET)$(CC) $(LDFLAGS) $(SMBLIB_LDFLAGS) $^ -o $@ $(XPDEV_LIBS)
$(SBBSLIST): $(OBJODIR)$(DIRSEP)sbbslist$(OFILE)
@echo Linking $@
$(QUIET)$(CC) $(LDFLAGS) $(SMBLIB_LDFLAGS) $^ -o $@ $(XPDEV_LIBS)
##################################################################
# Makefile for SBL (Synchronet BBS List Online External Program) #
# For use with Borland C++ or C++ Builder (for Win32) #
# Tabstop=8 #
##################################################################
# Macros
CC = bcc32
LD = ilink32
XSDK = ..\sdk
!ifndef SRC_ROOT
SRC_ROOT= ..\..\src
!endif
!ifndef XPDEV
XPDEV = $(SRC_ROOT)\xpdev
!endif
!ifndef SBBS_SRC
SBBS_SRC = $(SRC_ROOT)\sbbs3
!endif
!ifndef SMBLIB_SRC
SMBLIB_SRC = $(SRC_ROOT)\smblib
!endif
CFLAGS = -WM -I$(XSDK);$(XPDEV);$(SBBS_SRC);$(SMBLIB_SRC)
CFLAGS = $(CFLAGS) -q -d -H -X- -w-csu -w-pch -w-ccc -w-rch -w-par -w-8004
OBJS = xsdk.obj xsdkvars.obj xsdkwrap.obj
.path.c = .;$(XSDK);$(XPDEV);$(SBBS_SRC)
# Enable auto-dependency checking
.autodepend
.cacheautodepend
# Implicit C Compile Rule
.c.obj:
@$(CC) $(CFLAGS) -c $<
all: sbl.exe smb2sbl.exe sbl2smb.exe sblpack.exe
# Main EXE Link Rule
sbl.exe: $(OBJS) sbl.obj
@echo Linking $@
@$(CC) $(CFLAGS) -e$@ $**
SMBIO = $(XPDEV)/bcc.win32.lib.debug/xpdev_mt.lib $(SMBLIB_SRC)/bcc.win32.lib.debug/smb.lib
sbl2smb.exe: sbl2smb.obj $(SMBIO)
@echo Linking $@
@$(CC) $(CFLAGS) -e$@ $**
smb2sbl.exe: smb2sbl.obj $(SMBIO)
@echo Linking $@
@$(CC) $(CFLAGS) -e$@ $**
sblpack.exe: sblpack.obj
@echo Linking $@
@$(CC) $(CFLAGS) -e$@ $**
clean:
del $(OBJS) $(SMBIO)
\ No newline at end of file
OBJS = $(MTOBJODIR)$(DIRSEP)sbl$(OFILE) \
$(MTOBJODIR)$(DIRSEP)xsdk$(OFILE) \
$(MTOBJODIR)$(DIRSEP)xsdkvars$(OFILE)
This diff is collapsed.
#!/bin/sh
. ${SBBSEXEC}unixstub.sh
USEUNIT("Sbl.c");
USEUNIT("..\SDK\Xsdkvars.c");
USEUNIT("..\SDK\Xsdk.c");
USELIB("D:\Borland\CBuilder5\Lib\ws2_32.lib");
USEUNIT("..\sdk\xsdkwrap.c");
//---------------------------------------------------------------------------
This file is used by the project manager only and should be treated like the project file
main
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment