Fixed Makefile and build systems to include man-pages. Added Alt-linux workflow. Fix rpm spec-file #3
65
.gitea/workflows/alt.yaml
Normal file
65
.gitea/workflows/alt.yaml
Normal file
@ -0,0 +1,65 @@
|
||||
name: Altlinux build
|
||||
run-name: Deploy to ${{ inputs.deploy_target }} by @${{ github.actor }} 🚀
|
||||
on:
|
||||
- push
|
||||
- workflow_dispatch
|
||||
if: ${{ github.ref }} == 'refs/head/master'
|
||||
jobs:
|
||||
build-alt:
|
||||
runs-on: alt-latest
|
||||
|
||||
branches:
|
||||
- 'master'
|
||||
|
||||
steps:
|
||||
- name: Checking environment
|
||||
continue-on-error: true
|
||||
run: printenv
|
||||
- name: Installing prerequisites - update apt
|
||||
run: apt-get update
|
||||
- name: Installing prerequisites - install nodejs for actions & git
|
||||
run: apt-get install -y git nodejs su
|
||||
- name: Installing build environment
|
||||
continue-on-error: true
|
||||
run: |
|
||||
apt-get install -y gcc rpm-build rpmlint make python gear hasher fakeroot patch rpmdevtools
|
||||
- name: Installing needed software
|
||||
run: apt-get install -y bison tcl
|
||||
- name: Adding build user
|
||||
run: useradd -d /builder -g users -m builder
|
||||
- name: Fetching sources
|
||||
uses: actions/checkout@v4
|
||||
- name: Getting version info
|
||||
run: |
|
||||
echo "BFORCE_VER=$(cat ${{ env.GITHUB_WORKSPACE }}/source/.version)" >> $GITHUB_ENV
|
||||
- name: Compressing source to tar.gz archive
|
||||
run: |
|
||||
tar -cvzf ../bforce-${{ env.BFORCE_VER }}.tar.gz -C ${{ env.GITHUB_WORKSPACE }}/.. bforce
|
||||
cp -v ${{ env.GITHUB_WORKSPACE }}/rpm/bforce.spec /builder/
|
||||
chown builder /builder/bforce.spec
|
||||
echo '-------------------------------------------------------'
|
||||
pwd
|
||||
ls /builder
|
||||
sed -i 's/^# %setup/%setup/' /builder/bforce.spec
|
||||
- name: Building buildtree
|
||||
run: |
|
||||
su - builder -c "cd /builder && mkdir -pv rpmbuild/{RPMS,SRPMS,SOURCES,BUILD,SPECS}"
|
||||
ls /builder -l
|
||||
mkdir -pv /builder/rpmbuild/SOURCES
|
||||
mv ${{ env.GITHUB_WORKSPACE }}/../bforce-${{ env.BFORCE_VER }}.tar.gz /builder/rpmbuild/SOURCES/
|
||||
chown -R builder /builder/*
|
||||
- name: Building binary and source RPM
|
||||
run: |
|
||||
su - builder -c 'rpmbuild -bb /builder/bforce.spec --define "_topdir /builder/rpmbuild"'
|
||||
- name: Constructing artifact name and version
|
||||
run: |
|
||||
echo "BFORCE_VERLONG=$(cat ${{ env.GITHUB_WORKSPACE }}/source/.version)-$(date +%Y%M%d)" >> $GITHUB_ENV
|
||||
- name: Retrieving artifact files
|
||||
run: mkdir bforce && cp /builder/rpmbuild/RPMS/x86_64/bforce-*.rpm bforce
|
||||
- name: Try to upload artifacts bin
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: bforce-${{ env.BFORCE_VERLONG }}-Alt
|
||||
path: /builder/rpmbuild/RPMS/x86_64
|
||||
- name: Echo OK
|
||||
run: echo "All OK"
|
@ -1,5 +1,6 @@
|
||||

|
||||

|
||||

|
||||
|
||||
BinkleyForce FTN mailer
|
||||
-----------------------
|
||||
|
@ -1,54 +1,66 @@
|
||||
Summary: Bforce, Fidonet mailer
|
||||
Name: bforce
|
||||
Version: 0.26.1
|
||||
Release: 0
|
||||
Release: %{_vendor}.1
|
||||
Copyright: GPL
|
||||
Group: Fidonet/mailer
|
||||
Source0: bforce-%{version}.%{release}.tar.gz
|
||||
Source0: bforce-%{version}.tar.gz
|
||||
BuildRoot: %{_tmppath}/%{name}-root
|
||||
|
||||
%description
|
||||
BFORCE is a FTN mailer. Supports PSTN and binkp sessions.
|
||||
|
||||
%prep
|
||||
#%setup -q -n %{name}-%{version}.%{release}
|
||||
cd source
|
||||
./configure --prefix=/usr --disable-log-passwd --sysconfdir=/etc/bforce --bindir=/usr/bin --with-owner=uucp --with-group=news
|
||||
# uncomment this to build from tarball
|
||||
# %setup -q -n %{name}
|
||||
echo "------------ PREPARING RPM BUILD IN $(pwd) ------------"
|
||||
export RPM_PACKAGE_VERSION=$(cat %{_builddir}/%{name}/source/.version)
|
||||
cd %{_builddir}/%{name}/source
|
||||
%{_builddir}/%{name}/source/configure --prefix=/usr --disable-log-passwd --sysconfdir=/etc/bforce --bindir=/usr/bin --with-owner=uucp --with-group=news CFLAGS='-g1'
|
||||
|
||||
%build
|
||||
cd source
|
||||
echo "------------ BUILDING RPM IN $(pwd) ------------"
|
||||
cd %{_builddir}/%{name}/source
|
||||
make
|
||||
|
||||
%install
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
mkdir -p $RPM_BUILD_ROOT
|
||||
mkdir -p $RPM_BUILD_ROOT/etc/bforce
|
||||
mkdir -p $RPM_BUILD_ROOT/usr/bin
|
||||
mkdir -p $RPM_BUILD_ROOT/usr/sbin
|
||||
mkdir -p $RPM_BUILD_ROOT/usr/share/man/man1
|
||||
mkdir -p $RPM_BUILD_ROOT/var/log/bforce
|
||||
mkdir -p $RPM_BUILD_ROOT/var/spool/fido/bt/pin
|
||||
mkdir -p $RPM_BUILD_ROOT/var/spool/fido/bt/in
|
||||
mkdir -p $RPM_BUILD_ROOT/var/spool/fido/ndl
|
||||
mkdir -p $RPM_BUILD_ROOT/var/spool/fido/bforce
|
||||
mkdir -p $RPM_BUILD_ROOT/$RPM_DOC_DIR/$RPM_PACKAGE_NAME-$RPM_PACKAGE_VERSION
|
||||
|
||||
|
||||
install -o uucp -g news source/bin/bforce $RPM_BUILD_ROOT/usr/bin/bforce
|
||||
install -o uucp -g news source/bin/bfindex $RPM_BUILD_ROOT/usr/bin/bfindex
|
||||
install -o uucp -g news source/bin/bfstat $RPM_BUILD_ROOT/usr/bin/bfstat
|
||||
install -o uucp -g news source/bin/nlookup $RPM_BUILD_ROOT/usr/bin/nlookup
|
||||
install -o uucp -g news examples/bforce.conf $RPM_BUILD_ROOT/etc/bforce/bforce.conf.sample
|
||||
install -o uucp -g news examples/bforce.passwd $RPM_BUILD_ROOT/etc/bforce/bforce.passwd.sample
|
||||
install -o uucp -g news examples/bforce.subst $RPM_BUILD_ROOT/etc/bforce/bforce.subst.sample
|
||||
install -o uucp -g news examples/freq.aliases $RPM_BUILD_ROOT/etc/bforce/freq.aliases.sample
|
||||
install -o uucp -g news examples/freq.dirs $RPM_BUILD_ROOT/etc/bforce/freq.dirs.sample
|
||||
install -m755 -o uucp -g news contrib/outman $RPM_BUILD_ROOT/usr/bin/outman
|
||||
|
||||
install %{_builddir}/%{name}/source/bin/bforce $RPM_BUILD_ROOT/usr/bin/bforce
|
||||
install %{_builddir}/%{name}/source/bin/bfindex $RPM_BUILD_ROOT/usr/bin/bfindex
|
||||
install %{_builddir}/%{name}/source/bin/bfstat $RPM_BUILD_ROOT/usr/bin/bfstat
|
||||
install %{_builddir}/%{name}/source/bin/nlookup $RPM_BUILD_ROOT/usr/bin/nlookup
|
||||
install %{_builddir}/%{name}/examples/bforce.conf $RPM_BUILD_ROOT/etc/bforce/bforce.conf.sample
|
||||
install %{_builddir}/%{name}/examples/bforce.passwd $RPM_BUILD_ROOT/etc/bforce/bforce.passwd.sample
|
||||
install %{_builddir}/%{name}/examples/bforce.subst $RPM_BUILD_ROOT/etc/bforce/bforce.subst.sample
|
||||
install %{_builddir}/%{name}/examples/freq.aliases $RPM_BUILD_ROOT/etc/bforce/freq.aliases.sample
|
||||
install %{_builddir}/%{name}/examples/freq.dirs $RPM_BUILD_ROOT/etc/bforce/freq.dirs.sample
|
||||
install %{_builddir}/%{name}/contrib/outman $RPM_BUILD_ROOT/usr/bin/outman
|
||||
cp %{_builddir}/%{name}/man/*.1 $RPM_BUILD_ROOT/usr/share/man/man1/
|
||||
cp %{_builddir}/%{name}/{README.md,CHANGES,COPYING,INSTALL,INSTALL.ru,SYSLOG,TODO} $RPM_BUILD_ROOT/$RPM_DOC_DIR/$RPM_PACKAGE_NAME-$RPM_PACKAGE_VERSION/
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
%files
|
||||
%doc README README.kst CHANGES CHANGES.kst CHANGES.ugenk COPYING INSTALL.ru README.ugenk SYSLOG TODO
|
||||
%{_mandir}/man1/bforce.1.xz
|
||||
%{_mandir}/man1/bfindex.1.xz
|
||||
%{_mandir}/man1/bfstat.1.xz
|
||||
%{_mandir}/man1/nlookup.1.xz
|
||||
%{_mandir}/man1/outman.1.xz
|
||||
%defattr(-, root, root)
|
||||
|
||||
%attr(550,uucp,news) /usr/bin/bforce
|
||||
@ -56,7 +68,7 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%attr(550,uucp,news) /usr/bin/bfstat
|
||||
%attr(550,uucp,news) /usr/bin/nlookup
|
||||
%attr(550,uucp,news) /usr/bin/outman
|
||||
%attr(644,root,root) /usr/share/doc/bforce/*
|
||||
%attr(644,root,root) /usr/share/doc/bforce-%{version}/*
|
||||
%dir %attr(770,uucp,news) /var/log/bforce
|
||||
%dir %attr(770,uucp,news) /var/spool/fido/ndl
|
||||
%attr(775,uucp,news) /var/spool/fido/bt
|
||||
|
@ -13,13 +13,14 @@ CC = @CC@
|
||||
INCLUDES = -I./include
|
||||
CFLAGS = @CFLAGS@ -fno-builtin
|
||||
LIBS = @LIBS@ @CLOCK_LIB@
|
||||
YACC = @YACC@
|
||||
YACC = @YACC@ -l
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
SRCDIR = @srcdir@
|
||||
SRCDIRCONF = $(SRCDIR)/../examples
|
||||
CONTRIBDIR = $(SRCDIR)/../contrib
|
||||
CONTRIBMAN = $(SRCDIR)/../man
|
||||
|
||||
OWNER = @OWNER@
|
||||
GROUP = @GROUP@
|
||||
@ -27,6 +28,7 @@ CONFDIR = @sysconfdir@
|
||||
BINDIR = @bindir@
|
||||
LOGDIR = @LOGDIR@
|
||||
SPOOLDIR = @SPOOLDIR@
|
||||
MANDIR = @MANDIR@
|
||||
|
||||
DAEMON_LOGFILE = $(LOGDIR)/bf-daemon
|
||||
BFORCE_LOGFILE = $(LOGDIR)/bf-log
|
||||
@ -175,6 +177,7 @@ installdirs:
|
||||
if [ ! -d $(SPOOLDIR)/bt/out ]; then mkdir -p $(SPOOLDIR)/bt/out; fi
|
||||
if [ ! -d $(SPOOLDIR)/ndl ]; then mkdir -p $(SPOOLDIR)/ndl; fi
|
||||
if [ ! -d $(SPOOLDIR)/bforce ]; then mkdir -p $(SPOOLDIR); fi
|
||||
if [ ! -d $(MANDIR)/man1 ]; then mkdir -p $(MANDIR)/man1; fi
|
||||
chown $(OWNER):$(GROUP) $(CONFDIR)
|
||||
chown $(OWNER):$(GROUP) $(LOGDIR)
|
||||
chown $(OWNER):$(GROUP) $(SPOOLDIR)/bt/in
|
||||
@ -196,9 +199,16 @@ install-config:
|
||||
$(INSTALL_DATA) -o $(OWNER) -g $(GROUP) $(SRCDIRCONF)/freq.aliases $(CONFDIR)/freq.aliases.sample
|
||||
$(INSTALL_DATA) -o $(OWNER) -g $(GROUP) $(SRCDIRCONF)/freq.dirs $(CONFDIR)/freq.dirs.sample
|
||||
|
||||
install-man:
|
||||
$(INSTALL) $(CONTRIBMAN)/bforce.1 $(MANDIR)/man1/bforce.1
|
||||
$(INSTALL) $(CONTRIBMAN)/bfindex.1 $(MANDIR)/man1/bfindex.1
|
||||
$(INSTALL) $(CONTRIBMAN)/bfstat.1 $(MANDIR)/man1/bforce.1
|
||||
$(INSTALL) $(CONTRIBMAN)/nlookup.1 $(MANDIR)/man1/bforce.1
|
||||
$(INSTALL) $(CONTRIBMAN)/outman.1 $(MANDIR)/man1/bforce.1
|
||||
|
||||
install-contrib:
|
||||
$(INSTALL_PROGRAM) -o $(OWNER) -g $(GROUP) $(CONTRIBDIR)/outman $(BINDIR)/outman
|
||||
@echo "Please, edit $(BINDIR)/outman"
|
||||
|
||||
install: install-bin install-config
|
||||
install: install-bin install-config install-man
|
||||
|
||||
|
@ -810,6 +810,7 @@ int daemon_pidfile(int cmd)
|
||||
res = fscanf(pf, "%d", &hispid);
|
||||
if (res != 1) {
|
||||
log("daemon pidfile: not readable");
|
||||
fclose(pf);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -854,6 +855,7 @@ int daemon_pidfile(int cmd)
|
||||
res = fscanf(pf, "%d", &hispid);
|
||||
if (res != 1) {
|
||||
log("daemon pidfile: not readable");
|
||||
fclose(pf);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -883,6 +885,7 @@ int daemon_pidfile(int cmd)
|
||||
res = fscanf(pf, "%d", &hispid);
|
||||
if (res != 1) {
|
||||
log("daemon pidfile: not readable");
|
||||
fclose(pf);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
@ -32,7 +32,7 @@ int daemon_line_add(const char *name, int type)
|
||||
int i;
|
||||
|
||||
for( i = 0; i < lines_num; i++ )
|
||||
if( !strcmp(lines_tab[i].name, name) )
|
||||
if( (lines_tab) && !strcmp(lines_tab[i].name, name) )
|
||||
return i;
|
||||
|
||||
log("register new line \"%s\"", name);
|
||||
@ -90,13 +90,12 @@ bool daemon_line_isready(const char *name)
|
||||
void daemon_lines_deinit(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
for( i = 0; i < lines_num; i++ )
|
||||
if( lines_tab[i].name )
|
||||
free(lines_tab[i].name);
|
||||
|
||||
if( lines_tab )
|
||||
{
|
||||
for( i = 0; i < lines_num; i++ )
|
||||
if( lines_tab[i].name )
|
||||
free(lines_tab[i].name);
|
||||
|
||||
free(lines_tab);
|
||||
lines_tab = NULL;
|
||||
}
|
||||
|
@ -67,7 +67,7 @@
|
||||
|
||||
|
||||
/* First part of user prologue. */
|
||||
#line 49 "expression.y"
|
||||
|
||||
|
||||
#include "includes.h"
|
||||
#include "confread.h"
|
||||
@ -110,7 +110,7 @@ static int yyparse(void);
|
||||
static int yyerror(const char *s);
|
||||
|
||||
|
||||
#line 114 "expression.tab.c"
|
||||
|
||||
|
||||
# ifndef YY_CAST
|
||||
# ifdef __cplusplus
|
||||
@ -1225,25 +1225,25 @@ yyreduce:
|
||||
switch (yyn)
|
||||
{
|
||||
case 2: /* fullline: expression */
|
||||
#line 94 "expression.y"
|
||||
|
||||
{
|
||||
DEB((D_EVENT, "[yacc] expression return %d", yyvsp[0]));
|
||||
expr_result = yyvsp[0];
|
||||
}
|
||||
#line 1231 "expression.tab.c"
|
||||
|
||||
break;
|
||||
|
||||
case 3: /* expression: elemexp */
|
||||
#line 100 "expression.y"
|
||||
|
||||
{
|
||||
DEB((D_EVENT, "[yacc] elemexp return %d", yyvsp[0]));
|
||||
yyval = yyvsp[0];
|
||||
}
|
||||
#line 1240 "expression.tab.c"
|
||||
|
||||
break;
|
||||
|
||||
case 4: /* expression: NOT expression */
|
||||
#line 105 "expression.y"
|
||||
|
||||
{
|
||||
DEB((D_EVENT, "[yacc] not exprression %d", yyvsp[0]));
|
||||
if( (yyvsp[0]) < 0 )
|
||||
@ -1251,190 +1251,190 @@ yyreduce:
|
||||
else
|
||||
yyval = !(yyvsp[0]);
|
||||
}
|
||||
#line 1252 "expression.tab.c"
|
||||
|
||||
break;
|
||||
|
||||
case 5: /* expression: expression LOGOP expression */
|
||||
#line 113 "expression.y"
|
||||
|
||||
{
|
||||
yyval = expr_check_logic(yyvsp[-2], yyvsp[-1], yyvsp[0]);
|
||||
}
|
||||
#line 1260 "expression.tab.c"
|
||||
|
||||
break;
|
||||
|
||||
case 6: /* expression: OPENB expression CLOSEB */
|
||||
#line 117 "expression.y"
|
||||
|
||||
{
|
||||
DEB((D_EVENT, "eventexp: [yacc] backeted.expr %d", yyvsp[-1]));
|
||||
yyval = yyvsp[-1];
|
||||
}
|
||||
#line 1269 "expression.tab.c"
|
||||
|
||||
break;
|
||||
|
||||
case 7: /* elemexp: INCOMING */
|
||||
#line 123 "expression.y"
|
||||
|
||||
{
|
||||
yyval = expr_check_incoming();
|
||||
}
|
||||
#line 1277 "expression.tab.c"
|
||||
|
||||
break;
|
||||
|
||||
case 8: /* elemexp: OUTGOING */
|
||||
#line 127 "expression.y"
|
||||
|
||||
{
|
||||
yyval = expr_check_outgoing();
|
||||
}
|
||||
#line 1285 "expression.tab.c"
|
||||
|
||||
break;
|
||||
|
||||
case 9: /* elemexp: LISTED */
|
||||
#line 131 "expression.y"
|
||||
|
||||
{
|
||||
yyval = expr_check_listed();
|
||||
}
|
||||
#line 1293 "expression.tab.c"
|
||||
|
||||
break;
|
||||
|
||||
case 10: /* elemexp: PROTECTED */
|
||||
#line 135 "expression.y"
|
||||
|
||||
{
|
||||
yyval = expr_check_protected();
|
||||
}
|
||||
#line 1301 "expression.tab.c"
|
||||
|
||||
break;
|
||||
|
||||
case 11: /* elemexp: FLAG flagstring */
|
||||
#line 139 "expression.y"
|
||||
|
||||
{
|
||||
yyval = yyvsp[0];
|
||||
}
|
||||
#line 1309 "expression.tab.c"
|
||||
|
||||
break;
|
||||
|
||||
case 12: /* elemexp: CONNSPEED AROP NUMBER */
|
||||
#line 143 "expression.y"
|
||||
|
||||
{
|
||||
if( state.valid && state.connspeed > 0 )
|
||||
yyval = expr_check_arop(state.connspeed, yyvsp[-1], yyvsp[0]);
|
||||
else
|
||||
yyval = -1;
|
||||
}
|
||||
#line 1320 "expression.tab.c"
|
||||
|
||||
break;
|
||||
|
||||
case 13: /* elemexp: SPEED AROP NUMBER */
|
||||
#line 150 "expression.y"
|
||||
|
||||
{
|
||||
if( state.valid && state.node.speed > 0 )
|
||||
yyval = expr_check_arop(state.node.speed, yyvsp[-1], yyvsp[0]);
|
||||
else
|
||||
yyval = -1;
|
||||
}
|
||||
#line 1331 "expression.tab.c"
|
||||
|
||||
break;
|
||||
|
||||
case 14: /* elemexp: TZ AROP NUMBER */
|
||||
#line 157 "expression.y"
|
||||
|
||||
{
|
||||
yyval = expr_check_arop(time_gmtoffset(), yyvsp[-1], yyvsp[0]);
|
||||
}
|
||||
#line 1339 "expression.tab.c"
|
||||
|
||||
break;
|
||||
|
||||
case 15: /* elemexp: PHONE TEXT */
|
||||
#line 161 "expression.y"
|
||||
|
||||
{
|
||||
yyval = expr_check_phone(expr_p_text);
|
||||
}
|
||||
#line 1347 "expression.tab.c"
|
||||
|
||||
break;
|
||||
|
||||
case 16: /* elemexp: TIME timestring */
|
||||
#line 165 "expression.y"
|
||||
|
||||
{
|
||||
yyval = yyvsp[0];
|
||||
}
|
||||
#line 1355 "expression.tab.c"
|
||||
|
||||
break;
|
||||
|
||||
case 17: /* elemexp: EXEC TEXT */
|
||||
#line 169 "expression.y"
|
||||
|
||||
{
|
||||
yyval = expr_check_exec(expr_p_text);
|
||||
}
|
||||
#line 1363 "expression.tab.c"
|
||||
|
||||
break;
|
||||
|
||||
case 18: /* elemexp: EXIST TEXT */
|
||||
#line 173 "expression.y"
|
||||
|
||||
{
|
||||
yyval = expr_check_exist(expr_p_text);
|
||||
}
|
||||
#line 1371 "expression.tab.c"
|
||||
|
||||
break;
|
||||
|
||||
case 19: /* elemexp: PORT TEXT */
|
||||
#line 177 "expression.y"
|
||||
|
||||
{
|
||||
yyval = expr_check_port(expr_p_text);
|
||||
}
|
||||
#line 1379 "expression.tab.c"
|
||||
|
||||
break;
|
||||
|
||||
case 20: /* elemexp: MAILER TEXT */
|
||||
#line 181 "expression.y"
|
||||
|
||||
{
|
||||
yyval = expr_check_mailer(expr_p_text);
|
||||
}
|
||||
#line 1387 "expression.tab.c"
|
||||
|
||||
break;
|
||||
|
||||
case 21: /* elemexp: TEXT */
|
||||
#line 185 "expression.y"
|
||||
|
||||
{
|
||||
yyval = expr_check_addr(expr_p_text);
|
||||
if( yyval == -2 )
|
||||
YYABORT;
|
||||
}
|
||||
#line 1397 "expression.tab.c"
|
||||
|
||||
break;
|
||||
|
||||
case 22: /* flagstring: TEXT */
|
||||
#line 192 "expression.y"
|
||||
|
||||
{
|
||||
yyval = expr_check_flag(expr_p_text);
|
||||
}
|
||||
#line 1405 "expression.tab.c"
|
||||
|
||||
break;
|
||||
|
||||
case 23: /* flagstring: TEXT COMMA flagstring */
|
||||
#line 196 "expression.y"
|
||||
|
||||
{
|
||||
yyval = expr_check_logic(yyvsp[-2], OR, yyvsp[0]);
|
||||
}
|
||||
#line 1413 "expression.tab.c"
|
||||
|
||||
break;
|
||||
|
||||
case 24: /* timestring: TEXT */
|
||||
#line 201 "expression.y"
|
||||
|
||||
{
|
||||
yyval = expr_check_time(expr_p_text);
|
||||
if( yyval == -2 )
|
||||
YYABORT;
|
||||
}
|
||||
#line 1423 "expression.tab.c"
|
||||
|
||||
break;
|
||||
|
||||
case 25: /* timestring: TEXT COMMA timestring */
|
||||
#line 207 "expression.y"
|
||||
|
||||
{
|
||||
yyval = expr_check_logic(yyvsp[-2], OR, yyvsp[0]);
|
||||
}
|
||||
#line 1431 "expression.tab.c"
|
||||
|
||||
break;
|
||||
|
||||
|
||||
#line 1435 "expression.tab.c"
|
||||
|
||||
|
||||
default: break;
|
||||
}
|
||||
@ -1627,7 +1627,7 @@ yyreturnlab:
|
||||
return yyresult;
|
||||
}
|
||||
|
||||
#line 211 "expression.y"
|
||||
|
||||
|
||||
|
||||
#include "expression_lex.c"
|
||||
|
@ -115,7 +115,7 @@ static void req_readfrlist(char *fname, s_frlist **frlist, int magic)
|
||||
(*ptrl) = (s_frlist*)xmalloc(sizeof(s_frlist));
|
||||
memset(*ptrl, '\0', sizeof(s_frlist));
|
||||
|
||||
if( path && *path ) (*ptrl)->path = xstrcpy(path);
|
||||
if( *path ) (*ptrl)->path = xstrcpy(path);
|
||||
if( !magic && *(path + strlen(path) - 1) != DIRSEPCHR )
|
||||
{
|
||||
/* add trailing DIRSEP ('/' or ..) to paths */
|
||||
|
@ -19,7 +19,7 @@
|
||||
|
||||
#define DEFAULT_PORT 60179 /* Birthday .. mother fucker :) */
|
||||
|
||||
struct addrinfo *ai = NULL;
|
||||
struct addrinfo *paddrinfo = NULL;
|
||||
|
||||
static RETSIGTYPE tcpip_interrupt(int sig)
|
||||
{
|
||||
@ -171,7 +171,7 @@ int tcpip_connect(const char *hostname, e_tcpmode tcpmode)
|
||||
//aihints.ai_socktype = SOCK_STREAM;
|
||||
aihints.ai_protocol = IPPROTO_TCP;
|
||||
|
||||
nameres = getaddrinfo ( host, port, &aihints, &ai );
|
||||
nameres = getaddrinfo ( host, port, &aihints, &paddrinfo );
|
||||
if ( nameres != 0 )
|
||||
{
|
||||
rc = 1;
|
||||
@ -208,10 +208,10 @@ int tcpip_connect(const char *hostname, e_tcpmode tcpmode)
|
||||
|
||||
if( host ) { free(host); host = NULL; }
|
||||
DEB((D_INFO, "tcpip_connect: resolver got result!"));
|
||||
aisave = ai;
|
||||
aisave = paddrinfo;
|
||||
|
||||
if (rc == 0 )
|
||||
rc = tcpip_connect2(ai);
|
||||
rc = tcpip_connect2(paddrinfo);
|
||||
|
||||
freeaddrinfo( aisave );
|
||||
|
||||
|
@ -3,7 +3,7 @@ dnl
|
||||
dnl $Id$
|
||||
dnl
|
||||
#AC_INIT(bforce/bforce.c)
|
||||
AC_INIT([bforce],[0.24.1],[zx@zxalexis.ru])
|
||||
AC_INIT([bforce],[0.26.1],[zx@zxalexis.ru])
|
||||
AC_CONFIG_HEADER(include/config.h)
|
||||
AC_CANONICAL_SYSTEM
|
||||
dnl # Minimum Autoconf version required.
|
||||
|
Loading…
x
Reference in New Issue
Block a user