Commit 8fbace45 authored by Jonathan Carter's avatar Jonathan Carter

New upstream release

parent 82b9e1d4
This diff is collapsed.
/*
* @(#)AbacusC.c
*
* Copyright 1992 - 2017 David A. Bagley, bagleyd AT verizon.net
* Copyright 1992 - 2018 David A. Bagley, bagleyd AT verizon.net
*
* All rights reserved.
*
......@@ -400,7 +400,7 @@ convertFromInteger(char *outputString, int base, int x)
double factor;
int fractDigits = currentDigits;
(void) sprintf(string, "%d", number);
intCpy(string, number);
if (string[i] == '-') {
outputString[l++] = '-';
number = -number;
......@@ -446,7 +446,13 @@ convertFromDouble(char *outputString, int base, double x)
double factor;
int fractDigits = currentDigits;
(void) sprintf(string, "%g", number);
#ifdef HAVE_SNPRINTF
(void) snprintf(string, MAX_VALUE_LENGTH,
"%g", number);
#else
(void) sprintf(string,
"%g", number);
#endif
if (string[i] == '-') {
outputString[l++] = '-';
number = -number;
......@@ -1009,7 +1015,7 @@ parse(double input, Boolean gotNumeral, char newOperation)
pendingOperation = newOperation;
}
formatToDisplay(memoryBuf, right, currentBase);
(void) strcpy(displayBuf, memoryBuf); /* update display */
(void) strncpy(displayBuf, memoryBuf, CALC_STRING_SIZE); /* update display */
}
static void
......@@ -1200,7 +1206,7 @@ char *strAddInt(char *buf, int value)
s = buf;
s = s + strlen(buf); /* the position to write */
(void) sprintf(s, "%d", value); /* always base 10 */
intCpy(s, value); /* always base 10 */
return buf;
}
......@@ -1224,10 +1230,7 @@ convertStringBases(char *sb, char *buf, int displayBase, int base) {
num = convertToDecimal(displayBase,
numberString);
convertFromDouble(numberString, base, num);
(void) strcat(sb, numberString);
#ifdef DEBUG
(void) printf("ns =%s\n", numberString);
#endif
(void) strncat(sb, numberString, CALC_STRING_SIZE - 1);
} else {
sb = strAddChar(sb, buf[i]);
}
......@@ -1256,7 +1259,7 @@ void calculate(AbacusWidget w, char * buffer, int aux)
(void) printf("conv buffer =%s\n", stringBuf);
#endif
} else {
(void) strcpy(stringBuf, buffer);
(void) strncpy(stringBuf, buffer, CALC_STRING_SIZE);
}
resetExpression();
for (i = 0; i < strlen(stringBuf); i++) {
......
/*
* @(#)AbacusD.c
*
* Copyright 1999 - 2017 David A. Bagley, bagleyd AT verizon.net
* Copyright 1999 - 2018 David A. Bagley, bagleyd AT verizon.net
*
* Abacus demo and neat pointers from
* Copyright 1991 - 1998 Luis Fernandes, elf AT ee.ryerson.ca
......@@ -266,15 +266,27 @@ loadFont(AbacusWidget w)
/* Access font */
if (w->abacusDemo.font && (w->abacusDemo.fontInfo =
XLoadQueryFont(display, w->abacusDemo.font)) == NULL) {
#ifdef HAVE_SNPRINTF
(void) snprintf(buf, 512,
"Cannot open %s font.\nAttempting %s font as alternate\n",
w->abacusDemo.font, altfontname);
#else
(void) sprintf(buf,
"Can not open %s font.\nAttempting %s font as alternate\n",
"Cannot open %s font.\nAttempting %s font as alternate\n",
w->abacusDemo.font, altfontname);
#endif
DISPLAY_WARNING(buf);
if ((w->abacusDemo.fontInfo = XLoadQueryFont(display,
altfontname)) == NULL) {
#ifdef HAVE_SNPRINTF
(void) snprintf(buf, 512,
"Cannot open %s alternate font.\nUse the -demofont option to specify a font to use.\n",
altfontname);
#else
(void) sprintf(buf,
"Can not open %s alternate font.\nUse the -demofont option to specify a font to use.\n",
"Cannot open %s alternate font.\nUse the -demofont option to specify a font to use.\n",
altfontname);
#endif
DISPLAY_ERROR(buf);
}
}
......@@ -386,11 +398,13 @@ commonEdition(unsigned int mode)
edition = CHINESE;
break;
default:
edition = mode;
edition = mode;
}
return edition;
}
struct libraryType abacusLibrary;
static unsigned int getNumberBooks(void) {
if (fallback)
return getFallbackBooks();
......@@ -541,9 +555,17 @@ drawText(AbacusWidget w, TextType textType)
#endif
if (line == 0) {
char buf[512];
sprintf(buf, "%s%s by %s", temp,
#ifdef HAVE_SNPRINTF
(void) snprintf(buf, 512,
"%s%s by %s", temp,
abacusLibrary.book[w->abacusDemo.bookCount].name,
abacusLibrary.book[w->abacusDemo.bookCount].author);
#else
(void) sprintf(buf,
"%s%s by %s", temp,
abacusLibrary.book[w->abacusDemo.bookCount].name,
abacusLibrary.book[w->abacusDemo.bookCount].author);
#endif
drawLineText(w, buf, line);
continue;
}
......@@ -563,8 +585,15 @@ drawText(AbacusWidget w, TextType textType)
#endif
if (line == 0) {
char buf[512];
sprintf(buf, "%s%s", temp,
#ifdef HAVE_SNPRINTF
(void) snprintf(buf, 512,
"%s%s", temp,
abacusLibrary.book[w->abacusDemo.bookCount].edition[edition].chapter[w->abacusDemo.chapterCount].name);
#else
(void) sprintf(buf,
"%s%s", temp,
abacusLibrary.book[w->abacusDemo.bookCount].edition[edition].chapter[w->abacusDemo.chapterCount].name);
#endif
drawLineText(w, buf, line);
continue;
}
......@@ -633,9 +662,9 @@ doLesson(AbacusWidget w)
if (fallback) {
tmp = lessonTextFallback[w->abacusDemo.bookCount][edition][w->abacusDemo.chapterCount][w->abacusDemo.lessonCount][w->abacusDemo.moveCount][line + 1];
} else {
tmp = abacusLibrary.book[w->abacusDemo.bookCount].edition[edition].chapter[w->abacusDemo.chapterCount].lesson[w->abacusDemo.lessonCount].move[w->abacusDemo.moveCount].lineText[line]; // 64 char
tmp = abacusLibrary.book[w->abacusDemo.bookCount].edition[edition].chapter[w->abacusDemo.chapterCount].lesson[w->abacusDemo.lessonCount].move[w->abacusDemo.moveCount].lineText[line]; /* 64 char */
}
(void) strcpy(displayText[line], tmp);
(void) strncpy(displayText[line], tmp, strlen(tmp) + 1);
displayText[line][strlen(displayText[line])] = '\0';
}
}
......@@ -672,7 +701,7 @@ doLesson(AbacusWidget w)
(void) fprintf(stderr, " doLesson:\n");
#endif
if (++w->abacusDemo.moveCount > numberMoves) {
//(void) fclose(w->abacusDemo.fp);
/*(void) fclose(w->abacusDemo.fp);*/
drawText(w, CONCL);
Sleep(2000);
if (w->abacusDemo.aux >= 0) {
......
This diff is collapsed.
/*
* @(#)AbacusM.c
*
* Copyright 1994 - 2017 David A. Bagley, bagleyd AT verizon.net
* Copyright 1994 - 2018 David A. Bagley, bagleyd AT verizon.net
*
* All rights reserved.
*
......@@ -22,7 +22,7 @@
* AbacusM(ath) handles the string mathematics for the xabacus.
* Whenever possible the mathematics is done using strings.
* (Roman math is also done here and is limited by definition.)
* I use long long when I can not figure out how to do it by strings,
* I use long long when I cannot figure out how to do it by strings,
* as in Display Base.
*/
#include "AbacusP.h"
......@@ -65,8 +65,13 @@ Z = 1/12 ounce
*/
#define MAX_TWELFTH 9
#define MAX_TWELFTH_GLYPHS 5
#define MAX_HALFTWELFTH 10
#define MAX_HALFTWELFTH_GLYPHS 3
#define MAX_SUBTWELFTH 18
#define MAX_SUBTWELFTH_GLYPHS 3
#define MAX_SUBEIGHTH 18
#define MAX_SUBEIGHTH_GLYPHS 3
#define MAX_ROMANFRACT 36 /* MAX_TWELFTH+MAX_SUBTWELFTH+strlen(HALF_UNCIA) */
#define MAX_ROMANLEN 28 /* strlen(LONGEST_ROMANNUMERAL) */
#define MAX_ROMAN (MAX_ROMANFRACT+MAX_ROMANLEN)
......@@ -77,7 +82,7 @@ static char twelfthStrings[][MAX_TWELFTH] = {
"triens", "quincunx", "semis", "septunx",
"bes", "dodrans", "dextans", "deunix",
"as"};
static char twelfthGlyphs[][5] = {
static char twelfthGlyphs[][MAX_TWELFTH_GLYPHS] = {
"", "-", "=", "=-",
"==", "=-=", "S", "S-",
"S=", "S=-", "S==", "S=-=",
......@@ -85,9 +90,9 @@ static char twelfthGlyphs[][5] = {
#define HALF_UNCIA "semuncia" /* E, (actually a Greek letter sigma) */
#define ONEANDAHALF_UNCIA "sescuncia" /* E- */
static char halftwelfthStrings[][10] = {
static char halftwelfthStrings[][MAX_HALFTWELFTH] = {
HALF_UNCIA, ONEANDAHALF_UNCIA};
static char halftwelfthGlyphs[][3] = {
static char halftwelfthGlyphs[][MAX_HALFTWELFTH_GLYPHS] = {
"E", "E-"};
/* Fractions of Uncia had these names, took shortest variant */
......@@ -111,10 +116,10 @@ static char subtwelfthStrings[][MAX_SUBTWELFTH] = {
QUARTER_UNCIA, THIRD_UNCIA, FIVETWELFTHS_UNCIA};
static char subeighthStrings[][MAX_SUBEIGHTH] = {
"", EIGHTH_UNCIA, QUARTER_UNCIA, THREEEIGHTHS_UNCIA};
static char subtwelfthGlyphs[][3] = {
static char subtwelfthGlyphs[][MAX_SUBTWELFTH_GLYPHS] = {
"", "z", "Z",
"Q", "u", "QZ"};
static char subeighthGlyphs[][3] = {
static char subeighthGlyphs[][MAX_SUBEIGHTH_GLYPHS] = {
"", "t", "Q", "Qt"};
int
......@@ -307,7 +312,13 @@ dividePieces(char *buf, int base, int pieces, int mult, int places,
#endif
digit = mult / pieces;
inter = mult % pieces;
(void) sprintf(buf, "%1d%c", digit, decimalPoint);
#ifdef HAVE_SNPRINTF
(void) snprintf(buf, 3,
"%1d%c", digit, decimalPoint);
#else
(void) sprintf(buf,
"%1d%c", digit, decimalPoint);
#endif
for (position = 2; position < places;) {
digit = (inter * base) / pieces;
inter = (inter * base) % pieces;
......@@ -423,9 +434,9 @@ addStrings(char *buf, char *aBuf, char *bBuf, int base, char decimalPoint)
}
if (carry > 0) {
buf[aSign] = (char) (carry + '0');
(void) strcpy(&buf[aSign + 1], &aBuf[aSign]);
(void) strncpy(&buf[aSign + 1], &aBuf[aSign], (unsigned int) (aEnd - aSign + 1));
} else
(void) strcpy(buf, aBuf);
(void) strncpy(buf, aBuf, (unsigned int) (aEnd + 1));
} else {
for (i = bEnd - 1; i > bDecimal; i--) {
digit = char2Int(bBuf[i]) +
......@@ -446,9 +457,9 @@ addStrings(char *buf, char *aBuf, char *bBuf, int base, char decimalPoint)
}
if (carry > 0) {
buf[bSign] = (char) (carry + '0');
(void) strcpy(&buf[bSign + 1], &bBuf[bSign]);
(void) strncpy(&buf[bSign + 1], &bBuf[bSign], (unsigned int) (bEnd - bSign + 1));
} else
(void) strcpy(buf, bBuf);
(void) strncpy(buf, bBuf, (unsigned int) (bEnd + 1));
}
i = (int) strlen(buf) - 1;
while (buf[i] == '0' && buf[i - 1] != decimalPoint)
......@@ -561,8 +572,8 @@ convertString(char * buf, char * inbuf, int base, int displayBase,
(void) int2String(buf, intPart, displayBase, negative);
(void) flt2String(fltbuf, floatPart, base, displayBase,
decimalPointPlace, decimalPosition);
(void) strcat(buf, ".");
(void) strcat(buf, fltbuf);
(void) strncat(buf, ".", 2);
(void) strncat(buf, fltbuf, STRING_SIZE);
#ifdef DEBUG
(void) printf("convertString: outbuf %s\n", buf);
#endif
......@@ -598,43 +609,43 @@ romanFraction(char *buf, int base, int number, int subnumber,
if (fraction == 1 && subfraction >= halfBase) {
subfraction -= halfBase;
if (latin) {
(void) strcat(buf, halftwelfthStrings[1]);
(void) strncat(buf, halftwelfthStrings[1], MAX_HALFTWELFTH);
gotFraction = True;
} else {
(void) strcat(buf, halftwelfthGlyphs[1]);
(void) strncat(buf, halftwelfthGlyphs[1], MAX_HALFTWELFTH_GLYPHS);
}
} else if (fraction > 0) {
if (latin) {
(void) strcat(buf, twelfthStrings[fraction]);
(void) strncat(buf, twelfthStrings[fraction], MAX_TWELFTH);
gotFraction = True;
} else {
(void) strcat(buf, twelfthGlyphs[fraction]);
(void) strncat(buf, twelfthGlyphs[fraction], MAX_TWELFTH_GLYPHS);
}
}
if (subfraction >= halfBase) {
subfraction -= halfBase;
if (latin) {
if (gotFraction)
(void) strcat(buf, " ");
(void) strncat(buf, " ", 2);
gotFraction = True;
(void) strcat(buf, halftwelfthStrings[0]);
(void) strncat(buf, halftwelfthStrings[0], MAX_HALFTWELFTH);
} else {
(void) strcat(buf, halftwelfthGlyphs[0]);
(void) strncat(buf, halftwelfthGlyphs[0], MAX_HALFTWELFTH_GLYPHS);
}
}
if (subfraction != 0) {
if (latin) {
if (gotFraction)
(void) strcat(buf, " ");
(void) strncat(buf, " ", 2);
if (subbase == 8)
(void) strcat(buf, subeighthStrings[subfraction]);
(void) strncat(buf, subeighthStrings[subfraction], MAX_SUBEIGHTH);
else
(void) strcat(buf, subtwelfthStrings[subfraction]);
(void) strncat(buf, subtwelfthStrings[subfraction], MAX_SUBTWELFTH);
} else {
if (subbase == 8)
(void) strcat(buf, subeighthGlyphs[subfraction]);
(void) strncat(buf, subeighthGlyphs[subfraction], MAX_SUBEIGHTH_GLYPHS);
else
(void) strcat(buf, subtwelfthGlyphs[subfraction]);
(void) strncat(buf, subtwelfthGlyphs[subfraction], MAX_SUBTWELFTH_GLYPHS);
}
}
}
......@@ -644,7 +655,7 @@ append(char *buf, int position, int place, Boolean ancient)
{
if (ancient) {
buf[position] = '\0';
(void) strcat(&buf[position], oldRoman[place]);
(void) strncat(&buf[position], oldRoman[place], MAX_OLDROMAN);
return (int) strlen(oldRoman[place]);
} else {
buf[position] = roman[place];
......@@ -736,12 +747,12 @@ string2Roman(char *buf, char *inbuf, int base, Boolean decimalFraction,
int subfraction = subnumber;
if (latin && position > 1 && (number != 0 || subfraction != 0))
(void) strcat(buf, " ");
(void) strncat(buf, " ", 2);
romanFraction(fractbuf, pieces, number, subfraction,
subbase, latin);
(void) strcat(buf, fractbuf);
(void) strncat(buf, fractbuf, MAX_ROMANFRACT);
}
(void) strcat(buf, "]");
(void) strncat(buf, "]", 2);
return 0;
}
......@@ -804,8 +815,9 @@ int2Roman(char *buf, int arabic)
void string2Group(char *buf, char *inbuf, int groupSize, char decimalPoint,
char groupSeparator) {
int i, j, len;
int max = (int) strlen(inbuf);
for (i = 0; i < (int) strlen(inbuf); i++) {
for (i = 0; i < max; i++) {
if (inbuf[i] == ' ' || inbuf[i] == decimalPoint) {
break;
}
......@@ -825,7 +837,7 @@ void string2Group(char *buf, char *inbuf, int groupSize, char decimalPoint,
j++;
}
buf[j] = '\0';
(void) strcat(buf, &inbuf[len - 1]);
(void) strncat(buf, &inbuf[len - 1], (unsigned int) max);
}
int
......
......@@ -87,7 +87,7 @@ extern void toggleRightToLeftMultAbacus(AbacusWidget w);
extern void enterAbacus(AbacusWidget w);
extern void leaveAbacus(AbacusWidget w);
extern void moveAbacusInput(AbacusWidget w,
int x, int y, char letter, int control);
int x, int y, char letter, int control);
extern Boolean checkSubdeck(AbacusWidget w, int position);
extern void setAbacusString(AbacusWidget w, int reason, char *string);
......@@ -331,8 +331,6 @@ struct libraryType {
struct bookType *book;
};
struct libraryType abacusLibrary;
extern unsigned int getFallbackBooks(void);
extern unsigned int getFallbackEditions(void);
extern unsigned int getFallbackChapters(void);
......@@ -342,7 +340,7 @@ extern unsigned int getFallbackMoves(unsigned int edition, unsigned int chapter,
extern const char *bookTextFallback[1][LINES];
extern const char *chapterTextFallback[1][5][LINES];
extern const char *lessonTextFallback[1][4][5][2][41][LINES + 1];
extern void freeAbacus(struct bookType *bookAbacus, int books);
extern void freeAbacus(struct bookType *bookAbacus, unsigned int books);
extern void setAbacus(AbacusWidget w, int reason);
extern void setAbacusDemo(AbacusWidget w, int reason);
......
This diff is collapsed.
Copyright 1994 - 2017 David A. Bagley, bagleyd AT verizon.net
Copyright 1994 - 2018 David A. Bagley, bagleyd AT verizon.net
All Rights Reserved
......
[Feb 15, 2019] V8.2.1:
Fixed spinner to not wrap and be unlimited where appropriate.
[Oct 02, 2018] V8.2.0:
Removing strcpy and strcat calls by migrating to strncpy and strncat.
Added HAVE_SNPRINTF compile-time option. Did for all files except
AbacusT.c, (for teach mode) here it was reduced but not eliminated.
Fixed drawing especially for Roman Hand Abacus and Medieval Counter.
Fixed clearing decimal when changing format from Roman Hand Abacus.
Fixed problem pointed out by clang using uninitialized variables.
[Jul 21, 2018] V8.1.8:
Fixing sound installation.
Fixing potential some buffer overruns pointed out in mingw in
AbacusT.c.
[Apr 03, 2018] V8.1.7:
Updated to use spinner (using latest Motif ;) ).
[Feb 05, 2018] V8.1.6:
......
......@@ -55,8 +55,9 @@ datadir = @datadir@
readdir = $(datadir)/games/$(GROUP)
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
M = @XM_PREFIX@
DESTDIR =
......@@ -65,6 +66,7 @@ DESTDIR =
#CC = acc -g
#CC = gcc -g -Wall -ansi -pedantic
#CC = gcc -g -Wall -W -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wwrite-strings -Waggregate-return -Wmissing-prototypes -Wstrict-prototypes -pedantic -Wno-long-long
#CC = gcc -std=c89
#CC = gcc -g -Wall
#CC = g++ -g -Wall
#CC = CC -g
......@@ -191,14 +193,14 @@ $(P)$(wIDGET)$(O) : $(P)$(wIDGET)$(C) $(WIDGET).h xwin.h file.h version.h
install : $(PROG)$(E) @NOPLAY@play.sh
$(srcdir)/mkinstalldirs $(DESTDIR)$(bindir)
$(INSTALL_PROGRAM) $(PROG)$(E) $(DESTDIR)$(bindir)/$(R)$(M)$(wIDGET)$(E)
@NOPLAY@$(INSTALL_PROGRAM) play.sh $(DESTDIR)$(bindir)/play.sh
$(srcdir)/mkinstalldirs $(DESTDIR)$(readdir)
@NOPLAY@$(INSTALL_PROGRAM) play.sh $(DESTDIR)$(readdir)/play.sh
$(srcdir)/mkinstalldirs $(DESTDIR)$(mandir)
$(INSTALL_DATA) $(srcdir)/$(PROG).man $(DESTDIR)$(mandir)/$(PROG).$(MANNUM)
$(srcdir)/mkinstalldirs $(DESTDIR)$(xapploaddir)
sed 's;^$(WIDGET)\*\(.*\): /usr/local/share/games/$(GROUP);$(WIDGET)*\1: $(DESTDIR)$(readdir);g' $(srcdir)/$(WIDGET).ad > $(WIDGET).ad.tmp
$(INSTALL_DATA) $(WIDGET).ad.tmp $(DESTDIR)$(xapploaddir)/$(WIDGET)
rm -f $(WIDGET).ad.tmp
$(srcdir)/mkinstalldirs $(DESTDIR)$(readdir)
$(INSTALL_DATA) $(srcdir)/$(WIDGET).ps $(DESTDIR)$(readdir)/$(WIDGET).ps
$(INSTALL_DATA) $(srcdir)/abacusDemo.xml $(DESTDIR)$(readdir)/abacusDemo.xml
$(INSTALL_DATA) $(srcdir)@WAVDIR@/bump$(W) $(DESTDIR)$(readdir)/bump$(W)
......@@ -224,7 +226,7 @@ uninstall :
install-games : $(PROG)$(E) @NOPLAY@play.sh
$(srcdir)/mkinstalldirs /usr/games
$(INSTALL_PROGRAM) $(PROG)$(E) /usr/games/$(R)$(M)$(wIDGET)$(E)
@NOPLAY@$(INSTALL_PROGRAM) play.sh $(DESTDIR)$(bindir)/play.sh
@NOPLAY@$(INSTALL_SCRIPT) play.sh $(DESTDIR)$(bindir)/play.sh
chmod 2755 /usr/games/$(R)$(M)$(wIDGET)$(E)
chown games:games /usr/games/$(R)$(M)$(wIDGET)$(E)
$(srcdir)/mkinstalldirs $(DESTDIR)$(mandir)
......@@ -378,6 +380,9 @@ base16 :
percent :
./$(PROG) -bottomPiecePercent 4
lldb :
lldb ./$(PROG)
gdb :
gdb ./$(PROG)
......@@ -522,7 +527,8 @@ pixmaps/%.png : pixmaps/%.xpm
pnmtopng -transparent 1,1,1 > $@;\
else\
xpmtoppm $< | pnmtopng > $@;\
fi
fi;\
pngcrush -ow -rem allb -reduce $@
pixmap : $(PNGS)
......
This diff is collapsed.
This diff is collapsed.
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for xabacus 8.1.5.
# Generated by GNU Autoconf 2.69 for xabacus 8.2.0.
#
# Report bugs to <bagleyd AT verizon.net>.
#
......@@ -580,8 +580,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='xabacus'
PACKAGE_TARNAME='xabacus'
PACKAGE_VERSION='8.1.5'
PACKAGE_STRING='xabacus 8.1.5'
PACKAGE_VERSION='8.2.0'
PACKAGE_STRING='xabacus 8.2.0'
PACKAGE_BUGREPORT='bagleyd AT verizon.net'
PACKAGE_URL=''
......@@ -679,6 +679,7 @@ infodir
docdir
oldincludedir
includedir
runstatedir
localstatedir
sharedstatedir
sysconfdir
......@@ -774,6 +775,7 @@ datadir='${datarootdir}'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
runstatedir='${localstatedir}/run'
includedir='${prefix}/include'
oldincludedir='/usr/include'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
......@@ -1026,6 +1028,15 @@ do
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
-runstatedir | --runstatedir | --runstatedi | --runstated \
| --runstate | --runstat | --runsta | --runst | --runs \
| --run | --ru | --r)
ac_prev=runstatedir ;;
-runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
| --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
| --run=* | --ru=* | --r=*)
runstatedir=$ac_optarg ;;
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
......@@ -1163,7 +1174,7 @@ fi
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
libdir localedir mandir
libdir localedir mandir runstatedir
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
......@@ -1276,7 +1287,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures xabacus 8.1.5 to adapt to many kinds of systems.
\`configure' configures xabacus 8.2.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
......@@ -1316,6 +1327,7 @@ Fine tuning of the installation directories:
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
......@@ -1345,7 +1357,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of xabacus 8.1.5:";;
short | recursive ) echo "Configuration of xabacus 8.2.0:";;
esac
cat <<\_ACEOF
......@@ -1460,7 +1472,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
xabacus configure 8.1.5
xabacus configure 8.2.0
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
......@@ -1829,7 +1841,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by xabacus $as_me 8.1.5, which was
It was created by xabacus $as_me 8.2.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
......@@ -2981,7 +2993,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
esac
if test "${CC}" = "gcc" ; then
if test "${CC}" = "clang" -o "${CC}" = "clang++" ; then
CFLAGS="-g -Wall"
fi
if test "${CC}" = "gcc" -o "${CC}" = "g++" ; then
CFLAGS="${CFLAGS} -Wall"
fi
......@@ -3790,6 +3805,17 @@ $as_echo "enabling constpixmaps" >&6; }
CFLAGS="${CFLAGS} -DCONSTPIXMAPS"
fi
for ac_func in snprintf
do :
ac_fn_c_check_func "$LINENO" "snprintf" "ac_cv_func_snprintf"
if test "x$ac_cv_func_snprintf" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_SNPRINTF 1
_ACEOF
fi
done
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for X" >&5
$as_echo_n "checking for X... " >&6; }
......@@ -5732,7 +5758,11 @@ $as_echo "#define LESS_THAN_AIX3_2 1" >>confdefs.h
;;
*-*-linux* )
CFLAGS="${CFLAGS} -std=c99 -pedantic"
if test "${CC}" = "g++" -o "${CC}" = "clang++" ; then
CFLAGS="${CFLAGS} -pedantic"
else
CFLAGS="${CFLAGS} -std=c99 -pedantic"
fi
$as_echo "#define linux 1" >>confdefs.h
......@@ -6319,7 +6349,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by xabacus $as_me 8.1.5, which was
This file was extended by xabacus $as_me 8.2.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
......@@ -6372,7 +6402,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
xabacus config.status 8.1.5
xabacus config.status 8.2.0
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
......
......@@ -23,7 +23,11 @@ dnl yes ) CFLAGS="${CFLAGS} -g" ;;
dnl no ) CFLAGS="${CFLAGS} -O" ;;
dnl esac
if test "${CC}" = "gcc" ; then
dnl -O2 causing problem with format pulldown
if test "${CC}" = "clang" -o "${CC}" = "clang++" ; then
CFLAGS="-g -Wall"
fi
if test "${CC}" = "gcc" -o "${CC}" = "g++" ; then
CFLAGS="${CFLAGS} -Wall"
fi
......@@ -94,6 +98,7 @@ fi
dnl Checks for library functions.
dnl AC_CHECK_FUNCS(select)
AC_CHECK_FUNCS(snprintf)
dnl X Window System files.
AC_PATH_XTRA
......@@ -1283,7 +1288,11 @@ case "${canonical}" in
;;
*-*-linux* )
CFLAGS="${CFLAGS} -std=c99 -pedantic"
if test "${CC}" = "g++" -o "${CC}" = "clang++" ; then
CFLAGS="${CFLAGS} -pedantic"
else
CFLAGS="${CFLAGS} -std=c99 -pedantic"
fi
AC_DEFINE([linux], [1], [Linux OS])
AC_DEFINE([_POSIX_SOURCE], [1], [POSIX source])
AC_DEFINE([_BSD_SOURCE], [1], [BSD source])
......
xabacus (8.2.1+dfsg1-1) unstable; urgency=medium
xabacus (8.2.1-1) unstable; urgency=medium
* Adopting package (Closes: #922889)
* New upstream release
* Update standards version to 4.3.0
* Upgrade to debian-compat (=12)
* Move git repository to debian project on salsa.debian.org
* Stop removing tiny uneccary files
-- Jonathan Carter <jcc@debian.org> Fri, 22 Feb 2019 12:10:16 +0000
......
......@@ -2,8 +2,6 @@ Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0
Upstream-Name: Abacus
Upstream-Contact: David A. Bagley <bagleyd AT verizon.net>
Source: http://www.sillycycle.com/abacus/
Files-Excluded: win32/*.
Comment: removed unnecessary files.
Files: *
Copyright: 1992-2018, David A. Bagley <bagleyd AT verizon.net>
......
move-play-file.patch
#move-play-file.patch
pixmaps/48x48/abacus.png

147 Bytes | W: | H:

pixmaps/48x48/abacus.png

146 Bytes | W: | H:

pixmaps/48x48/abacus.png
pixmaps/48x48/abacus.png
pixmaps/48x48/abacus.png
pixmaps/48x48/abacus.png
  • 2-up
  • Swipe
  • Onion skin