aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorache <ache@FreeBSD.org>2007-06-23 22:20:21 +0800
committerache <ache@FreeBSD.org>2007-06-23 22:20:21 +0800
commit2a2b341320de46a888e8d5f199703f8e3ccd8902 (patch)
tree1bd5f9305c198dee5b21a576af4c08f93ed41018
parent97949305974e65638ac89d112815105152df7e15 (diff)
downloadfreebsd-ports-gnome-2a2b341320de46a888e8d5f199703f8e3ccd8902.tar.gz
freebsd-ports-gnome-2a2b341320de46a888e8d5f199703f8e3ccd8902.tar.zst
freebsd-ports-gnome-2a2b341320de46a888e8d5f199703f8e3ccd8902.zip
Sanitize Name and Location given in the command line.
Fix the bug with 8bit chars in the Name & Location in the text output.
-rw-r--r--misc/astrolog/Makefile2
-rw-r--r--misc/astrolog/files/patch-ac36
-rw-r--r--misc/astrolog/files/patch-charts1.c20
3 files changed, 53 insertions, 5 deletions
diff --git a/misc/astrolog/Makefile b/misc/astrolog/Makefile
index 5ba2dc70994d..e0470adedd9d 100644
--- a/misc/astrolog/Makefile
+++ b/misc/astrolog/Makefile
@@ -10,7 +10,7 @@
PORTNAME= astrolog
PORTVERSION= 5.40
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= misc
MASTER_SITES= http://www.astrolog.org/ftp/ephem/:ephem \
http://www.astrolog.org/ftp/:dist
diff --git a/misc/astrolog/files/patch-ac b/misc/astrolog/files/patch-ac
index e3523ed21ebd..8d7a05dedcfd 100644
--- a/misc/astrolog/files/patch-ac
+++ b/misc/astrolog/files/patch-ac
@@ -1,6 +1,14 @@
---- astrolog.c.orig Wed Dec 23 23:29:16 1998
-+++ astrolog.c Fri May 25 21:07:58 2001
-@@ -1146,8 +1146,18 @@
+--- astrolog.c.orig 1998-12-23 23:29:07.000000000 +0300
++++ astrolog.c 2007-06-23 18:07:49.000000000 +0400
+@@ -35,6 +35,7 @@
+ ** Last code change made 12/20/1998.
+ */
+
++#include <ctype.h>
+ #include "astrolog.h"
+
+
+@@ -1146,8 +1147,18 @@
case 'z':
if (ch1 == '0') {
if (argc <= 1 || RParseSz(argv[1], pmZon) == rLarge) {
@@ -21,7 +29,27 @@
SS = us.dstDef = i ? 1.0 : 0.0;
} else {
SS = us.dstDef = RParseSz(argv[1], pmZon);
-@@ -1236,9 +1246,19 @@
+@@ -1232,13 +1243,39 @@
+ return fFalse;
+ }
+ ciCore.nam = SzPersist(argv[1]);
++ if (CchSz(ciCore.nam) > 25) /* see xcharts0.c */
++ ciCore.nam[25] = chNull;
++ for (pch = ciCore.nam; *pch; pch++) {
++ if (*pch == '"') /* see io.c */
++ *pch = '\'';
++ else if (iscntrl((_char)*pch)) /* see xgeneral.c */
++ *pch = ' ';
++ }
+ ciCore.loc = SzPersist(argv[2]);
++ if (CchSz(ciCore.loc) > 25) /* see xcharts0.c */
++ ciCore.loc[25] = chNull;
++ for (pch = ciCore.loc; *pch; pch++) {
++ if (*pch == '"') /* see io.c */
++ *pch = '\'';
++ else if (iscntrl((_char)*pch)) /* see xgeneral.c */
++ *pch = ' ';
++ }
argc -= 2; argv += 2;
break;
}
diff --git a/misc/astrolog/files/patch-charts1.c b/misc/astrolog/files/patch-charts1.c
new file mode 100644
index 000000000000..707385e7fe03
--- /dev/null
+++ b/misc/astrolog/files/patch-charts1.c
@@ -0,0 +1,20 @@
+--- charts1.c.bak 1998-12-23 23:29:26.000000000 +0300
++++ charts1.c 2007-06-23 16:28:33.000000000 +0400
+@@ -53,7 +53,7 @@
+ char sz[cchSzDef];
+ int day, fNam, fLoc;
+
+- fNam = *ciMain.nam > chNull; fLoc = *ciMain.loc > chNull;
++ fNam = *ciMain.nam != chNull; fLoc = *ciMain.loc != chNull;
+ AnsiColor(kWhite);
+ sprintf(sz, "%s %s chart ", szAppName, szVersionCore); PrintSz(sz);
+ if (fNoTimeOrSpace)
+@@ -83,7 +83,7 @@
+ real rT;
+
+ CreateElemTable(&et);
+- fNam = *ciMain.nam > chNull; fLoc = *ciMain.loc > chNull;
++ fNam = *ciMain.nam != chNull; fLoc = *ciMain.loc != chNull;
+
+ PrintHeader(); /* Show time and date of the chart being displayed. */
+