summaryrefslogtreecommitdiff
path: root/misc/kdeedu3
diff options
context:
space:
mode:
authorMichael Nottebrock <lofi@FreeBSD.org>2005-03-20 18:17:55 +0000
committerMichael Nottebrock <lofi@FreeBSD.org>2005-03-20 18:17:55 +0000
commitd57e6a82578ae8c5008de9b8a118e7286b5ac8bd (patch)
tree3242aa4d74a61f6856c81b2ca2de2e77f3bdfe80 /misc/kdeedu3
parentUpdate to 0.5.3. (diff)
Update to KDE 3.4
Diffstat (limited to 'misc/kdeedu3')
-rw-r--r--misc/kdeedu3/Makefile7
-rw-r--r--misc/kdeedu3/distinfo4
-rw-r--r--misc/kdeedu3/files/patch-kstars-3_31925
-rw-r--r--misc/kdeedu3/files/patch-kstars_kstars_indi_Makefile.in10
-rw-r--r--misc/kdeedu3/files/patch-kstars_kstars_tools_planetviewer.cpp11
-rw-r--r--misc/kdeedu3/pkg-plist419
6 files changed, 322 insertions, 2054 deletions
diff --git a/misc/kdeedu3/Makefile b/misc/kdeedu3/Makefile
index 7d948943aebd..1551fc0d0e20 100644
--- a/misc/kdeedu3/Makefile
+++ b/misc/kdeedu3/Makefile
@@ -7,7 +7,6 @@
PORTNAME= kdeedu
PORTVERSION= ${KDE_VERSION}
-PORTREVISION= 1
CATEGORIES?= misc kde
MASTER_SITES= ${MASTER_SITE_KDE}
MASTER_SITE_SUBDIR= stable/${PORTVERSION:S/.0//}/src
@@ -33,4 +32,10 @@ LDCONFIG_DIRS+= %%PREFIX%%/lib %%PREFIX%%/lib/kde3
.include "${.CURDIR}/../../x11/kde3/Makefile.kde"
.include <bsd.port.pre.mk>
+.if ${OSVERSION} > 500035
+LIB_DEPENDS+= boost_python:${PORTSDIR}/devel/boost-python
+.else
+CONFIGURE_ARGS+=--disable-kig-python-scripting
+.endif
+
.include <bsd.port.post.mk>
diff --git a/misc/kdeedu3/distinfo b/misc/kdeedu3/distinfo
index e04f2eb66acd..90fc2f81a5cb 100644
--- a/misc/kdeedu3/distinfo
+++ b/misc/kdeedu3/distinfo
@@ -1,2 +1,2 @@
-MD5 (KDE/kdeedu-3.3.2.tar.bz2) = 2ea54bb7aee669582eb0877d3c6f0b3d
-SIZE (KDE/kdeedu-3.3.2.tar.bz2) = 22069753
+MD5 (KDE/kdeedu-3.4.0.tar.bz2) = c2aab0c4f6439abb6c0eb09413b6532c
+SIZE (KDE/kdeedu-3.4.0.tar.bz2) = 23559284
diff --git a/misc/kdeedu3/files/patch-kstars-3_3 b/misc/kdeedu3/files/patch-kstars-3_3
deleted file mode 100644
index ec34e236e7bd..000000000000
--- a/misc/kdeedu3/files/patch-kstars-3_3
+++ /dev/null
@@ -1,1925 +0,0 @@
-Index: devicemanager.cpp
-===================================================================
-RCS file: /home/kde/kdeedu/kstars/kstars/devicemanager.cpp,v
-retrieving revision 1.14
-diff -u -3 -d -p -r1.14 devicemanager.cpp
---- kstars/kstars/devicemanager.cpp 28 Jun 2004 04:46:45 -0000 1.14
-+++ kstars/kstars/devicemanager.cpp 6 Feb 2005 18:38:31 -0000
-@@ -17,6 +17,7 @@
- #include "indiproperty.h"
- #include "indigroup.h"
- #include "indidevice.h"
-+#include "indi/indicom.h"
- #include "kstars.h"
- #include "kstarsdatetime.h"
-
-@@ -136,50 +137,51 @@ bool DeviceManager::indiConnect(QString
- void DeviceManager::dataReceived()
- {
- char ibuf[32]; /* not so much user input lags */
-- char msg[1024];
-+ char errmsg[ERRMSG_SIZE];
- int i, nr;
-
- /* read INDI command */
-- nr = read (serverFD, ibuf, sizeof(ibuf));
-+ nr = read (serverFD, ibuf, sizeof(ibuf)-1);
- if (nr <= 0)
- {
- if (nr < 0)
-- sprintf (msg, "INDI: input error.");
-+ strcpy (errmsg, "INDI: input error.");
- else
-- sprintf (msg, "INDI: agent closed connection.");
-+ strcpy (errmsg, "INDI: agent closed connection.");
-
-
- tcflush(serverFD, TCIFLUSH);
- sNotifier->disconnect();
- close(serverFD);
- parent->removeDeviceMgr(mgrID);
-- KMessageBox::error(0, QString(msg));
-+ KMessageBox::error(0, QString::fromLatin1(errmsg));
-
- return;
- }
-
-+ ibuf[ sizeof( ibuf )-1 ] = '\0';
-+
- /* process each char */
- for (i = 0; i < nr; i++)
- {
- if (!XMLParser)
- return;
-
-- XMLEle *root = readXMLEle (XMLParser, (int)ibuf[i], msg);
-+ XMLEle *root = readXMLEle (XMLParser, (int)ibuf[i], errmsg);
- if (root)
- {
- //prXMLEle (stdout, root, 0);
-- if (dispatchCommand(root, msg) < 0)
-+ if (dispatchCommand(root, errmsg) < 0)
- {
-- //kdDebug() << msg << endl;
-- fprintf(stderr, msg);
-+ fprintf(stderr, "%s", errmsg);
- prXMLEle (stdout, root, 0);
- }
-
- delXMLEle (root);
- }
-- else if (msg[0])
-+ else if (*errmsg)
- {
-- kdDebug() << msg << endl;
-+ kdDebug() << errmsg << endl;
- }
- }
- }
-@@ -271,7 +273,7 @@ int DeviceManager::removeDevice(QString
- }
- }
-
-- sprintf(errmsg, "Device %s not found" , devName.ascii());
-+ snprintf(errmsg, ERRMSG_SIZE, "Device %.32s not found" , devName.ascii());
- return -1;
- }
-
-@@ -284,7 +286,7 @@ INDI_D * DeviceManager::findDev (QString
- return (indi_dev.at(i));
- }
-
-- sprintf (errmsg, "INDI: no such device %s", devName.ascii());
-+ snprintf (errmsg, ERRMSG_SIZE, "INDI: no such device %.32s", devName.ascii());
- kdDebug() << errmsg;
-
- return NULL;
-@@ -342,7 +344,7 @@ INDI_D * DeviceManager::findDev (XMLEle
- return (addDevice (root, errmsg));
-
-
-- sprintf (errmsg, "INDI: <%s> no such device %s", tagXMLEle(root), dn);
-+ snprintf (errmsg, ERRMSG_SIZE, "INDI: <%.32s> no such device %.32s", tagXMLEle(root), dn);
- return NULL;
- }
-
-Index: indidevice.cpp
-===================================================================
-RCS file: /home/kde/kdeedu/kstars/kstars/indidevice.cpp,v
-retrieving revision 1.32
-diff -u -3 -d -p -r1.32 indidevice.cpp
---- kstars/kstars/indidevice.cpp 11 Jun 2004 10:19:14 -0000 1.32
-+++ kstars/kstars/indidevice.cpp 6 Feb 2005 18:38:32 -0000
-@@ -172,7 +172,7 @@ int INDI_D::setAnyCmd (XMLEle *root, cha
- pp = findProp (valuXMLAtt(ap));
- if (!pp)
- {
-- sprintf (errmsg,"INDI: <%s> device %s has no property named %s",
-+ snprintf (errmsg, ERRMSG_SIZE, "INDI: <%.32s> device %.32s has no property named %.64s",
- tagXMLEle(root), name.ascii(), valuXMLAtt(ap));
- return (-1);
- }
-@@ -197,7 +197,7 @@ int INDI_D::setValue (INDI_P *pp, XMLEle
- pp->drawLt (pp->state);
- else
- {
-- sprintf (errmsg, "INDI: <%s> bogus state %s for %s %s",
-+ snprintf (errmsg, ERRMSG_SIZE, "INDI: <%.64s> bogus state %.64s for %.64s %.64s",
- tagXMLEle(root), valuXMLAtt(ap), name.ascii(), pp->name.ascii());
- return (-1);
- }
-@@ -265,7 +265,7 @@ int INDI_D::setTextValue (INDI_P *pp, XM
-
- if (!lp)
- {
-- sprintf(errmsg, "Error: unable to find element '%s' in property '%s'", elementName.ascii(), pp->name.ascii());
-+ snprintf(errmsg, ERRMSG_SIZE, "Error: unable to find element '%.64s' in property '%.64s'", elementName.ascii(), pp->name.ascii());
- return (-1);
- }
-
-@@ -360,7 +360,7 @@ int INDI_D::setLabelState (INDI_P *pp, X
- /* no name */
- if (!ap)
- {
-- sprintf (errmsg, "INDI: <%s> %s %s %s requires name",
-+ snprintf (errmsg, ERRMSG_SIZE, "INDI: <%.64s> %.64s %.64s %.64s requires name",
- tagXMLEle(root), name.ascii(), pp->name.ascii(), tagXMLEle(ep));
- return (-1);
- }
-@@ -368,7 +368,7 @@ int INDI_D::setLabelState (INDI_P *pp, X
- if ((islight && crackLightState (pcdataXMLEle(ep), &state) < 0)
- || (!islight && crackSwitchState (pcdataXMLEle(ep), &state) < 0))
- {
-- sprintf (errmsg, "INDI: <%s> unknown state %s for %s %s %s",
-+ snprintf (errmsg, ERRMSG_SIZE, "INDI: <%.64s> unknown state %.64s for %.64s %.64s %.64s",
- tagXMLEle(root), pcdataXMLEle(ep), name.ascii(), pp->name.ascii(), tagXMLEle(ep));
- return (-1);
- }
-@@ -379,7 +379,7 @@ int INDI_D::setLabelState (INDI_P *pp, X
-
- if (!lp)
- {
-- sprintf (errmsg,"INDI: <%s> %s %s has no choice named %s",
-+ snprintf (errmsg, ERRMSG_SIZE, "INDI: <%.64s> %.64s %.64s has no choice named %.64s",
- tagXMLEle(root), name.ascii(), pp->name.ascii(), valuXMLAtt(ap));
- return (-1);
- }
-@@ -409,7 +409,7 @@ int INDI_D::setLabelState (INDI_P *pp, X
- {
- if (menuChoice)
- {
-- sprintf(errmsg, "INDI: <%s> %s %s has multiple ON states", tagXMLEle(root), name.ascii(), pp->name.ascii());
-+ snprintf(errmsg, ERRMSG_SIZE, "INDI: <%.64s> %.64s %.64s has multiple ON states", tagXMLEle(root), name.ascii(), pp->name.ascii());
- return (-1);
- }
- menuChoice = 1;
-@@ -470,7 +470,7 @@ INDI_P * INDI_D::addProperty (XMLEle *ro
-
- if (findProp (valuXMLAtt(ap)))
- {
-- sprintf (errmsg, "INDI: <%s %s %s> already exists.\n", tagXMLEle(root),
-+ snprintf (errmsg, ERRMSG_SIZE, "INDI: <%.64s %.64s %.64s> already exists.\n", tagXMLEle(root),
- name.ascii(), valuXMLAtt(ap));
- return NULL;
- }
-@@ -492,7 +492,7 @@ INDI_P * INDI_D::addProperty (XMLEle *ro
-
- if (crackLightState (valuXMLAtt(ap), &pp->state) < 0)
- {
-- sprintf (errmsg, "INDI: <%s> bogus state %s for %s %s",
-+ snprintf (errmsg, ERRMSG_SIZE, "INDI: <%.64s> bogus state %.64s for %.64s %.64s",
- tagXMLEle(root), valuXMLAtt(ap), pp->pg->dp->name.ascii(), pp->name.ascii());
- delete(pp);
- return (NULL);
-@@ -544,7 +544,7 @@ INDI_G * INDI_D::findGroup (QString gro
- return curGroup;
- }
-
-- sprintf (errmsg, "INDI: group %s not found in %s", grouptag.ascii(), name.ascii());
-+ snprintf (errmsg, ERRMSG_SIZE, "INDI: group %.64s not found in %.64s", grouptag.ascii(), name.ascii());
- return NULL;
- }
-
-@@ -559,7 +559,7 @@ INDI_G * INDI_D::findGroup (QString gro
-
- ap = findXMLAtt(root, "perm");
- if (!ap) {
-- sprintf (errmsg, "INDI: <%s %s %s> missing attribute 'perm'",
-+ snprintf (errmsg, ERRMSG_SIZE,"INDI: <%.64s %.64s %.64s> missing attribute 'perm'",
- tagXMLEle(root), pp->pg->dp->name.ascii(), pp->name.ascii());
- return (-1);
- }
-@@ -570,7 +570,7 @@ INDI_G * INDI_D::findGroup (QString gro
- else if (!strcmp(valuXMLAtt(ap), "rw") || !strcmp(valuXMLAtt(ap), "w"))
- *permp = PP_RW;
- else {
-- sprintf (errmsg, "INDI: <%s> unknown perm %s for %s %s",
-+ snprintf (errmsg, ERRMSG_SIZE, "INDI: <%.64s> unknown perm %.64s for %.64s %.64s",
- tagXMLEle(root), valuXMLAtt(ap), pp->pg->dp->name.ascii(), pp->name.ascii());
- return (-1);
- }
-@@ -769,7 +769,7 @@ int INDI_D::buildSwitchesGUI (XMLEle *ro
- return (err);
- }
-
-- sprintf (errmsg, "INDI: <%s> unknown rule %s for %s %s",
-+ snprintf (errmsg, ERRMSG_SIZE, "INDI: <%.64s> unknown rule %.64s for %.64s %.64s",
- tagXMLEle(root), valuXMLAtt(ap), name.ascii(), pp->name.ascii());
-
- delete(pp);
-Index: indidriver.cpp
-===================================================================
-RCS file: /home/kde/kdeedu/kstars/kstars/indidriver.cpp,v
-retrieving revision 1.27
-diff -u -3 -d -p -r1.27 indidriver.cpp
---- kstars/kstars/indidriver.cpp 28 Jun 2004 04:46:46 -0000 1.27
-+++ kstars/kstars/indidriver.cpp 6 Feb 2005 18:38:32 -0000
-@@ -19,6 +19,7 @@
- #include "indihostconf.h"
- #include "devicemanager.h"
- #include "indidevice.h"
-+#include "indi/indicom.h"
-
- #include "kstars.h"
- #include "kstarsdata.h"
-@@ -532,7 +533,7 @@ bool INDIDriver::buildDeviceGroup(XMLEle
-
- if (!ap)
- {
-- sprintf(errmsg, "Tag %s does not have a group attribute", tagXMLEle(root));
-+ snprintf(errmsg, ERRMSG_SIZE, "Tag %.64s does not have a group attribute", tagXMLEle(root));
- return false;
- }
-
-@@ -580,7 +581,7 @@ bool INDIDriver::buildDriverElement(XMLE
- ap = findXMLAtt(root, "label");
- if (!ap)
- {
-- sprintf(errmsg, "Tag %s does not have a label attribute", tagXMLEle(root));
-+ snprintf(errmsg, ERRMSG_SIZE, "Tag %.64s does not have a label attribute", tagXMLEle(root));
- return false;
- }
-
-@@ -590,7 +591,7 @@ bool INDIDriver::buildDriverElement(XMLE
- ap = findXMLAtt(root, "driver");
- if (!ap)
- {
-- sprintf(errmsg, "Tag %s does not have a driver attribute", tagXMLEle(root));
-+ snprintf(errmsg, ERRMSG_SIZE, "Tag %.64s does not have a driver attribute", tagXMLEle(root));
- return false;
- }
-
-@@ -833,7 +834,7 @@ IDevice::IDevice(QString inLabel, QStrin
-
- }
-
--void IDevice::processstd(KProcess */*proc*/, char* buffer, int /*buflen*/)
-+void IDevice::processstd(KProcess* /*proc*/, char* buffer, int /*buflen*/)
- {
- serverBuffer.append(buffer);
- emit newServerInput();
-Index: indielement.cpp
-===================================================================
-RCS file: /home/kde/kdeedu/kstars/kstars/indielement.cpp,v
-retrieving revision 1.4
-diff -u -3 -d -p -r1.4 indielement.cpp
---- kstars/kstars/indielement.cpp 2 Jun 2004 20:47:26 -0000 1.4
-+++ kstars/kstars/indielement.cpp 6 Feb 2005 18:38:32 -0000
-@@ -42,7 +42,7 @@ XMLAtt * findAtt (XMLEle *ep, const char
- if (ap)
- return (ap);
- if (errmsg)
-- sprintf (errmsg, "INDI: <%s> missing attribute '%s'", tagXMLEle(ep),name);
-+ snprintf (errmsg, ERRMSG_SIZE, "INDI: <%.64s> missing attribute '%.64s'", tagXMLEle(ep),name);
- return NULL;
- }
-
-@@ -55,7 +55,7 @@ XMLEle * findEle (XMLEle *ep, INDI_P *pp
- if (cp)
- return (cp);
- if (errmsg)
-- sprintf (errmsg, "INDI: <%s %s %s> missing child '%s'", tagXMLEle(ep),
-+ snprintf (errmsg, ERRMSG_SIZE, "INDI: <%.64s %.64s %.64s> missing child '%.64s'", tagXMLEle(ep),
- pp->pg->dp->name.ascii(), pp->name.ascii(), child);
- return (NULL);
- }
-Index: indiproperty.cpp
-===================================================================
-RCS file: /home/kde/kdeedu/kstars/kstars/indiproperty.cpp,v
-retrieving revision 1.9
-diff -u -3 -d -p -r1.9 indiproperty.cpp
---- kstars/kstars/indiproperty.cpp 28 Jun 2004 04:46:46 -0000 1.9
-+++ kstars/kstars/indiproperty.cpp 6 Feb 2005 18:38:32 -0000
-@@ -521,7 +521,7 @@ int INDI_P::buildMenuGUI(XMLEle *root, c
-
- if (pg->dp->crackSwitchState (pcdataXMLEle(sep), &(lp->state)) < 0)
- {
-- sprintf (errmsg, "INDI: <%s> unknown state %s for %s %s %s",
-+ snprintf (errmsg, ERRMSG_SIZE, "INDI: <%.64s> unknown state %.64s for %.64s %.64s %.64s",
- tagXMLEle(root), valuXMLAtt(ap), name.ascii(), lp->name.ascii(), name.ascii());
- return (-1);
- }
-@@ -532,7 +532,7 @@ int INDI_P::buildMenuGUI(XMLEle *root, c
- {
- if (onItem != -1)
- {
-- sprintf (errmsg,"INDI: <%s> %s %s has multiple On switches",
-+ snprintf (errmsg, ERRMSG_SIZE, "INDI: <%.64s> %.64s %.64s has multiple On switches",
- tagXMLEle(root), name.ascii(), lp->name.ascii());
- return (-1);
- }
-@@ -602,7 +602,7 @@ int INDI_P::buildSwitchesGUI(XMLEle *roo
-
- if (pg->dp->crackSwitchState (pcdataXMLEle(sep), &(lp->state)) < 0)
- {
-- sprintf (errmsg, "INDI: <%s> unknown state %s for %s %s %s",
-+ snprintf (errmsg, ERRMSG_SIZE, "INDI: <%.64s> unknown state %.64s for %.64s %.64s %.64s",
- tagXMLEle(root), valuXMLAtt(ap), name.ascii(), name.ascii(), lp->name.ascii());
- return (-1);
- }
-@@ -700,7 +700,7 @@ int INDI_P::buildLightsGUI(XMLEle *root,
-
- if (pg->dp->crackLightState (pcdataXMLEle(lep), &lp->state) < 0)
- {
-- sprintf (errmsg, "INDI: <%s> unknown state %s for %s %s %s",
-+ snprintf (errmsg, ERRMSG_SIZE, "INDI: <%.64s> unknown state %.64s for %.64s %.64s %.64s",
- tagXMLEle(root), valuXMLAtt(ap), pg->dp->name.ascii(), name.ascii(), sname.ascii());
- return (-1);
- }
-Index: indi/Makefile.am
-===================================================================
-RCS file: /home/kde/kdeedu/kstars/kstars/indi/Makefile.am,v
-retrieving revision 1.24
-diff -u -3 -d -p -r1.24 Makefile.am
---- kstars/kstars/indi/Makefile.am 28 Jun 2004 04:46:46 -0000 1.24
-+++ kstars/kstars/indi/Makefile.am 6 Feb 2005 18:38:34 -0000
-@@ -40,7 +40,6 @@ install-exec-hook:
- $(LN_S) lx200generic $(DESTDIR)$(bindir)/lx200_16
- rm -f $(DESTDIR)$(bindir)/lx200gps
- $(LN_S) lx200generic $(DESTDIR)$(bindir)/lx200gps
-- chmod +s $(DESTDIR)$(bindir)/fliccd
-
- uninstall-local:
- rm $(DESTDIR)$(bindir)/lx200autostar $(DESTDIR)$(bindir)/lx200_16 $(DESTDIR)$(bindir)/lx200gps
-Index: indi/fitsrw.c
-===================================================================
-RCS file: /home/kde/kdeedu/kstars/kstars/indi/fitsrw.c,v
-retrieving revision 1.5
-diff -u -3 -d -p -r1.5 fitsrw.c
---- kstars/kstars/indi/fitsrw.c 27 May 2004 16:14:52 -0000 1.5
-+++ kstars/kstars/indi/fitsrw.c 6 Feb 2005 18:38:35 -0000
-@@ -155,31 +155,31 @@ int fits_ieee64_motorola = 0;
-
- #define FITS_WRITE_BOOLCARD(fp,key,value) \
- {char card[81]; \
-- sprintf (card, "%-8.8s= %20s%50s", key, value ? "T" : "F", " "); \
-+ snprintf (card, sizeof( card ), "%-8.8s= %20s%50s", key, value ? "T" : "F", " "); \
- fwrite (card, 1, 80, fp); }
-
- #define FITS_WRITE_LONGCARD(fp,key,value) \
- {char card[81]; \
-- sprintf (card, "%-8.8s= %20ld%50s", key, (long)value, " "); \
-+ snprintf (card, sizeof( card ), "%-8.8s= %20ld%50s", key, (long)value, " "); \
- fwrite (card, 1, 80, fp); }
-
- #define FITS_WRITE_DOUBLECARD(fp,key,value) \
- {char card[81], dbl[21], *istr; \
-- sprintf (dbl, "%20f", (double)value); istr = strstr (dbl, "e"); \
-+ snprintf (dbl, sizeof( dbl ), "%20f", (double)value); istr = strstr (dbl, "e"); \
- if (istr) *istr = 'E'; \
-- sprintf (card, "%-8.8s= %20.20s%50s", key, dbl, " "); \
-+ snprintf (card, sizeof( card ), "%-8.8s= %20.20s%50s", key, dbl, " "); \
- fwrite (card, 1, 80, fp); }
-
- #define FITS_WRITE_STRINGCARD(fp,key,value) \
- {char card[81]; int k;\
-- sprintf (card, "%-8.8s= \'%s", key, value); \
-+ snprintf (card, sizeof( card ), "%-8.8s= \'%s", key, value); \
- for (k = strlen (card); k < 81; k++) card[k] = ' '; \
- k = strlen (key); if (k < 8) card[19] = '\''; else card[11+k] = '\''; \
- fwrite (card, 1, 80, fp); }
-
- #define FITS_WRITE_CARD(fp,value) \
- {char card[81]; \
-- sprintf (card, "%-80.80s", value); \
-+ snprintf (card, sizeof( card ), "%-80.80s", value); \
- fwrite (card, 1, 80, fp); }
-
-
-@@ -474,7 +474,8 @@ static void fits_drop_error (void)
- /* #END-PAR */
- /*****************************************************************************/
-
--FITS_FILE *fits_open (const char *filename, const char *openmode)
-+
-+FITS_FILE *fits_open (const char* filename, const char *openmode)
-
- {int reading, writing, n_rec, n_hdr;
- long fpos_header, fpos_data;
-@@ -483,8 +484,10 @@ FITS_FILE *fits_open (const char *filena
- FITS_RECORD_LIST *hdrlist;
- FITS_HDU_LIST *hdulist, *last_hdulist;
-
-- /* initialize */
-+ if ((filename == NULL) || (*filename == '\0') || (openmode == NULL))
-+ FITS_RETURN ("fits_open: Invalid parameters", NULL);
-
-+ /* initialize */
- hdulist = NULL;
- last_hdulist = NULL;
-
-@@ -506,9 +509,6 @@ FITS_FILE *fits_open (const char *filena
- }
- }
-
-- if ((filename == NULL) || (*filename == '\0') || (openmode == NULL))
-- FITS_RETURN ("fits_open: Invalid parameters", NULL);
--
- reading = (strcmp (openmode, "r") == 0);
- writing = (strcmp (openmode, "w") == 0);
- if ((!reading) && (!writing))
-@@ -858,7 +858,7 @@ int fits_write_header (FITS_FILE *ff, FI
-
- for (r = 0; r < hdulist->naxis; r++)
- {char naxisn[10];
-- sprintf (naxisn, "NAXIS%d", r+1);
-+ snprintf (naxisn, sizeof( naxisn ), "NAXIS%d", r+1);
- FITS_WRITE_LONGCARD (ff->fp, naxisn, hdulist->naxisn[r]);
- numcards++;
- }
-@@ -1025,7 +1025,7 @@ static FITS_HDU_LIST *fits_decode_header
- for (k = 1; k <= FITS_MAX_AXIS; k++)
- {char naxisn[9];
-
-- sprintf (naxisn, "NAXIS%-3d", k);
-+ snprintf (naxisn, sizeof( naxisn ), "NAXIS%-3d", k);
- fdat = fits_decode_card (fits_search_card (hdr, naxisn), typ_flong);
- if (fdat == NULL)
- {
-@@ -1121,7 +1121,7 @@ static FITS_HDU_LIST *fits_decode_header
- }
- else
- {char msg[160];
-- sprintf (msg, "fits_decode_header: IEEE floating point format required for\
-+ snprintf (msg, sizeof( msg ), "fits_decode_header: IEEE floating point format required for\
- BITPIX=%d\nis not supported on this machine", hdulist->bitpix);
- fits_set_error (msg);
- }
-@@ -1130,7 +1130,7 @@ static FITS_HDU_LIST *fits_decode_header
- return (hdulist);
-
- err_missing:
-- sprintf (errmsg, "fits_decode_header: missing/invalid %s card", key);
-+ snprintf (errmsg, sizeof(errmsg), "fits_decode_header: missing/invalid %.50s card", key);
-
- err_return:
- fits_delete_hdulist (hdulist);
-@@ -1429,7 +1429,7 @@ FITS_DATA *fits_decode_card (const char
-
- if (strncmp (card+8, "= ", 2) != 0)
- {
-- sprintf (msg, "fits_decode_card (warning): Missing value indicator\
-+ snprintf (msg, sizeof( msg ), "fits_decode_card (warning): Missing value indicator\
- '= ' for %8.8s", l_card);
- fits_set_error (msg);
- }
-Index: indi/fli_ccd.c
-===================================================================
-RCS file: /home/kde/kdeedu/kstars/kstars/indi/fli_ccd.c,v
-retrieving revision 1.12.2.1
-diff -u -3 -d -p -r1.12.2.1 fli_ccd.c
---- kstars/kstars/indi/fli_ccd.c 31 Aug 2004 05:56:45 -0000 1.12.2.1
-+++ kstars/kstars/indi/fli_ccd.c 6 Feb 2005 18:38:36 -0000
-@@ -51,9 +51,9 @@ void getBasicData(void);
- void initDataChannel(void);
- void waitForData(int rp, int wp);
- void updateDataChannel(void *p);
--void uploadFile(char * filename);
-+void uploadFile(const char* filename);
- int findPort(void);
--int writeFITS(char *filename, char errmsg[]);
-+int writeFITS(const char* filename, char errmsg[]);
- int findcam(flidomain_t domain);
- int setImageArea(char errmsg[]);
- int manageDefaults(char errmsg[]);
-@@ -419,7 +419,7 @@ void ISNewNumber (const char *dev, const
- long err;
- int i;
- INumber *np;
-- char errmsg[1024];
-+ char errmsg[ERRMSG_SIZE];
-
- /* ignore if not ours */
- if (dev && strcmp (dev, mydev))
-@@ -556,14 +556,14 @@ void ISNewNumber (const char *dev, const
-
- if (nset < 4)
- {
-- IDSetNumber(&FrameNP, "Invalid range. Valid range is (0,0) - (%0.f,%0.f)", FLICam->width, FLICam->height);
-- IDLog("Invalid range. Valid range is (0,0) - (%0.f,%0.f)", FLICam->width, FLICam->height);
-+ IDSetNumber(&FrameNP, "Invalid range. Valid range is (0,0) - (%0d,%0d)", FLICam->width, FLICam->height);
-+ IDLog("Invalid range. Valid range is (0,0) - (%0d,%0d)", FLICam->width, FLICam->height);
- return;
- }
-
- if (setImageArea(errmsg))
- {
-- IDSetNumber(&FrameNP, errmsg);
-+ IDSetNumber(&FrameNP, "%s", errmsg);
- return;
- }
-
-@@ -600,8 +600,8 @@ void ISNewNumber (const char *dev, const
- {
- if (values[i] < 1 || values[i] > MAX_X_BIN)
- {
-- IDSetNumber(&BinningNP, "Error: Valid X bin values are from 1 to %d", MAX_X_BIN);
-- IDLog("Error: Valid X bin values are from 1 to %d", MAX_X_BIN);
-+ IDSetNumber(&BinningNP, "Error: Valid X bin values are from 1 to %g", MAX_X_BIN);
-+ IDLog("Error: Valid X bin values are from 1 to %g", MAX_X_BIN);
- return;
- }
-
-@@ -618,8 +618,8 @@ void ISNewNumber (const char *dev, const
- {
- if (values[i] < 1 || values[i] > MAX_Y_BIN)
- {
-- IDSetNumber(&BinningNP, "Error: Valid Y bin values are from 1 to %d", MAX_Y_BIN);
-- IDLog("Error: Valid X bin values are from 1 to %d", MAX_Y_BIN);
-+ IDSetNumber(&BinningNP, "Error: Valid Y bin values are from 1 to %g", MAX_Y_BIN);
-+ IDLog("Error: Valid X bin values are from 1 to %g", MAX_Y_BIN);
- return;
- }
-
-@@ -637,7 +637,7 @@ void ISNewNumber (const char *dev, const
- if (setImageArea(errmsg))
- {
- IDSetNumber(&BinningNP, errmsg, NULL);
-- IDLog(errmsg);
-+ IDLog("%s", errmsg);
- return;
- }
-
-@@ -817,8 +817,8 @@ int setImageArea(char errmsg[])
-
- if ( (err = FLISetImageArea(fli_dev, x_1, y_1, x_2, y_2) ))
- {
-- sprintf(errmsg, "FLISetImageArea() failed. %s.\n", strerror((int)-err));
-- IDLog(errmsg, NULL);
-+ snprintf(errmsg, ERRMSG_SIZE, "FLISetImageArea() failed. %s.\n", strerror((int)-err));
-+ IDLog("%s", errmsg);
- return -1;
- }
-
-@@ -832,13 +832,13 @@ int grabImage()
- {
- long err;
- int img_size,i, fd;
-- char errmsg[1024];
-+ char errmsg[ERRMSG_SIZE];
- char filename[] = "/tmp/fitsXXXXXX";
-
- if ((fd = mkstemp(filename)) < 0)
- {
-- IDMessage(mydev, "Error making temporary filename.", NULL);
-- IDLog("Error making temporary filename.\n", NULL);
-+ IDMessage(mydev, "Error making temporary filename.");
-+ IDLog("Error making temporary filename.\n");
- return -1;
- }
- close(fd);
-@@ -849,8 +849,8 @@ int grabImage()
-
- if (FLIImg->img == NULL)
- {
-- IDMessage(mydev, "Not enough memory to store image.", NULL);
-- IDLog("Not enough memory to store image.\n", NULL);
-+ IDMessage(mydev, "Not enough memory to store image.");
-+ IDLog("Not enough memory to store image.\n");
- return -1;
- }
-
-@@ -880,7 +880,7 @@ int grabImage()
-
- }
-
--int writeFITS(char *filename, char errmsg[])
-+int writeFITS(const char* filename, char errmsg[])
- {
- FITS_FILE* ofp;
- int i, j, bpp, bpsl, width, height;
-@@ -890,7 +890,7 @@ int writeFITS(char *filename, char errms
- ofp = fits_open (filename, "w");
- if (!ofp)
- {
-- sprintf(errmsg, "Error: cannot open file for writing.");
-+ snprintf(errmsg, ERRMSG_SIZE, "Error: cannot open file for writing.");
- return (-1);
- }
-
-@@ -903,12 +903,12 @@ int writeFITS(char *filename, char errms
- hdu = create_fits_header (ofp, width, height, bpp);
- if (hdu == NULL)
- {
-- sprintf(errmsg, "Error: creating FITS header failed.");
-+ snprintf(errmsg, ERRMSG_SIZE, "Error: creating FITS header failed.");
- return (-1);
- }
- if (fits_write_header (ofp, hdu) < 0)
- {
-- sprintf(errmsg, "Error: writing to FITS header failed.");
-+ snprintf(errmsg, ERRMSG_SIZE, "Error: writing to FITS header failed.");
- return (-1);
- }
-
-@@ -932,7 +932,7 @@ int writeFITS(char *filename, char errms
-
- if (ferror (ofp->fp))
- {
-- sprintf(errmsg, "Error: write error occured");
-+ snprintf(errmsg, ERRMSG_SIZE, "Error: write error occured");
- return (-1);
- }
-
-@@ -951,7 +951,7 @@ int writeFITS(char *filename, char errms
-
- }
-
--void uploadFile(char * filename)
-+void uploadFile(const char* filename)
- {
- FILE * fitsFile;
- char frameSize[FRAME_ILEN];
-@@ -962,7 +962,7 @@ void uploadFile(char * filename)
-
- if ( -1 == stat (filename, &stat_p))
- {
-- IDLog(" Error occoured attempting to stat %s\n", filename);
-+ IDLog(" Error occoured attempting to stat file.\n");
- return;
- }
-
-@@ -1185,7 +1185,7 @@ int manageDefaults(char errmsg[])
- IDLog("Setting default exposure time of %d ms.\n", exposeTimeMS);
- if ( (err = FLISetExposureTime(fli_dev, exposeTimeMS) ))
- {
-- sprintf(errmsg, "FLISetExposureTime() failed. %s.\n", strerror((int)-err));
-+ snprintf(errmsg, ERRMSG_SIZE, "FLISetExposureTime() failed. %s.\n", strerror((int)-err));
- IDLog(errmsg, NULL);
- return -1;
- }
-@@ -1193,7 +1193,7 @@ int manageDefaults(char errmsg[])
- /* Default frame type is NORMAL */
- if ( (err = FLISetFrameType(fli_dev, FLI_FRAME_TYPE_NORMAL) ))
- {
-- sprintf(errmsg, "FLISetFrameType() failed. %s.\n", strerror((int)-err));
-+ snprintf(errmsg, ERRMSG_SIZE, "FLISetFrameType() failed. %s.\n", strerror((int)-err));
- IDLog(errmsg, NULL);
- return -1;
- }
-@@ -1201,7 +1201,7 @@ int manageDefaults(char errmsg[])
- /* X horizontal binning */
- if ( (err = FLISetHBin(fli_dev, BinningN[0].value) ))
- {
-- sprintf(errmsg, "FLISetBin() failed. %s.\n", strerror((int)-err));
-+ snprintf(errmsg, ERRMSG_SIZE, "FLISetBin() failed. %s.\n", strerror((int)-err));
- IDLog(errmsg, NULL);
- return -1;
- }
-@@ -1209,7 +1209,7 @@ int manageDefaults(char errmsg[])
- /* Y vertical binning */
- if ( (err = FLISetVBin(fli_dev, BinningN[1].value) ))
- {
-- sprintf(errmsg, "FLISetVBin() failed. %s.\n", strerror((int)-err));
-+ snprintf(errmsg, ERRMSG_SIZE, "FLISetVBin() failed. %s.\n", strerror((int)-err));
- IDLog(errmsg, NULL);
- return -1;
- }
-@@ -1293,7 +1293,7 @@ int checkPowerT(ITextVectorProperty *tp)
- void connectCCD()
- {
- long err;
-- char errmsg[1024];
-+ char errmsg[ERRMSG_SIZE];
-
- IDLog ("In ConnectCCD\n");
-
-@@ -1332,7 +1332,7 @@ void connectCCD()
- if (manageDefaults(errmsg))
- {
- IDMessage(mydev, errmsg, NULL);
-- IDLog(errmsg);
-+ IDLog("%s", errmsg);
- return;
- }
-
-@@ -1495,7 +1495,7 @@ FITS_HDU_LIST * create_fits_header (FITS
- fits_add_card (hdulist, temp_s);
- fits_add_card (hdulist, expose_s);
- fits_add_card (hdulist, pixel_s);
-- fits_add_card (hdulist, "INSTRUME= 'Finger Lakes Instruments'");
-+ fits_add_card (hdulist, ( char* ) "INSTRUME= 'Finger Lakes Instruments'");
- fits_add_card (hdulist, obsDate);
-
- return (hdulist);
-@@ -1632,7 +1632,7 @@ int findPort()
- /* bind to given port for any IP address */
- memset (&serv_socket, 0, sizeof(serv_socket));
- serv_socket.sin_family = AF_INET;
-- serv_socket.sin_addr.s_addr = htonl (INADDR_ANY);
-+ serv_socket.sin_addr.s_addr = htonl (INADDR_LOOPBACK);
-
- for (i=0; i < 100; i++)
- {
-@@ -1675,7 +1675,7 @@ void waitForData(int rp, int wp)
- /* bind to given port for any IP address */
- memset (&serv_socket, 0, sizeof(serv_socket));
- serv_socket.sin_family = AF_INET;
-- serv_socket.sin_addr.s_addr = htonl (INADDR_ANY);
-+ serv_socket.sin_addr.s_addr = htonl (INADDR_LOOPBACK);
-
- serv_socket.sin_port = htons ((unsigned short)DataPort);
- if (setsockopt(sfd,SOL_SOCKET,SO_REUSEADDR,&reuse,sizeof(reuse)) < 0){
-Index: indi/indicom.h
-===================================================================
-RCS file: /home/kde/kdeedu/kstars/kstars/indi/indicom.h,v
-retrieving revision 1.8
-diff -u -3 -d -p -r1.8 indicom.h
---- kstars/kstars/indi/indicom.h 7 Jun 2004 05:59:20 -0000 1.8
-+++ kstars/kstars/indi/indicom.h 6 Feb 2005 18:38:36 -0000
-@@ -38,6 +38,7 @@
-
- #define J2000 2451545.0
- #define TRACKING_THRESHOLD 0.05 /* 3' for tracking */
-+#define ERRMSG_SIZE 1024
-
- extern const char * Direction[];
- extern const char * SolarSystem[];
-Index: indi/indidevapi.h
-===================================================================
-RCS file: /home/kde/kdeedu/kstars/kstars/indi/indidevapi.h,v
-retrieving revision 1.5
-diff -u -3 -d -p -r1.5 indidevapi.h
---- kstars/kstars/indi/indidevapi.h 7 Jun 2004 05:59:20 -0000 1.5
-+++ kstars/kstars/indi/indidevapi.h 6 Feb 2005 18:38:36 -0000
-@@ -66,25 +66,41 @@ extern "C" {
- \param t pointer to the vector text property to be defined.
- \param msg message in printf style to send to the client. May be NULL.
- */
--extern void IDDefText (const ITextVectorProperty *t, const char *msg, ...);
-+extern void IDDefText (const ITextVectorProperty *t, const char *msg, ...)
-+#ifdef __GNUC__
-+ __attribute__ ( ( format( printf, 2, 3 ) ) )
-+#endif
-+;
-
- /** \brief Tell client to create a number number property.
- \param n pointer to the vector number property to be defined.
- \param msg message in printf style to send to the client. May be NULL.
- */
--extern void IDDefNumber (const INumberVectorProperty *n, const char *msg, ...);
-+extern void IDDefNumber (const INumberVectorProperty *n, const char *msg, ...)
-+#ifdef __GNUC__
-+ __attribute__ ( ( format( printf, 2, 3 ) ) )
-+#endif
-+;
-
- /** \brief Tell client to create a switch vector property.
- \param s pointer to the vector switch property to be defined.
- \param msg message in printf style to send to the client. May be NULL.
- */
--extern void IDDefSwitch (const ISwitchVectorProperty *s, const char *msg, ...);
-+extern void IDDefSwitch (const ISwitchVectorProperty *s, const char *msg, ...)
-+#ifdef __GNUC__
-+ __attribute__ ( ( format( printf, 2, 3 ) ) )
-+#endif
-+;
-
- /** \brief Tell client to create a light vector property.
- \param l pointer to the vector light property to be defined.
- \param msg message in printf style to send to the client. May be NULL.
- */
--extern void IDDefLight (const ILightVectorProperty *l, const char *msg, ...);
-+extern void IDDefLight (const ILightVectorProperty *l, const char *msg, ...)
-+#ifdef __GNUC__
-+ __attribute__ ( ( format( printf, 2, 3 ) ) )
-+#endif
-+;
-
- /*@}*/
-
-@@ -97,25 +113,41 @@ extern void IDDefLight (const ILightVect
- \param t pointer to the vector text property.
- \param msg message in printf style to send to the client. May be NULL.
- */
--extern void IDSetText (const ITextVectorProperty *t, const char *msg, ...);
-+extern void IDSetText (const ITextVectorProperty *t, const char *msg, ...)
-+#ifdef __GNUC__
-+ __attribute__ ( ( format( printf, 2, 3 ) ) )
-+#endif
-+;
-
- /** \brief Tell client to update an existing number vector property.
- \param n pointer to the vector number property.
- \param msg message in printf style to send to the client. May be NULL.
- */
--extern void IDSetNumber (const INumberVectorProperty *n, const char *msg, ...);
-+extern void IDSetNumber (const INumberVectorProperty *n, const char *msg, ...)
-+#ifdef __GNUC__
-+ __attribute__ ( ( format( printf, 2, 3 ) ) )
-+#endif
-+;
-
- /** \brief Tell client to update an existing switch vector property.
- \param s pointer to the vector switch property.
- \param msg message in printf style to send to the client. May be NULL.
- */
--extern void IDSetSwitch (const ISwitchVectorProperty *s, const char *msg, ...);
-+extern void IDSetSwitch (const ISwitchVectorProperty *s, const char *msg, ...)
-+#ifdef __GNUC__
-+ __attribute__ ( ( format( printf, 2, 3 ) ) )
-+#endif
-+;
-
- /** \brief Tell client to update an existing light vector property.
- \param l pointer to the vector light property.
- \param msg message in printf style to send to the client. May be NULL.
- */
--extern void IDSetLight (const ILightVectorProperty *l, const char *msg, ...);
-+extern void IDSetLight (const ILightVectorProperty *l, const char *msg, ...)
-+#ifdef __GNUC__
-+ __attribute__ ( ( format( printf, 2, 3 ) ) )
-+#endif
-+;
-
- /*@}*/
-
-@@ -127,7 +159,11 @@ extern void IDSetLight (const ILightVect
- \param dev device name
- \param msg message in printf style to send to the client.
- */
--extern void IDMessage (const char *dev, const char *msg, ...);
-+extern void IDMessage (const char *dev, const char *msg, ...)
-+#ifdef __GNUC__
-+ __attribute__ ( ( format( printf, 2, 3 ) ) )
-+#endif
-+;
-
- /** \brief Function Drivers call to inform Clients a Property is no longer available, or the entire device is gone if name is NULL.
-
-@@ -135,7 +171,11 @@ extern void IDMessage (const char *dev,
- \param name property name to be deleted.
- \param msg message in printf style to send to the client.
- */
--extern void IDDelete (const char *dev, const char *name, const char *msg, ...);
-+extern void IDDelete (const char *dev, const char *name, const char *msg, ...)
-+#ifdef __GNUC__
-+ __attribute__ ( ( format( printf, 3, 4 ) ) )
-+#endif
-+;
-
- /** \brief Function Drivers call to log a message locally.
-
-@@ -143,7 +183,11 @@ extern void IDDelete (const char *dev, c
-
- \param msg message in printf style to send to the client.
- */
--extern void IDLog (const char *msg, ...);
-+extern void IDLog (const char *msg, ...)
-+#ifdef __GNUC__
-+ __attribute__ ( ( format( printf, 1, 2 ) ) )
-+#endif
-+;
-
- /**
- * \defgroup deventFunctions Functions Drivers call to register with the INDI event utilities.
-@@ -348,5 +392,5 @@ extern void ISNewSwitch (const char *dev
- #endif
-
- /* For RCS Only -- Do Not Edit
-- * @(#) $RCSfile: indidevapi.h,v $ $Date: 2004/06/07 05:59:20 $ $Revision: 1.5 $ $Name: $
-+ * @(#) $RCSfile: indidevapi.h,v $ $Date: 2004/06/07 05:59:20 $ $Revision: 1.5 $ $Name: KDE_3_3_BRANCH $
- */
-Index: indi/indidrivermain.c
-===================================================================
-RCS file: /home/kde/kdeedu/kstars/kstars/indi/indidrivermain.c,v
-retrieving revision 1.8
-diff -u -3 -d -p -r1.8 indidrivermain.c
---- kstars/kstars/indi/indidrivermain.c 27 May 2004 16:14:52 -0000 1.8
-+++ kstars/kstars/indi/indidrivermain.c 6 Feb 2005 18:38:36 -0000
-@@ -45,8 +45,8 @@
-
- static void usage(void);
- static void clientMsgCB(int fd, void *arg);
--static int dispatch (XMLEle *root, char msg[]);
--static int crackDN (XMLEle *root, char **dev, char **name, char msg[]);
-+static int dispatch (XMLEle *root, char errmsg[]);
-+static int crackDN (XMLEle *root, char **dev, char **name, char errmsg[]);
- const char *pstateStr(IPState s);
- const char *sstateStr(ISState s);
- const char *ruleStr(ISRule r);
-@@ -60,6 +60,9 @@ static LilXML *clixml; /* XML parser c
- int
- main (int ac, char *av[])
- {
-+ setgid( getgid() );
-+ setuid( getuid() );
-+
- /* save handy pointer to our base name */
- for (me = av[0]; av[0][0]; av[0]++)
- if (av[0][0] == '/')
-@@ -177,6 +180,7 @@ IDDefNumber (const INumberVectorProperty
- /* tell client to create a new switch vector property */
- void
- IDDefSwitch (const ISwitchVectorProperty *s, const char *fmt, ...)
-+
- {
- int i;
-
-@@ -637,12 +641,12 @@ usage(void)
- static void
- clientMsgCB (int fd, void *arg)
- {
-- char buf[1024], msg[1024], *bp;
-+ char buf[1024], errmsg[ERRMSG_SIZE], *bp;
- int nr;
- arg=arg;
-
- /* one read */
-- nr = read (fd, buf, sizeof(buf));
-+ nr = read (fd, buf, sizeof(buf)-1);
- if (nr < 0) {
- fprintf (stderr, "%s: %s\n", me, strerror(errno));
- exit(1);
-@@ -651,26 +655,27 @@ clientMsgCB (int fd, void *arg)
- fprintf (stderr, "%s: EOF\n", me);
- exit(1);
- }
-+ buf[ sizeof( buf )-1 ] = '\0';
-
- /* crack and dispatch when complete */
- for (bp = buf; nr-- > 0; bp++) {
-- XMLEle *root = readXMLEle (clixml, *bp, msg);
-+ XMLEle *root = readXMLEle (clixml, *bp, errmsg);
- if (root) {
-- if (dispatch (root, msg) < 0)
-- fprintf (stderr, "%s dispatch error: %s\n", me, msg);
-+ if (dispatch (root, errmsg) < 0)
-+ fprintf (stderr, "%s dispatch error: %s\n", me, errmsg);
- delXMLEle (root);
-- } else if (msg[0])
-- fprintf (stderr, "%s XML error: %s\n", me, msg);
-+ } else if (errmsg[0])
-+ fprintf (stderr, "%s XML error: %s\n", me, errmsg);
- }
- }
-
- /* crack the given INDI XML element and call driver's IS* entry points as they
- * are recognized.
-- * return 0 if ok else -1 with reason in msg[].
-+ * return 0 if ok else -1 with reason in errmsg[].
- * N.B. exit if getProperties does not proclaim a compatible version.
- */
- static int
--dispatch (XMLEle *root, char msg[])
-+dispatch (XMLEle *root, char errmsg[])
- {
- XMLEle *ep;
- int n;
-@@ -687,7 +692,7 @@ dispatch (XMLEle *root, char msg[])
- char *dev, *name;
-
- /* pull out device and name */
-- if (crackDN (root, &dev, &name, msg) < 0)
-+ if (crackDN (root, &dev, &name, errmsg) < 0)
- return (-1);
-
- /* pull out each name/value pair */
-@@ -729,7 +734,7 @@ printf ("%s\n", valuXMLAtt(na));
- /*XMLEle *ep;*/
-
- /* pull out device and name */
-- if (crackDN (root, &dev, &name, msg) < 0)
-+ if (crackDN (root, &dev, &name, errmsg) < 0)
- return (-1);
-
- /* pull out each name/state pair */
-@@ -775,7 +780,7 @@ printf ("%s\n", valuXMLAtt(na));
- char *dev, *name;
-
- /* pull out device and name */
-- if (crackDN (root, &dev, &name, msg) < 0)
-+ if (crackDN (root, &dev, &name, errmsg) < 0)
- return (-1);
-
- /* pull out each name/text pair */
-@@ -828,28 +833,28 @@ printf ("%s\n", valuXMLAtt(na));
- return (0);
- }
-
-- sprintf (msg, "Unknown command: %s", tagXMLEle(root));
-+ snprintf (errmsg, ERRMSG_SIZE, "Unknown command: %s", tagXMLEle(root));
- return(1);
- }
-
- /* pull out device and name attributes from root.
-- * return 0 if ok else -1 with reason in msg[].
-+ * return 0 if ok else -1 with reason in errmsg[].
- */
- static int
--crackDN (XMLEle *root, char **dev, char **name, char msg[])
-+crackDN (XMLEle *root, char **dev, char **name, char errmsg[])
- {
- XMLAtt *ap;
-
- ap = findXMLAtt (root, "device");
- if (!ap) {
-- sprintf (msg, "%s requires 'device' attribute", tagXMLEle(root));
-+ snprintf (errmsg, ERRMSG_SIZE, "%s requires 'device' attribute", tagXMLEle(root));
- return (-1);
- }
- *dev = valuXMLAtt(ap);
-
- ap = findXMLAtt (root, "name");
- if (!ap) {
-- sprintf (msg, "%s requires 'name' attribute", tagXMLEle(root));
-+ snprintf (errmsg, ERRMSG_SIZE, "%s requires 'name' attribute", tagXMLEle(root));
- return (-1);
- }
- *name = valuXMLAtt(ap);
-Index: indi/indiserver.c
-===================================================================
-RCS file: /home/kde/kdeedu/kstars/kstars/indi/indiserver.c,v
-retrieving revision 1.6
-diff -u -3 -d -p -r1.6 indiserver.c
---- kstars/kstars/indi/indiserver.c 7 Jun 2004 05:59:20 -0000 1.6
-+++ kstars/kstars/indi/indiserver.c 6 Feb 2005 18:38:37 -0000
-@@ -288,10 +288,10 @@ indiListen ()
- exit(1);
- }
-
-- /* bind to given port for any IP address */
-+ /* bind to given port for local IP address */
- memset (&serv_socket, 0, sizeof(serv_socket));
- serv_socket.sin_family = AF_INET;
-- serv_socket.sin_addr.s_addr = htonl (INADDR_ANY);
-+ serv_socket.sin_addr.s_addr = htonl (INADDR_LOOPBACK);
- serv_socket.sin_port = htons ((unsigned short)port);
- if (setsockopt(sfd,SOL_SOCKET,SO_REUSEADDR,&reuse,sizeof(reuse)) < 0){
- fprintf (stderr, "%s: setsockopt: %s", me, strerror(errno));
-@@ -423,7 +423,7 @@ clientMsg (int cli)
- int i, nr;
-
- /* read client */
-- nr = read (cp->s, buf, sizeof(buf));
-+ nr = read (cp->s, buf, sizeof(buf)-1);
- if (nr < 0) {
- fprintf (stderr, "Client %d: %s\n", cp->s, strerror(errno));
- closeClient (cli);
-@@ -435,6 +435,7 @@ clientMsg (int cli)
- closeClient (cli);
- return;
- }
-+ buf[ sizeof( buf )-1 ] = '\0';
- if (verbose > 1)
- fprintf (stderr, "Client %d: rcv from:\n%.*s", cp->s, nr, buf);
-
-@@ -464,7 +465,7 @@ driverMsg (int i)
- int nr;
-
- /* read driver */
-- nr = read (dp->rfd, buf, sizeof(buf));
-+ nr = read (dp->rfd, buf, sizeof(buf)-1);
- if (nr < 0) {
- fprintf (stderr, "Driver %s: %s\n", dp->name, strerror(errno));
- restartDvr (i);
-@@ -475,6 +476,7 @@ driverMsg (int i)
- restartDvr (i);
- return;
- }
-+ buf[ sizeof( buf )-1 ]='\0';
- if (verbose > 1)
- fprintf (stderr, "Driver %s: rcv from:\n%.*s", dp->name, nr, buf);
-
-@@ -591,4 +593,4 @@ newClSocket ()
- }
-
- /* For RCS Only -- Do Not Edit */
--static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: indiserver.c,v $ $Date: 2004/06/07 05:59:20 $ $Revision: 1.6 $ $Name: $"};
-+static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: indiserver.c,v $ $Date: 2004/06/07 05:59:20 $ $Revision: 1.6 $ $Name: KDE_3_3_BRANCH $"};
-Index: indi/lilxml.c
-===================================================================
-RCS file: /home/kde/kdeedu/kstars/kstars/indi/lilxml.c,v
-retrieving revision 1.6
-diff -u -3 -d -p -r1.6 lilxml.c
---- kstars/kstars/indi/lilxml.c 7 Jun 2004 05:59:20 -0000 1.6
-+++ kstars/kstars/indi/lilxml.c 6 Feb 2005 18:38:37 -0000
-@@ -32,6 +32,7 @@
- #include <ctype.h>
-
- #include "lilxml.h"
-+#include "indicom.h"
-
- static int oneXMLchar (LilXML *lp, int c, char errmsg[]);
- static void initParser(LilXML *lp);
-@@ -156,7 +157,7 @@ readXMLEle (LilXML *lp, int newc, char e
-
- /* EOF? */
- if (newc == 0) {
-- sprintf (errmsg, "Line %d: XML EOF", lp->ln);
-+ snprintf (errmsg, ERRMSG_SIZE, "Line %d: XML EOF", lp->ln);
- initParser(lp);
- return (NULL);
- }
-@@ -344,7 +345,7 @@ nXMLAtt (XMLEle *ep)
- /* search ep for an attribute with the given name and return its value.
- * return "" if not found.
- */
--char *
-+const char *
- findXMLAttValu (XMLEle *ep, char *name)
- {
- XMLAtt *a = findXMLAtt (ep, name);
-@@ -428,7 +429,7 @@ oneXMLchar (LilXML *lp, int c, char errm
- growString (&lp->ce->tag, c);
- lp->cs = INTAG;
- } else if (!isspace(c)) {
-- sprintf (errmsg, "Line %d: Bogus tag char %c", lp->ln, c);
-+ snprintf (errmsg, ERRMSG_SIZE, "Line %d: Bogus tag char %c", lp->ln, c);
- return (-1);
- }
- break;
-@@ -454,7 +455,7 @@ oneXMLchar (LilXML *lp, int c, char errm
- growString (&lp->ce->at[lp->ce->nat-1]->name, c);
- lp->cs = INATTRN;
- } else if (!isspace(c)) {
-- sprintf (errmsg, "Line %d: Bogus leading attr name char: %c",
-+ snprintf (errmsg, ERRMSG_SIZE, "Line %d: Bogus leading attr name char: %c",
- lp->ln, c);
- return (-1);
- }
-@@ -467,7 +468,7 @@ oneXMLchar (LilXML *lp, int c, char errm
- popXMLEle(lp);
- lp->cs = LOOK4CON;
- } else {
-- sprintf (errmsg, "Line %d: Bogus char %c before >", lp->ln, c);
-+ snprintf (errmsg, ERRMSG_SIZE, "Line %d: Bogus char %c before >", lp->ln, c);
- return (-1);
- }
- break;
-@@ -478,7 +479,7 @@ oneXMLchar (LilXML *lp, int c, char errm
- else if (isspace(c) || c == '=')
- lp->cs = LOOK4ATTRV;
- else {
-- sprintf (errmsg, "Line %d: Bogus attr name char: %c", lp->ln,c);
-+ snprintf (errmsg, ERRMSG_SIZE, "Line %d: Bogus attr name char: %c", lp->ln,c);
- return (-1);
- }
- break;
-@@ -489,7 +490,7 @@ oneXMLchar (LilXML *lp, int c, char errm
- growString (&lp->ce->at[lp->ce->nat-1]->valu, '\0');
- lp->cs = INATTRV;
- } else if (!(isspace(c) || c == '=')) {
-- sprintf (errmsg, "Line %d: No value for attribute %s", lp->ln,
-+ snprintf (errmsg, ERRMSG_SIZE, "Line %d: No value for attribute %.100s", lp->ln,
- lp->ce->at[lp->ce->nat-1]->name);
- return (-1);
- }
-@@ -547,7 +548,7 @@ oneXMLchar (LilXML *lp, int c, char errm
- growString (&lp->endtag, c);
- lp->cs = INCLOSETAG;
- } else if (!isspace(c)) {
-- sprintf (errmsg, "Line %d: Bogus preend tag char %c", lp->ln,c);
-+ snprintf (errmsg, ERRMSG_SIZE, "Line %d: Bogus preend tag char %c", lp->ln,c);
- return (-1);
- }
- break;
-@@ -557,7 +558,7 @@ oneXMLchar (LilXML *lp, int c, char errm
- growString (&lp->endtag, c);
- else if (c == '>') {
- if (strcmp (lp->ce->tag, lp->endtag)) {
-- sprintf (errmsg,"Line %d: closing tag %s does not match %s",
-+ snprintf (errmsg, ERRMSG_SIZE, "Line %d: closing tag %.64s does not match %.64s",
- lp->ln, lp->endtag, lp->ce->tag);
- return (-1);
- } else if (lp->ce->pe) {
-@@ -566,7 +567,7 @@ oneXMLchar (LilXML *lp, int c, char errm
- } else
- return (1); /* yes! */
- } else if (!isspace(c)) {
-- sprintf (errmsg, "Line %d: Bogus end tag char %c", lp->ln, c);
-+ snprintf (errmsg, ERRMSG_SIZE, "Line %d: Bogus end tag char %c", lp->ln, c);
- return (-1);
- }
- break;
-@@ -723,7 +724,7 @@ int
- main (int ac, char *av[])
- {
- LilXML *lp = newLilXML();
-- char errmsg[1024];
-+ char errmsg[ERRMSG_SIZE];
- XMLEle *root;
-
- root = readXMLFile (stdin, lp, errmsg);
-@@ -742,4 +743,4 @@ main (int ac, char *av[])
- #endif
-
- /* For RCS Only -- Do Not Edit */
--static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: lilxml.c,v $ $Date: 2004/06/07 05:59:20 $ $Revision: 1.6 $ $Name: $"};
-+static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: lilxml.c,v $ $Date: 2004/06/07 05:59:20 $ $Revision: 1.6 $ $Name: KDE_3_3_BRANCH $"};
-Index: indi/lilxml.h
-===================================================================
-RCS file: /home/kde/kdeedu/kstars/kstars/indi/lilxml.h,v
-retrieving revision 1.6
-diff -u -3 -d -p -r1.6 lilxml.h
---- kstars/kstars/indi/lilxml.h 7 Jun 2004 05:59:20 -0000 1.6
-+++ kstars/kstars/indi/lilxml.h 6 Feb 2005 18:38:37 -0000
-@@ -189,7 +189,7 @@ extern int nXMLAtt (XMLEle *ep);
- \param name the name of the XML attribute to retrieve its value.
- \return the value string of an XML element on success. NULL on failure.
- */
--extern char *findXMLAttValu (XMLEle *ep, char *name);
-+extern const char *findXMLAttValu (XMLEle *ep, char *name);
-
- /** \brief Handy wrapper to read one xml file.
- \param fp pointer to FILE to read.
-@@ -242,7 +242,7 @@ extern void prXMLEle (FILE *fp, XMLEle *
- */
-
- /* For RCS Only -- Do Not Edit
-- * @(#) $RCSfile: lilxml.h,v $ $Date: 2004/06/07 05:59:20 $ $Revision: 1.6 $ $Name: $
-+ * @(#) $RCSfile: lilxml.h,v $ $Date: 2004/06/07 05:59:20 $ $Revision: 1.6 $ $Name: KDE_3_3_BRANCH $
- */
-
- #endif /* LILXML_H */
-Index: indi/lx200_16.cpp
-===================================================================
-RCS file: /home/kde/kdeedu/kstars/kstars/indi/lx200_16.cpp,v
-retrieving revision 1.11
-diff -u -3 -d -p -r1.11 lx200_16.cpp
---- kstars/kstars/indi/lx200_16.cpp 2 Jun 2004 23:42:35 -0000 1.11
-+++ kstars/kstars/indi/lx200_16.cpp 6 Feb 2005 18:38:38 -0000
-@@ -224,8 +224,7 @@ void LX200_16::ISNewSwitch (const char *
- }
-
- FanStatusSw.s = IPS_OK;
-- strcpy(msg, index == 0 ? "Fan is ON" : "Fan is OFF");
-- IDSetSwitch (&FanStatusSw, msg);
-+ IDSetSwitch (&FanStatusSw, index == 0 ? "Fan is ON" : "Fan is OFF");
- return;
- }
-
-@@ -240,7 +239,7 @@ void LX200_16::ISNewSwitch (const char *
-
- index == 0 ? seekHomeAndSave() : seekHomeAndSet();
- HomeSearchSw.s = IPS_BUSY;
-- IDSetSwitch (&HomeSearchSw, msg);
-+ IDSetSwitch (&HomeSearchSw, index == 0 ? "Seek Home and Save" : "Seek Home and Set");
- return;
- }
-
-@@ -255,8 +254,7 @@ void LX200_16::ISNewSwitch (const char *
-
- index == 0 ? seekHomeAndSave() : seekHomeAndSet();
- FieldDeRotatorSw.s = IPS_OK;
-- strcpy(msg, index == 0 ? "Field deRotator is ON" : "Field deRotator is OFF");
-- IDSetSwitch (&FieldDeRotatorSw, msg);
-+ IDSetSwitch (&FieldDeRotatorSw, index == 0 ? "Field deRotator is ON" : "Field deRotator is OFF");
- return;
- }
-
-Index: indi/lx200driver.c
-===================================================================
-RCS file: /home/kde/kdeedu/kstars/kstars/indi/lx200driver.c,v
-retrieving revision 1.18
-diff -u -3 -d -p -r1.18 lx200driver.c
---- kstars/kstars/indi/lx200driver.c 27 May 2004 16:14:52 -0000 1.18
-+++ kstars/kstars/indi/lx200driver.c 6 Feb 2005 18:38:38 -0000
-@@ -584,7 +584,7 @@ int setCommandInt(int data, const char *
-
- char tempString[16];
-
-- sprintf(tempString, "%s%d#", cmd, data);
-+ snprintf(tempString, sizeof( tempString ), "%s%d#", cmd, data);
-
- if (portWrite(tempString) < 0)
- return -1;
-@@ -596,7 +596,7 @@ int setMinElevationLimit(int min)
- {
- char tempString[16];
-
-- sprintf(tempString, "#:Sh%02d#", min);
-+ snprintf(tempString, sizeof( tempString ), "#:Sh%02d#", min);
-
- return (setStandardProcedure(tempString));
- }
-@@ -605,7 +605,7 @@ int setMaxElevationLimit(int max)
- {
- char tempString[16];
-
-- sprintf(tempString, "#:So%02d*#", max);
-+ snprintf(tempString, sizeof( tempString ), "#:So%02d*#", max);
-
- return (setStandardProcedure(tempString));
-
-@@ -619,7 +619,7 @@ int setMaxSlewRate(int slewRate)
- if (slewRate < 2 || slewRate > 8)
- return -1;
-
-- sprintf(tempString, "#:Sw%d#", slewRate);
-+ snprintf(tempString, sizeof( tempString ), "#:Sw%d#", slewRate);
-
- return (setStandardProcedure(tempString));
-
-@@ -634,7 +634,7 @@ int setObjectRA(double ra)
-
- getSexComponents(ra, &h, &m, &s);
-
-- sprintf(tempString, "#:Sr %02d:%02d:%02d#", h, m, s);
-+ snprintf(tempString, sizeof( tempString ), "#:Sr %02d:%02d:%02d#", h, m, s);
- IDLog("Set Object RA String %s\n", tempString);
- return (setStandardProcedure(tempString));
- }
-@@ -649,9 +649,9 @@ int setObjectDEC(double dec)
-
- /* case with negative zero */
- if (!d && dec < 0)
-- sprintf(tempString, "#:Sd -%02d:%02d:%02d#", d, m, s);
-+ snprintf(tempString, sizeof( tempString ), "#:Sd -%02d:%02d:%02d#", d, m, s);
- else
-- sprintf(tempString, "#:Sd %+03d:%02d:%02d#", d, m, s);
-+ snprintf(tempString, sizeof( tempString ), "#:Sd %+03d:%02d:%02d#", d, m, s);
-
- IDLog("Set Object DEC String %s\n", tempString);
-
-@@ -663,7 +663,7 @@ int setCommandXYZ(int x, int y, int z, c
- {
- char tempString[16];
-
-- sprintf(tempString, "%s %02d:%02d:%02d#", cmd, x, y, z);
-+ snprintf(tempString, sizeof( tempString ), "%s %02d:%02d:%02d#", cmd, x, y, z);
-
- return (setStandardProcedure(tempString));
- }
-@@ -698,7 +698,7 @@ int setCalenderDate(int dd, int mm, int
- char boolRet[2];
- yy = yy % 100;
-
-- sprintf(tempString, "#:SC %02d/%02d/%02d#", mm, dd, yy);
-+ snprintf(tempString, sizeof( tempString ), "#:SC %02d/%02d/%02d#", mm, dd, yy);
-
- if (portWrite(tempString) < 0)
- return -1;
-@@ -725,7 +725,7 @@ int setUTCOffset(double hours)
- char tempString[16];
-
- /*TODO add fractions*/
-- sprintf(tempString, "#:SG %+03d#", (int) hours);
-+ snprintf(tempString, sizeof( tempString ), "#:SG %+03d#", (int) hours);
-
- fprintf(stderr, "UTC string is %s\n", tempString);
-
-@@ -740,7 +740,7 @@ int setSiteLongitude(double Long)
-
- getSexComponents(Long, &d, &m, &s);
-
-- sprintf(tempString, "#:Sg%03d:%02d#", d, m);
-+ snprintf(tempString, sizeof( tempString ), "#:Sg%03d:%02d#", d, m);
-
- return (setStandardProcedure(tempString));
- }
-@@ -752,7 +752,7 @@ int setSiteLatitude(double Lat)
-
- getSexComponents(Lat, &d, &m, &s);
-
-- sprintf(tempString, "#:St%+03d:%02d:%02d#", d, m, s);
-+ snprintf(tempString, sizeof( tempString ), "#:St%+03d:%02d:%02d#", d, m, s);
-
- return (setStandardProcedure(tempString));
- }
-@@ -764,7 +764,7 @@ int setObjAz(double az)
-
- getSexComponents(az, &d, &m, &s);
-
-- sprintf(tempString, "#:Sz%03d:%02d#", d, m);
-+ snprintf(tempString, sizeof( tempString ), "#:Sz%03d:%02d#", d, m);
-
- return (setStandardProcedure(tempString));
-
-@@ -777,7 +777,7 @@ int setObjAlt(double alt)
-
- getSexComponents(alt, &d, &m, &s);
-
-- sprintf(tempString, "#:Sa%+02d*%02d#", d, m);
-+ snprintf(tempString, sizeof( tempString ), "#:Sa%+02d*%02d#", d, m);
-
- return (setStandardProcedure(tempString));
- }
-@@ -791,16 +791,16 @@ int setSiteName(char * siteName, int sit
- switch (siteNum)
- {
- case 1:
-- sprintf(tempString, "#:SM %s#", siteName);
-+ snprintf(tempString, sizeof( tempString ), "#:SM %s#", siteName);
- break;
- case 2:
-- sprintf(tempString, "#:SN %s#", siteName);
-+ snprintf(tempString, sizeof( tempString ), "#:SN %s#", siteName);
- break;
- case 3:
-- sprintf(tempString, "#:SO %s#", siteName);
-+ snprintf(tempString, sizeof( tempString ), "#:SO %s#", siteName);
- break;
- case 4:
-- sprintf(tempString, "#:SP %s#", siteName);
-+ snprintf(tempString, sizeof( tempString ), "#:SP %s#", siteName);
- break;
- default:
- return -1;
-@@ -883,7 +883,7 @@ int setTrackFreq(double trackF)
- {
- char tempString[16];
-
-- sprintf(tempString, "#:ST %04.1f#", trackF);
-+ snprintf(tempString, sizeof( tempString ), "#:ST %04.1f#", trackF);
-
- return (setStandardProcedure(tempString));
-
-@@ -1044,13 +1044,13 @@ int selectCatalogObject(int catalog, int
- switch (catalog)
- {
- case LX200_STAR_C:
-- sprintf(tempString, "#:LS%d#", NNNN);
-+ snprintf(tempString, sizeof( tempString ), "#:LS%d#", NNNN);
- break;
- case LX200_DEEPSKY_C:
-- sprintf(tempString, "#:LC%d#", NNNN);
-+ snprintf(tempString, sizeof( tempString ), "#:LC%d#", NNNN);
- break;
- case LX200_MESSIER_C:
-- sprintf(tempString, "#:LM%d#", NNNN);
-+ snprintf(tempString, sizeof( tempString ), "#:LM%d#", NNNN);
- break;
- default:
- return -1;
-@@ -1068,10 +1068,10 @@ int selectSubCatalog(int catalog, int su
- switch (catalog)
- {
- case LX200_STAR_C:
-- sprintf(tempString, "#:LsD%d#", subCatalog);
-+ snprintf(tempString, sizeof( tempString ), "#:LsD%d#", subCatalog);
- break;
- case LX200_DEEPSKY_C:
-- sprintf(tempString, "#:LoD%d#", subCatalog);
-+ snprintf(tempString, sizeof( tempString ), "#:LoD%d#", subCatalog);
- break;
- case LX200_MESSIER_C:
- return 1;
-Index: indi/lx200generic.cpp
-===================================================================
-RCS file: /home/kde/kdeedu/kstars/kstars/indi/lx200generic.cpp,v
-retrieving revision 1.33.2.1
-diff -u -3 -d -p -r1.33.2.1 lx200generic.cpp
---- kstars/kstars/indi/lx200generic.cpp 11 Sep 2004 21:42:04 -0000 1.33.2.1
-+++ kstars/kstars/indi/lx200generic.cpp 6 Feb 2005 18:38:39 -0000
-@@ -620,13 +620,13 @@ void LX200Generic::ISNewNumber (const ch
- setSiteLatitude(newLat);
- geoNum.np[0].value = newLat;
- geoNum.np[1].value = newLong;
-- sprintf (msg, "Site location updated to Lat %s - Long %s", l, L);
-+ snprintf (msg, sizeof(msg), "Site location updated to Lat %.32s - Long %.32s", l, L);
- } else
- {
- geoNum.s = IPS_IDLE;
-- sprintf (msg, "Lat or Long missing or invalid");
-+ strcpy(msg, "Lat or Long missing or invalid");
- }
-- IDSetNumber (&geoNum, msg);
-+ IDSetNumber (&geoNum, "%s", msg);
- return;
- }
-
-Index: indi/lx200gps.cpp
-===================================================================
-RCS file: /home/kde/kdeedu/kstars/kstars/indi/lx200gps.cpp,v
-retrieving revision 1.10.2.1
-diff -u -3 -d -p -r1.10.2.1 lx200gps.cpp
---- kstars/kstars/indi/lx200gps.cpp 11 Sep 2004 21:42:04 -0000 1.10.2.1
-+++ kstars/kstars/indi/lx200gps.cpp 6 Feb 2005 18:38:39 -0000
-@@ -133,8 +133,7 @@ void LX200GPS::ISNewNumber (const char *
- index = getOnSwitch(&GPSPowerSw);
- index == 0 ? turnGPSOn() : turnGPSOff();
- GPSPowerSw.s = IPS_OK;
-- strcpy(msg, index == 0 ? "GPS System is ON" : "GPS System is OFF");
-- IDSetSwitch (&GPSPowerSw, msg);
-+ IDSetSwitch (&GPSPowerSw, index == 0 ? "GPS System is ON" : "GPS System is OFF" );
- return;
- }
-
-@@ -164,7 +163,7 @@ void LX200GPS::ISNewNumber (const char *
- }
-
- GPSStatusSw.s = IPS_OK;
-- IDSetSwitch (&GPSStatusSw, msg);
-+ IDSetSwitch (&GPSStatusSw, "%s", msg);
- return;
-
- }
-@@ -207,7 +206,7 @@ void LX200GPS::ISNewNumber (const char *
- }
-
- AltDecPecSw.s = IPS_OK;
-- IDSetSwitch(&AltDecPecSw, msg);
-+ IDSetSwitch(&AltDecPecSw, "%s", msg);
-
- return;
- }
-@@ -233,7 +232,7 @@ void LX200GPS::ISNewNumber (const char *
- }
-
- AzRaPecSw.s = IPS_OK;
-- IDSetSwitch(&AzRaPecSw, msg);
-+ IDSetSwitch(&AzRaPecSw, "%s", msg);
-
- return;
- }
-Index: indi/mount_simulation.c
-===================================================================
-RCS file: /home/kde/kdeedu/kstars/kstars/indi/mount_simulation.c,v
-retrieving revision 1.1
-diff -u -3 -d -p -r1.1 mount_simulation.c
---- kstars/kstars/indi/mount_simulation.c 21 Jan 2004 18:21:01 -0000 1.1
-+++ kstars/kstars/indi/mount_simulation.c 6 Feb 2005 18:38:39 -0000
-@@ -140,10 +140,10 @@ char *names[], int n)
- targetDEC = newdec;
- fs_sexa (r, targetRA, 2, 3600);
- fs_sexa (d, targetDEC, 3, 3600);
-- sprintf (msg, "Moving to RA Dec %s %s", r, d);
-+ snprintf (msg, sizeof(msg), "Moving to RA Dec %.32s %.32s", r, d);
- } else {
- eqNum.s = IPS_IDLE;
-- sprintf (msg, "RA or Dec absent or bogus");
-+ snprintf (msg, sizeof(msg), "RA or Dec absent or bogus");
- }
- sendeq (msg);
- return;
-Index: indi/v4ldriver.cpp
-===================================================================
-RCS file: /home/kde/kdeedu/kstars/kstars/indi/v4ldriver.cpp,v
-retrieving revision 1.10.2.1
-diff -u -3 -d -p -r1.10.2.1 v4ldriver.cpp
---- kstars/kstars/indi/v4ldriver.cpp 31 Aug 2004 05:56:45 -0000 1.10.2.1
-+++ kstars/kstars/indi/v4ldriver.cpp 6 Feb 2005 18:38:40 -0000
-@@ -51,8 +51,8 @@ void waitForData(int rp, int wp);
- void updateDataChannel(void *p);
- void updateStream(void * p);
- void getBasicData(void);
--void uploadFile(char * filename);
--int writeFITS(char *filename, char errmsg[]);
-+void uploadFile(const char * filename);
-+int writeFITS(const char *filename, char errmsg[]);
- int grabImage(void);
- int checkPowerN(INumberVectorProperty *np);
- int checkPowerS(ISwitchVectorProperty *sp);
-@@ -461,14 +461,14 @@ void ISNewNumber (const char *dev, const
- int grabImage()
- {
- int err, fd;
-- char errmsg[1024];
-+ char errmsg[ERRMSG_SIZE];
- char filename[] = "/tmp/fitsXXXXXX";
-
-
- if ((fd = mkstemp(filename)) < 0)
- {
-- IDMessage(mydev, "Error making temporary filename.", NULL);
-- IDLog("Error making temporary filename.\n", NULL);
-+ IDMessage(mydev, "Error making temporary filename.");
-+ IDLog("Error making temporary filename.\n");
- return -1;
- }
- close(fd);
-@@ -483,7 +483,7 @@ int grabImage()
- return 0;
- }
-
--int writeFITS(char * filename, char errmsg[])
-+int writeFITS(const char * filename, char errmsg[])
- {
- FITS_FILE* ofp;
- int i, bpp, bpsl, width, height;
-@@ -495,7 +495,7 @@ int writeFITS(char * filename, char errm
- ofp = fits_open (filename, "w");
- if (!ofp)
- {
-- sprintf(errmsg, "Error: cannot open file for writing.");
-+ snprintf(errmsg, ERRMSG_SIZE, "Error: cannot open file for writing.");
- return (-1);
- }
-
-@@ -508,12 +508,12 @@ int writeFITS(char * filename, char errm
- hdu = create_fits_header (ofp, width, height, bpp);
- if (hdu == NULL)
- {
-- sprintf(errmsg, "Error: creating FITS header failed.");
-+ snprintf(errmsg, ERRMSG_SIZE, "Error: creating FITS header failed.");
- return (-1);
- }
- if (fits_write_header (ofp, hdu) < 0)
- {
-- sprintf(errmsg, "Error: writing to FITS header failed.");
-+ snprintf(errmsg, ERRMSG_SIZE, "Error: writing to FITS header failed.");
- return (-1);
- }
-
-@@ -532,7 +532,7 @@ int writeFITS(char * filename, char errm
-
- if (ferror (ofp->fp))
- {
-- sprintf(errmsg, "Error: write error occured");
-+ snprintf(errmsg, ERRMSG_SIZE, "Error: write error occured");
- return (-1);
- }
-
-@@ -730,7 +730,7 @@ FITS_HDU_LIST * create_fits_header (FITS
- hdulist->used.bscale = 1;
- hdulist->bscale = 1.0;
-
-- sprintf(expose_s, "EXPOSURE= %d / milliseconds", V4LFrame->expose);
-+ snprintf(expose_s, sizeof(expose_s), "EXPOSURE= %d / milliseconds", V4LFrame->expose);
-
- fits_add_card (hdulist, expose_s);
- fits_add_card (hdulist, instrumentName);
-@@ -813,7 +813,7 @@ void updateStream(void *p)
-
- }
-
--void uploadFile(char * filename)
-+void uploadFile(const char * filename)
- {
- FILE * fitsFile;
- char frameSize[FRAME_ILEN];
-Index: indi/v4lphilips.cpp
-===================================================================
-RCS file: /home/kde/kdeedu/kstars/kstars/indi/v4lphilips.cpp,v
-retrieving revision 1.9.2.1
-diff -u -3 -d -p -r1.9.2.1 v4lphilips.cpp
---- kstars/kstars/indi/v4lphilips.cpp 31 Aug 2004 05:56:45 -0000 1.9.2.1
-+++ kstars/kstars/indi/v4lphilips.cpp 6 Feb 2005 18:38:40 -0000
-@@ -52,8 +52,8 @@ void waitForData(int rp, int wp);
- void updateDataChannel(void *p);
- void updateStream(void * p);
- void getBasicData(void);
--void uploadFile(char * filename);
--int writeFITS(char *filename, char errmsg[]);
-+void uploadFile(const char* filename);
-+int writeFITS(const char* filename, char errmsg[]);
- int grabImage(void);
- int checkPowerN(INumberVectorProperty *np);
- int checkPowerS(ISwitchVectorProperty *sp);
-@@ -286,7 +286,7 @@ void ISGetProperties (const char *dev)
-
- void ISNewSwitch (const char *dev, const char *name, ISState *states, char *names[], int n)
- {
-- char errmsg[1024];
-+ char errmsg[ERRMSG_SIZE];
- int index=0;
-
- /* ignore if not ours */
-@@ -364,7 +364,7 @@ void ISNewSwitch (const char *dev, const
- {
- AntiFlickerS[0].s = ISS_OFF;
- AntiFlickerS[1].s = ISS_ON;
-- IDSetSwitch(&AntiFlickerSP, errmsg);
-+ IDSetSwitch(&AntiFlickerSP, "%s", errmsg);
- return;
- }
-
-@@ -377,7 +377,7 @@ void ISNewSwitch (const char *dev, const
- {
- AntiFlickerS[0].s = ISS_ON;
- AntiFlickerS[1].s = ISS_OFF;
-- IDSetSwitch(&AntiFlickerSP, errmsg);
-+ IDSetSwitch(&AntiFlickerSP, "%s", errmsg);
- return;
- }
-
-@@ -403,7 +403,7 @@ void ISNewSwitch (const char *dev, const
- {
- BackLightS[0].s = ISS_OFF;
- BackLightS[1].s = ISS_ON;
-- IDSetSwitch(&BackLightSP, errmsg);
-+ IDSetSwitch(&BackLightSP, "%s", errmsg);
- return;
- }
-
-@@ -416,7 +416,7 @@ void ISNewSwitch (const char *dev, const
- {
- BackLightS[0].s = ISS_ON;
- BackLightS[1].s = ISS_OFF;
-- IDSetSwitch(&BackLightSP, errmsg);
-+ IDSetSwitch(&BackLightSP, "%s", errmsg);
- return;
- }
-
-@@ -447,7 +447,7 @@ void ISNewSwitch (const char *dev, const
- {
- IUResetSwitches(&NoiseReductionSP);
- NoiseReductionS[0].s = ISS_ON;
-- IDSetSwitch(&NoiseReductionSP, errmsg);
-+ IDSetSwitch(&NoiseReductionSP, "%s", errmsg);
- return;
- }
-
-@@ -482,7 +482,7 @@ void ISNewSwitch (const char *dev, const
- {
- IUResetSwitches(&WhiteBalanceModeSP),
- WhiteBalanceModeS[0].s = ISS_ON;
-- IDSetSwitch(&WhiteBalanceModeSP, errmsg);
-+ IDSetSwitch(&WhiteBalanceModeSP, "%s", errmsg);
- return;
- }
- break;
-@@ -493,7 +493,7 @@ void ISNewSwitch (const char *dev, const
- {
- IUResetSwitches(&WhiteBalanceModeSP),
- WhiteBalanceModeS[0].s = ISS_ON;
-- IDSetSwitch(&WhiteBalanceModeSP, errmsg);
-+ IDSetSwitch(&WhiteBalanceModeSP, "%s", errmsg);
- return;
- }
- break;
-@@ -504,7 +504,7 @@ void ISNewSwitch (const char *dev, const
- {
- IUResetSwitches(&WhiteBalanceModeSP),
- WhiteBalanceModeS[0].s = ISS_ON;
-- IDSetSwitch(&WhiteBalanceModeSP, errmsg);
-+ IDSetSwitch(&WhiteBalanceModeSP, "%s", errmsg);
- return;
- }
- break;
-@@ -515,7 +515,7 @@ void ISNewSwitch (const char *dev, const
- {
- IUResetSwitches(&WhiteBalanceModeSP),
- WhiteBalanceModeS[0].s = ISS_ON;
-- IDSetSwitch(&WhiteBalanceModeSP, errmsg);
-+ IDSetSwitch(&WhiteBalanceModeSP, "%s", errmsg);
- return;
- }
- break;
-@@ -526,7 +526,7 @@ void ISNewSwitch (const char *dev, const
- {
- IUResetSwitches(&WhiteBalanceModeSP),
- WhiteBalanceModeS[0].s = ISS_ON;
-- IDSetSwitch(&WhiteBalanceModeSP, errmsg);
-+ IDSetSwitch(&WhiteBalanceModeSP, "%s", errmsg);
- return;
- }
- break;
-@@ -555,7 +555,7 @@ void ISNewSwitch (const char *dev, const
- if (saveSettings(errmsg) < 0)
- {
- IUResetSwitches(&CamSettingSP);
-- IDSetSwitch(&CamSettingSP, errmsg);
-+ IDSetSwitch(&CamSettingSP, "%s", errmsg);
- return;
- }
-
-@@ -616,8 +616,7 @@ void ISNewText (const char *dev, const c
-
- void ISNewNumber (const char *dev, const char *name, double values[], char *names[], int n)
- {
--
-- char errmsg[1024];
-+ char errmsg[ERRMSG_SIZE];
-
- /* ignore if not ours */
- if (dev && strcmp (dev, mydev))
-@@ -672,7 +671,7 @@ void ISNewNumber (const char *dev, const
- if (setFrameRate( (int) FrameRateN[0].value, errmsg) < 0)
- {
- FrameRateN[0].value = oldFP;
-- IDSetNumber(&FrameRateNP, errmsg);
-+ IDSetNumber(&FrameRateNP, "%s", errmsg);
- return;
- }
-
-@@ -727,7 +726,7 @@ void ISNewNumber (const char *dev, const
- for (int i=0; i < 6; i++)
- ImageAdjustN[i].value = oldImgPar[i];
-
-- IDSetNumber(&ImageAdjustNP, errmsg);
-+ IDSetNumber(&ImageAdjustNP, "%s", errmsg);
- return;
- }
- else
-@@ -745,7 +744,7 @@ void ISNewNumber (const char *dev, const
- for (int i=0; i < 6; i++)
- ImageAdjustN[i].value = oldImgPar[i];
-
-- IDSetNumber(&ImageAdjustNP, errmsg);
-+ IDSetNumber(&ImageAdjustNP, "%s", errmsg);
- return;
- }
- else
-@@ -775,7 +774,7 @@ void ISNewNumber (const char *dev, const
-
- if (setExposure( (int) values[0], errmsg) < 0)
- {
-- IDSetNumber(&ShutterSpeedNP, errmsg);
-+ IDSetNumber(&ShutterSpeedNP, "%s", errmsg);
- return;
- }
-
-@@ -803,14 +802,14 @@ void ISNewNumber (const char *dev, const
- {
- WhiteBalanceN[0].value = oldBalance[0];
- WhiteBalanceN[1].value = oldBalance[1];
-- IDSetNumber(&WhiteBalanceNP, errmsg);
-+ IDSetNumber(&WhiteBalanceNP, "%s", errmsg);
- return;
- }
- if (setWhiteBalanceBlue( (int) WhiteBalanceN[1].value * 256, errmsg))
- {
- WhiteBalanceN[0].value = oldBalance[0];
- WhiteBalanceN[1].value = oldBalance[1];
-- IDSetNumber(&WhiteBalanceNP, errmsg);
-+ IDSetNumber(&WhiteBalanceNP, "%s", errmsg);
- return;
- }
-
-@@ -865,8 +864,8 @@ int grabImage()
-
- if ((fd = mkstemp(filename)) < 0)
- {
-- IDMessage(mydev, "Error making temporary filename.", NULL);
-- IDLog("Error making temporary filename.\n", NULL);
-+ IDMessage(mydev, "Error making temporary filename.");
-+ IDLog("Error making temporary filename.\n");
- return -1;
- }
- close(fd);
-@@ -881,19 +880,17 @@ int grabImage()
- return 0;
- }
-
--int writeFITS(char * filename, char errmsg[])
-+int writeFITS(const char* filename, char errmsg[])
- {
- FITS_FILE* ofp;
- int i, bpp, bpsl, width, height;
- long nbytes;
- FITS_HDU_LIST *hdu;
-
-- IDLog("in writeFITS with filename %s\n", filename);
--
- ofp = fits_open (filename, "w");
- if (!ofp)
- {
-- sprintf(errmsg, "Error: cannot open file for writing.");
-+ strcpy(errmsg, "Error: cannot open file for writing.");
- return (-1);
- }
-
-@@ -906,12 +903,12 @@ int writeFITS(char * filename, char errm
- hdu = create_fits_header (ofp, width, height, bpp);
- if (hdu == NULL)
- {
-- sprintf(errmsg, "Error: creating FITS header failed.");
-+ strcpy(errmsg, "Error: creating FITS header failed.");
- return (-1);
- }
- if (fits_write_header (ofp, hdu) < 0)
- {
-- sprintf(errmsg, "Error: writing to FITS header failed.");
-+ strcpy(errmsg, "Error: writing to FITS header failed.");
- return (-1);
- }
-
-@@ -930,7 +927,7 @@ int writeFITS(char * filename, char errm
-
- if (ferror (ofp->fp))
- {
-- sprintf(errmsg, "Error: write error occured");
-+ strcpy(errmsg, "Error: write error occured");
- return (-1);
- }
-
-@@ -997,7 +994,7 @@ void getBasicData()
- if (setFrameRate( (int) FrameRateN[0].value, errmsg) < 0)
- {
- FrameRateNP.s = IPS_ALERT;
-- IDSetNumber(&FrameRateNP, errmsg);
-+ IDSetNumber(&FrameRateNP, "%s", errmsg);
- }
- else
- {
-@@ -1295,7 +1292,7 @@ void updateStream(void *p)
- // IDLog("Leaving update stream\n");
- }
-
--void uploadFile(char * filename)
-+void uploadFile(const char* filename)
- {
- FILE * fitsFile;
- char frameSize[FRAME_ILEN];
diff --git a/misc/kdeedu3/files/patch-kstars_kstars_indi_Makefile.in b/misc/kdeedu3/files/patch-kstars_kstars_indi_Makefile.in
deleted file mode 100644
index f6947ade383b..000000000000
--- a/misc/kdeedu3/files/patch-kstars_kstars_indi_Makefile.in
+++ /dev/null
@@ -1,10 +0,0 @@
---- kstars/kstars/indi/Makefile.in.orig Tue Feb 8 01:38:36 2005
-+++ kstars/kstars/indi/Makefile.in Tue Feb 8 01:38:55 2005
-@@ -962,7 +962,6 @@
- $(LN_S) lx200generic $(DESTDIR)$(bindir)/lx200_16
- rm -f $(DESTDIR)$(bindir)/lx200gps
- $(LN_S) lx200generic $(DESTDIR)$(bindir)/lx200gps
-- chmod +s $(DESTDIR)$(bindir)/fliccd
-
- uninstall-local:
- rm $(DESTDIR)$(bindir)/lx200autostar $(DESTDIR)$(bindir)/lx200_16 $(DESTDIR)$(bindir)/lx200gps
diff --git a/misc/kdeedu3/files/patch-kstars_kstars_tools_planetviewer.cpp b/misc/kdeedu3/files/patch-kstars_kstars_tools_planetviewer.cpp
new file mode 100644
index 000000000000..46d9e207c9d6
--- /dev/null
+++ b/misc/kdeedu3/files/patch-kstars_kstars_tools_planetviewer.cpp
@@ -0,0 +1,11 @@
+--- kstars/kstars/tools/planetviewer.cpp.orig Fri Mar 18 21:59:32 2005
++++ kstars/kstars/tools/planetviewer.cpp Fri Mar 18 22:02:06 2005
+@@ -14,6 +14,8 @@
+ * *
+ ***************************************************************************/
+
++#include <stdlib.h>
++
+ #include <qfile.h>
+ #include <qlayout.h>
+ #include <kdebug.h>
diff --git a/misc/kdeedu3/pkg-plist b/misc/kdeedu3/pkg-plist
index e769073713c7..3559e56abcf5 100644
--- a/misc/kdeedu3/pkg-plist
+++ b/misc/kdeedu3/pkg-plist
@@ -27,16 +27,27 @@ bin/lx200classic
bin/lx200generic
bin/lx200gps
bin/spotlight2kvtml
+bin/temma
bin/test_extdate
bin/test_extdatepicker
include/kstarsinterface.h
+include/libkiten/asyndeta.h
+include/libkiten/deinf.h
+include/libkiten/dict.h
+include/libkiten/kromajiedit.h
+include/libkiten/rad.h
+include/libkiten/widgets.h
include/simclockinterface.h
lib/kde3/kfile_drgeo.la
lib/kde3/kfile_drgeo.so
lib/kde3/kfile_kig.la
lib/kde3/kfile_kig.so
+lib/kde3/libkeducapart.la
+lib/kde3/libkeducapart.so
lib/kde3/libkigpart.la
lib/kde3/libkigpart.so
+lib/kde3/libkmplotpart.la
+lib/kde3/libkmplotpart.so
lib/libextdate.la
lib/libextdate.so
lib/libextdate.so.3
@@ -49,6 +60,9 @@ lib/libkdeeduplot.so.3
lib/libkdeeduui.la
lib/libkdeeduui.so
lib/libkdeeduui.so.3
+lib/libkiten.la
+lib/libkiten.so
+lib/libkiten.so.1
share/applications/kde/kalzium.desktop
share/applications/kde/kbruch.desktop
share/applications/kde/keduca.desktop
@@ -145,6 +159,13 @@ share/apps/kalzium/icons/crystalsvg/16x16/actions/misc.png
share/apps/kalzium/icons/crystalsvg/16x16/actions/orbits.png
share/apps/kalzium/icons/crystalsvg/16x16/actions/overview.png
share/apps/kalzium/icons/crystalsvg/16x16/actions/timeline.png
+share/apps/kalzium/icons/crystalsvg/22x22/actions/chemical.png
+share/apps/kalzium/icons/crystalsvg/22x22/actions/elempic.png
+share/apps/kalzium/icons/crystalsvg/22x22/actions/energies.png
+share/apps/kalzium/icons/crystalsvg/22x22/actions/legend.png
+share/apps/kalzium/icons/crystalsvg/22x22/actions/orbits.png
+share/apps/kalzium/icons/crystalsvg/22x22/actions/overview.png
+share/apps/kalzium/icons/crystalsvg/22x22/actions/timeline.png
share/apps/kalzium/icons/crystalsvg/32x32/actions/chemical.png
share/apps/kalzium/icons/crystalsvg/32x32/actions/elempic.png
share/apps/kalzium/icons/crystalsvg/32x32/actions/energies.png
@@ -161,6 +182,9 @@ share/apps/kalzium/icons/crystalsvg/48x48/actions/misc.png
share/apps/kalzium/icons/crystalsvg/48x48/actions/orbits.png
share/apps/kalzium/icons/crystalsvg/48x48/actions/overview.png
share/apps/kalzium/icons/crystalsvg/48x48/actions/timeline.png
+share/apps/kalzium/icons/crystalsvg/64x64/actions/elempic.png
+share/apps/kalzium/icons/crystalsvg/64x64/actions/legend.png
+share/apps/kalzium/icons/crystalsvg/64x64/actions/timeline.png
share/apps/kalzium/icons/crystalsvg/scalable/actions/chemical.svgz
share/apps/kalzium/icons/crystalsvg/scalable/actions/elempic.svgz
share/apps/kalzium/icons/crystalsvg/scalable/actions/energies.svgz
@@ -171,12 +195,7 @@ share/apps/kalzium/icons/crystalsvg/scalable/actions/overview.svgz
share/apps/kalzium/icons/crystalsvg/scalable/actions/timeline.svgz
share/apps/kalzium/kalziumrc
share/apps/kalzium/kalziumui.rc
-share/apps/katepart/syntax/logohighlightstyle.de_DE.xml
share/apps/katepart/syntax/logohighlightstyle.en_US.xml
-share/apps/katepart/syntax/logohighlightstyle.fr_FR.xml
-share/apps/katepart/syntax/logohighlightstyle.nl.xml
-share/apps/katepart/syntax/logohighlightstyle.sr.xml
-share/apps/katepart/syntax/logohighlightstyle.sv.xml
share/apps/kbruch/kbruchui.rc
share/apps/keduca/icons/crystalsvg/16x16/actions/addquestion.png
share/apps/keduca/icons/crystalsvg/16x16/actions/control.png
@@ -186,6 +205,7 @@ share/apps/keduca/icons/crystalsvg/22x22/actions/addquestion.png
share/apps/keduca/icons/crystalsvg/22x22/actions/control.png
share/apps/keduca/icons/crystalsvg/22x22/actions/delquestion.png
share/apps/keduca/icons/crystalsvg/22x22/actions/editquestion.png
+share/apps/keduca/keduca_partui.rc
share/apps/keduca/keducabuilderui.rc
share/apps/keduca/keducaui.rc
share/apps/keduca/pics/alert.png
@@ -197,20 +217,11 @@ share/apps/keduca/pics/keduca_correct_64.png
share/apps/keduca/pics/keduca_incorrect_64.png
share/apps/keduca/pics/keduca_init.png
share/apps/keduca/pics/statistics.png
-share/apps/khangman/ca.txt
-share/apps/khangman/cs.txt
-share/apps/khangman/da.txt
-share/apps/khangman/data/en/animals.txt
-share/apps/khangman/data/en/easy.txt
-share/apps/khangman/data/en/hard.txt
-share/apps/khangman/data/en/medium.txt
-share/apps/khangman/de.txt
-share/apps/khangman/es.txt
-share/apps/khangman/fi.txt
-share/apps/khangman/fr.txt
-share/apps/khangman/hu.txt
+share/apps/khangman/data/en/animals.kvtml
+share/apps/khangman/data/en/easy.kvtml
+share/apps/khangman/data/en/hard.kvtml
+share/apps/khangman/data/en/medium.kvtml
share/apps/khangman/khangmanui.rc
-share/apps/khangman/nb.txt
share/apps/khangman/pics/blue.png
share/apps/khangman/pics/hg1.png
share/apps/khangman/pics/hg10.png
@@ -228,16 +239,17 @@ share/apps/khangman/pics/hg8c.png
share/apps/khangman/pics/hg9.png
share/apps/khangman/pics/hg9c.png
share/apps/khangman/pics/nature.png
-share/apps/khangman/pt.txt
-share/apps/khangman/sl.txt
share/apps/khangman/sounds/EW_Dialogue_Appear.ogg
share/apps/khangman/sounds/new_game.ogg
-share/apps/khangman/sr@Latn.txt
-share/apps/khangman/sv.txt
-share/apps/khangman/tg.txt
share/apps/kig/builtin-macros/circle_by_center_and_line.kigt
+share/apps/kig/builtin-macros/circle_by_point_and_diameter.kigt
share/apps/kig/builtin-macros/circle_by_point_and_segment.kigt
+share/apps/kig/builtin-macros/equitriangle.kigt
+share/apps/kig/builtin-macros/evolute.kigt
+share/apps/kig/builtin-macros/osculating_circle.kigt
share/apps/kig/builtin-macros/segment_axis.kigt
+share/apps/kig/builtin-macros/square.kigt
+share/apps/kig/builtin-macros/vector_difference.kigt
share/apps/kig/kigpartui.rc
share/apps/kig/kigui.rc
share/apps/kig/pics/angle-bisector.png
@@ -249,8 +261,11 @@ share/apps/kig/pics/areaCircle.png
share/apps/kig/pics/attacher.png
share/apps/kig/pics/baseCircle.png
share/apps/kig/pics/bisection.png
+share/apps/kig/pics/centerofcurvature.png
share/apps/kig/pics/centralsymmetry.png
+share/apps/kig/pics/circlebcl.png
share/apps/kig/pics/circlebcp.png
+share/apps/kig/pics/circlebpd.png
share/apps/kig/pics/circlebps.png
share/apps/kig/pics/circlebtp.png
share/apps/kig/pics/circlelineintersection.png
@@ -258,16 +273,23 @@ share/apps/kig/pics/circumference.png
share/apps/kig/pics/conicb5p.png
share/apps/kig/pics/coniclineintersection.png
share/apps/kig/pics/conicsradicalline.png
+share/apps/kig/pics/convexhull.png
share/apps/kig/pics/curvelineintersection.png
share/apps/kig/pics/directrix.png
share/apps/kig/pics/distance.png
share/apps/kig/pics/ellipsebffp.png
+share/apps/kig/pics/en.png
+share/apps/kig/pics/equitriangle.png
share/apps/kig/pics/genericaffinity.png
share/apps/kig/pics/genericprojectivity.png
+share/apps/kig/pics/halflinebyvector.png
share/apps/kig/pics/harmonichomology.png
+share/apps/kig/pics/hexagonbcv.png
share/apps/kig/pics/hyperbolabffp.png
share/apps/kig/pics/intersection.png
+share/apps/kig/pics/inversion.png
share/apps/kig/pics/line.png
+share/apps/kig/pics/linebyvector.png
share/apps/kig/pics/locus.png
share/apps/kig/pics/mirrorpoint.png
share/apps/kig/pics/move.png
@@ -278,6 +300,9 @@ share/apps/kig/pics/perpendicular.png
share/apps/kig/pics/point.png
share/apps/kig/pics/pointOnLine.png
share/apps/kig/pics/pointxy.png
+share/apps/kig/pics/polygon.png
+share/apps/kig/pics/polygonsides.png
+share/apps/kig/pics/polygonvertices.png
share/apps/kig/pics/radicalline.png
share/apps/kig/pics/ray.png
share/apps/kig/pics/rotation.png
@@ -289,7 +314,9 @@ share/apps/kig/pics/segment.png
share/apps/kig/pics/segmentaxis.png
share/apps/kig/pics/sizer.png
share/apps/kig/pics/slope.png
+share/apps/kig/pics/square.png
share/apps/kig/pics/stretch.png
+share/apps/kig/pics/tangent.png
share/apps/kig/pics/test.png
share/apps/kig/pics/testcollinear.png
share/apps/kig/pics/testcontains.png
@@ -299,8 +326,10 @@ share/apps/kig/pics/text.png
share/apps/kig/pics/translation.png
share/apps/kig/pics/triangle.png
share/apps/kig/pics/vector.png
+share/apps/kig/pics/vectordifference.png
share/apps/kig/pics/vectorsum.png
share/apps/kig/pics/view_fit_to_page.png
+share/apps/kig/pics/w.png
share/apps/kig/pics/window_fullscreen.png
share/apps/kig/pics/xfig.png
share/apps/kig/tips
@@ -338,6 +367,20 @@ share/apps/klatin/data/verbs/rego-subjunctive-active.klat
share/apps/klatin/data/verbs/rego-subjunctive-passive.klat
share/apps/klatin/data/verbs/sum-indicative-active.klat
share/apps/klatin/data/verbs/sum-subjunctive-active.klat
+share/apps/klatin/data/vocabs/de/A.kvtml
+share/apps/klatin/data/vocabs/de/BC.kvtml
+share/apps/klatin/data/vocabs/de/D.kvtml
+share/apps/klatin/data/vocabs/de/EF.kvtml
+share/apps/klatin/data/vocabs/de/GHI1.kvtml
+share/apps/klatin/data/vocabs/de/I2L.kvtml
+share/apps/klatin/data/vocabs/de/M.kvtml
+share/apps/klatin/data/vocabs/de/N.kvtml
+share/apps/klatin/data/vocabs/de/OP1.kvtml
+share/apps/klatin/data/vocabs/de/P2.kvtml
+share/apps/klatin/data/vocabs/de/QR.kvtml
+share/apps/klatin/data/vocabs/de/S.kvtml
+share/apps/klatin/data/vocabs/de/TU.kvtml
+share/apps/klatin/data/vocabs/de/V.kvtml
share/apps/klatin/data/vocabs/en/A.kvtml
share/apps/klatin/data/vocabs/en/BC.kvtml
share/apps/klatin/data/vocabs/en/D.kvtml
@@ -370,6 +413,51 @@ share/apps/klatin/klatinui.rc
share/apps/klettres/cs.txt
share/apps/klettres/da.txt
share/apps/klettres/data/sounds.xml
+share/apps/klettres/en/alpha/A.ogg
+share/apps/klettres/en/alpha/B.ogg
+share/apps/klettres/en/alpha/C.ogg
+share/apps/klettres/en/alpha/D.ogg
+share/apps/klettres/en/alpha/E.ogg
+share/apps/klettres/en/alpha/F.ogg
+share/apps/klettres/en/alpha/G.ogg
+share/apps/klettres/en/alpha/H.ogg
+share/apps/klettres/en/alpha/I.ogg
+share/apps/klettres/en/alpha/J.ogg
+share/apps/klettres/en/alpha/K.ogg
+share/apps/klettres/en/alpha/L.ogg
+share/apps/klettres/en/alpha/M.ogg
+share/apps/klettres/en/alpha/N.ogg
+share/apps/klettres/en/alpha/O.ogg
+share/apps/klettres/en/alpha/P.ogg
+share/apps/klettres/en/alpha/Q.ogg
+share/apps/klettres/en/alpha/R.ogg
+share/apps/klettres/en/alpha/S.ogg
+share/apps/klettres/en/alpha/T.ogg
+share/apps/klettres/en/alpha/U.ogg
+share/apps/klettres/en/alpha/V.ogg
+share/apps/klettres/en/alpha/W.ogg
+share/apps/klettres/en/alpha/X.ogg
+share/apps/klettres/en/alpha/Y.ogg
+share/apps/klettres/en/alpha/Z.ogg
+share/apps/klettres/en/syllab/aw.ogg
+share/apps/klettres/en/syllab/car.ogg
+share/apps/klettres/en/syllab/ch.ogg
+share/apps/klettres/en/syllab/dog.ogg
+share/apps/klettres/en/syllab/fix.ogg
+share/apps/klettres/en/syllab/gas.ogg
+share/apps/klettres/en/syllab/gem.ogg
+share/apps/klettres/en/syllab/hot.ogg
+share/apps/klettres/en/syllab/jet.ogg
+share/apps/klettres/en/syllab/key.ogg
+share/apps/klettres/en/syllab/me.ogg
+share/apps/klettres/en/syllab/my.ogg
+share/apps/klettres/en/syllab/no.ogg
+share/apps/klettres/en/syllab/pet.ogg
+share/apps/klettres/en/syllab/saw.ogg
+share/apps/klettres/en/syllab/say.ogg
+share/apps/klettres/en/syllab/sit.ogg
+share/apps/klettres/en/syllab/sky.ogg
+share/apps/klettres/en/syllab/th.ogg
share/apps/klettres/fr/alpha/a-0.ogg
share/apps/klettres/fr/alpha/a-1.ogg
share/apps/klettres/fr/alpha/a-10.ogg
@@ -424,6 +512,27 @@ share/apps/klettres/fr/syllab/ad-6.ogg
share/apps/klettres/fr/syllab/ad-7.ogg
share/apps/klettres/fr/syllab/ad-8.ogg
share/apps/klettres/fr/syllab/ad-9.ogg
+share/apps/klettres/icons/crystalsvg/128x128/actions/klettres_desert.png
+share/apps/klettres/icons/crystalsvg/128x128/actions/klettres_grownup.png
+share/apps/klettres/icons/crystalsvg/128x128/actions/klettres_kids.png
+share/apps/klettres/icons/crystalsvg/16x16/actions/klettres_desert.png
+share/apps/klettres/icons/crystalsvg/16x16/actions/klettres_grownup.png
+share/apps/klettres/icons/crystalsvg/16x16/actions/klettres_kids.png
+share/apps/klettres/icons/crystalsvg/22x22/actions/klettres_desert.png
+share/apps/klettres/icons/crystalsvg/22x22/actions/klettres_grownup.png
+share/apps/klettres/icons/crystalsvg/22x22/actions/klettres_kids.png.png
+share/apps/klettres/icons/crystalsvg/32x32/actions/klettres_desert.png
+share/apps/klettres/icons/crystalsvg/32x32/actions/klettres_grownup.png
+share/apps/klettres/icons/crystalsvg/32x32/actions/klettres_kids.png
+share/apps/klettres/icons/crystalsvg/48x48/actions/klettres_desert.png
+share/apps/klettres/icons/crystalsvg/48x48/actions/klettres_grownup.png
+share/apps/klettres/icons/crystalsvg/48x48/actions/klettres_kids.png
+share/apps/klettres/icons/crystalsvg/64x64/actions/klettres_desert.png
+share/apps/klettres/icons/crystalsvg/64x64/actions/klettres_grownup.png.png
+share/apps/klettres/icons/crystalsvg/64x64/actions/klettres_kids.png
+share/apps/klettres/icons/crystalsvg/scalable/actions/klettres_desert.svgz
+share/apps/klettres/icons/crystalsvg/scalable/actions/klettres_grownup.svgz
+share/apps/klettres/icons/crystalsvg/scalable/actions/klettres_kids.svgz
share/apps/klettres/klettresui.rc
share/apps/klettres/pics/background1.png
share/apps/klettres/pics/klettres_back.jpeg
@@ -434,8 +543,8 @@ share/apps/kmessedwords/dudeoh.png
share/apps/kmessedwords/dudeyes.png
share/apps/kmessedwords/easy.txt
share/apps/kmessedwords/hard.txt
+share/apps/kmessedwords/kmessedwordsui.rc
share/apps/kmessedwords/medium.txt
-share/apps/kmessedwords/splash.png
share/apps/kmessedwords/themes/bubbly_crystal/btnbye.png
share/apps/kmessedwords/themes/bubbly_crystal/btnconf.png
share/apps/kmessedwords/themes/bubbly_crystal/btnhelp.png
@@ -515,11 +624,15 @@ share/apps/kmplot/icons/crystalsvg/scalable/actions/minimum.svgz
share/apps/kmplot/icons/crystalsvg/scalable/actions/newfunction.svgz
share/apps/kmplot/icons/crystalsvg/scalable/actions/newparametric.svgz
share/apps/kmplot/icons/crystalsvg/scalable/actions/newpolar.svgz
-share/apps/kmplot/kmplotui.rc
-share/apps/kpercentage/icons/crystalsvg/32x32/actions/button_accept.png
+share/apps/kmplot/kmplot_part.rc
+share/apps/kmplot/kmplot_part_readonly.rc
+share/apps/kmplot/kmplot_shell.rc
+share/apps/kpercentage/icons/crystalsvg/22x22/actions/button_cancel.png
+share/apps/kpercentage/icons/crystalsvg/22x22/actions/button_ok.png
share/apps/kpercentage/icons/crystalsvg/32x32/actions/button_cancel.png
-share/apps/kpercentage/icons/locolor/32x32/actions/button_accept.png
+share/apps/kpercentage/icons/crystalsvg/32x32/actions/button_ok.png
share/apps/kpercentage/icons/locolor/32x32/actions/button_cancel.png
+share/apps/kpercentage/icons/locolor/32x32/actions/button_ok.png
share/apps/kpercentage/pics/kanswer_bg.png
share/apps/kpercentage/pics/kpercentage_bg.png
share/apps/kpercentage/pics/kpercentage_bg_rtl.png
@@ -568,6 +681,7 @@ share/apps/kstars/earth.R2.vsop
share/apps/kstars/earth.R3.vsop
share/apps/kstars/earth.R4.vsop
share/apps/kstars/earth.R5.vsop
+share/apps/kstars/earth.orbit
share/apps/kstars/earth.png
share/apps/kstars/fitsviewer.rc
share/apps/kstars/geomap.png
@@ -720,6 +834,7 @@ share/apps/kstars/jupiter.R2.vsop
share/apps/kstars/jupiter.R3.vsop
share/apps/kstars/jupiter.R4.vsop
share/apps/kstars/jupiter.R5.vsop
+share/apps/kstars/jupiter.orbit
share/apps/kstars/jupiter.png
share/apps/kstars/kstars.png
share/apps/kstars/kstarsui.rc
@@ -741,6 +856,7 @@ share/apps/kstars/mars.R2.vsop
share/apps/kstars/mars.R3.vsop
share/apps/kstars/mars.R4.vsop
share/apps/kstars/mars.R5.vsop
+share/apps/kstars/mars.orbit
share/apps/kstars/mars.png
share/apps/kstars/mercury.B0.vsop
share/apps/kstars/mercury.B1.vsop
@@ -760,6 +876,7 @@ share/apps/kstars/mercury.R2.vsop
share/apps/kstars/mercury.R3.vsop
share/apps/kstars/mercury.R4.vsop
share/apps/kstars/mercury.R5.vsop
+share/apps/kstars/mercury.orbit
share/apps/kstars/mercury.png
share/apps/kstars/moon00.png
share/apps/kstars/moon01.png
@@ -828,6 +945,7 @@ share/apps/kstars/neptune.R1.vsop
share/apps/kstars/neptune.R2.vsop
share/apps/kstars/neptune.R3.vsop
share/apps/kstars/neptune.R4.vsop
+share/apps/kstars/neptune.orbit
share/apps/kstars/neptune.png
share/apps/kstars/ngcic01.dat
share/apps/kstars/ngcic02.dat
@@ -850,6 +968,7 @@ share/apps/kstars/opscolors.png
share/apps/kstars/opsguides.png
share/apps/kstars/opssolarsystem.png
share/apps/kstars/pluto.freq
+share/apps/kstars/pluto.orbit
share/apps/kstars/pluto.png
share/apps/kstars/pluto.x
share/apps/kstars/pluto.y
@@ -872,6 +991,7 @@ share/apps/kstars/saturn.R2.vsop
share/apps/kstars/saturn.R3.vsop
share/apps/kstars/saturn.R4.vsop
share/apps/kstars/saturn.R5.vsop
+share/apps/kstars/saturn.orbit
share/apps/kstars/saturn.png
share/apps/kstars/show_cbound.png
share/apps/kstars/show_clines.png
@@ -900,6 +1020,7 @@ share/apps/kstars/uranus.R1.vsop
share/apps/kstars/uranus.R2.vsop
share/apps/kstars/uranus.R3.vsop
share/apps/kstars/uranus.R4.vsop
+share/apps/kstars/uranus.orbit
share/apps/kstars/uranus.png
share/apps/kstars/valaav.txt
share/apps/kstars/venus.B0.vsop
@@ -920,74 +1041,65 @@ share/apps/kstars/venus.R2.vsop
share/apps/kstars/venus.R3.vsop
share/apps/kstars/venus.R4.vsop
share/apps/kstars/venus.R5.vsop
+share/apps/kstars/venus.orbit
share/apps/kstars/venus.png
share/apps/kstars/wizardside.png
share/apps/kstars/wzdownload.png
share/apps/kstars/wzgeo.png
share/apps/kstars/wzscope.png
share/apps/kstars/wzstars.png
-share/apps/ktouch/catalan.ktouch
-share/apps/ktouch/danish-2.ktouch
-share/apps/ktouch/danish.ktouch
-share/apps/ktouch/de-ch.keyboard
+share/apps/ktouch/be.keyboard
+share/apps/ktouch/catalan.ktouch.xml
+share/apps/ktouch/danish.ktouch.xml
+share/apps/ktouch/danish2.ktouch.xml
+share/apps/ktouch/de-ch2.keyboard
share/apps/ktouch/de.keyboard
share/apps/ktouch/dk.keyboard
share/apps/ktouch/down.wav
-share/apps/ktouch/dutch.ktouch
share/apps/ktouch/dvorak.keyboard
-share/apps/ktouch/dvorak.ktouch
+share/apps/ktouch/dvorak.ktouch.xml
+share/apps/ktouch/dvorak_ABCD.ktouch.xml
+share/apps/ktouch/dvorak_se.keyboard
share/apps/ktouch/ee.keyboard
share/apps/ktouch/en.keyboard
-share/apps/ktouch/english.ktouch
+share/apps/ktouch/english.ktouch.xml
share/apps/ktouch/es.keyboard
share/apps/ktouch/fi.keyboard
share/apps/ktouch/fr.keyboard
share/apps/ktouch/fr_ch.keyboard
-share/apps/ktouch/french-2.ktouch
-share/apps/ktouch/french.ktouch
-share/apps/ktouch/german-2.ktouch
-share/apps/ktouch/german.ktouch
+share/apps/ktouch/french.ktouch.xml
+share/apps/ktouch/french2.ktouch.xml
+share/apps/ktouch/german.ktouch.xml
+share/apps/ktouch/german2.ktouch.xml
+share/apps/ktouch/german3.ktouch.xml
share/apps/ktouch/he.keyboard
share/apps/ktouch/it.keyboard
+share/apps/ktouch/italian.ktouch.xml
share/apps/ktouch/ktouchui.rc
share/apps/ktouch/la.keyboard
+share/apps/ktouch/nederlands.ktouch.xml
+share/apps/ktouch/nederlands_junior.ktouch.xml
share/apps/ktouch/no.keyboard
-share/apps/ktouch/norwegian.ktouch
+share/apps/ktouch/norwegian.ktouch.xml
share/apps/ktouch/number.keyboard
-share/apps/ktouch/number.ktouch
-share/apps/ktouch/portuguese.ktouch
+share/apps/ktouch/pl.keyboard
share/apps/ktouch/pt.keyboard
share/apps/ktouch/se.keyboard
-share/apps/ktouch/spanish.ktouch
+share/apps/ktouch/spanish.ktouch.xml
share/apps/ktouch/splash.png
share/apps/ktouch/up.wav
-share/apps/kturtle/data/logokeywords.de_DE.xml
share/apps/kturtle/data/logokeywords.en_US.xml
-share/apps/kturtle/data/logokeywords.fr_FR.xml
-share/apps/kturtle/data/logokeywords.nl.xml
-share/apps/kturtle/data/logokeywords.sr.xml
-share/apps/kturtle/data/logokeywords.sv.xml
-share/apps/kturtle/examples/de_DE/dreieck.logo
-share/apps/kturtle/examples/de_DE/locken.logo
-share/apps/kturtle/examples/de_DE/quadrat.logo
+share/apps/kturtle/examples/en_US/ad.logo
+share/apps/kturtle/examples/en_US/arrow.logo
+share/apps/kturtle/examples/en_US/canvascolors.logo
share/apps/kturtle/examples/en_US/curly.logo
-share/apps/kturtle/examples/en_US/example1.logo
+share/apps/kturtle/examples/en_US/flower.logo
+share/apps/kturtle/examples/en_US/randomname.logo
share/apps/kturtle/examples/en_US/square.logo
+share/apps/kturtle/examples/en_US/squaresss.logo
+share/apps/kturtle/examples/en_US/timestables.logo
share/apps/kturtle/examples/en_US/triangle.logo
-share/apps/kturtle/examples/fr_FR/carré.logo
-share/apps/kturtle/examples/fr_FR/enroulé.logo
-share/apps/kturtle/examples/fr_FR/exemple1.logo
-share/apps/kturtle/examples/fr_FR/triangle.logo
-share/apps/kturtle/examples/nl/driehoek.logo
-share/apps/kturtle/examples/nl/krullen.logo
-share/apps/kturtle/examples/nl/vierkant.logo
-share/apps/kturtle/examples/sr/curly.logo
-share/apps/kturtle/examples/sr/example1.logo
-share/apps/kturtle/examples/sr/square.logo
-share/apps/kturtle/examples/sr/triangle.logo
-share/apps/kturtle/examples/sv/fyrkant.logo
-share/apps/kturtle/examples/sv/snurrig.logo
-share/apps/kturtle/examples/sv/triangel.logo
+share/apps/kturtle/examples/en_US/trianglesss.logo
share/apps/kturtle/kturtleui.rc
share/apps/kturtle/pics/turtle.0000.png
share/apps/kturtle/pics/turtle.0001.png
@@ -1029,39 +1141,55 @@ share/apps/kverbos/data/de/verbos.verbos
share/apps/kverbos/data/en/verbos.verbos
share/apps/kverbos/kverbosui.rc
share/apps/kverbos/pics/startuplogo.png
-share/apps/kvoctrain/append-col.xpm
-share/apps/kvoctrain/append-row.xpm
-share/apps/kvoctrain/cleanup.xpm
-share/apps/kvoctrain/conf-save.xpm
-share/apps/kvoctrain/delete-col.xpm
-share/apps/kvoctrain/delete-row.xpm
-share/apps/kvoctrain/edit-row.xpm
-share/apps/kvoctrain/entry-in-query.png
-share/apps/kvoctrain/entry-inactive.png
share/apps/kvoctrain/examples/sample-de.kvtml
share/apps/kvoctrain/examples/sample-en.kvtml
-share/apps/kvoctrain/flags.xpm
-share/apps/kvoctrain/gen-conf.xpm
-share/apps/kvoctrain/lesson.xpm
-share/apps/kvoctrain/list-win.xpm
-share/apps/kvoctrain/logo.png
-share/apps/kvoctrain/new.xpm
-share/apps/kvoctrain/pron-win.xpm
-share/apps/kvoctrain/query-conf.xpm
-share/apps/kvoctrain/rand-less.xpm
-share/apps/kvoctrain/reset.xpm
-share/apps/kvoctrain/run-adj.xpm
-share/apps/kvoctrain/run-anto.xpm
-share/apps/kvoctrain/run-art.xpm
-share/apps/kvoctrain/run-exmp.xpm
-share/apps/kvoctrain/run-multi.xpm
-share/apps/kvoctrain/run-para.xpm
-share/apps/kvoctrain/run-query.xpm
-share/apps/kvoctrain/run-syno.xpm
-share/apps/kvoctrain/run-verb.xpm
-share/apps/kvoctrain/sort_alpha.xpm
-share/apps/kvoctrain/sort_num.xpm
-share/apps/kvoctrain/statist.xpm
+share/apps/kvoctrain/icons/crystalsvg/16x16/actions/cleanup.png
+share/apps/kvoctrain/icons/crystalsvg/16x16/actions/configure_query.png
+share/apps/kvoctrain/icons/crystalsvg/16x16/actions/delete_table_col.png
+share/apps/kvoctrain/icons/crystalsvg/16x16/actions/delete_table_row.png
+share/apps/kvoctrain/icons/crystalsvg/16x16/actions/edit_table_row.png
+share/apps/kvoctrain/icons/crystalsvg/16x16/actions/insert_table_col.png
+share/apps/kvoctrain/icons/crystalsvg/16x16/actions/insert_table_row.png
+share/apps/kvoctrain/icons/crystalsvg/16x16/actions/rand_less.png
+share/apps/kvoctrain/icons/crystalsvg/16x16/actions/run_multi.png
+share/apps/kvoctrain/icons/crystalsvg/16x16/actions/run_query.png
+share/apps/kvoctrain/icons/crystalsvg/16x16/actions/set_language.png
+share/apps/kvoctrain/icons/crystalsvg/16x16/actions/sort_incr.png
+share/apps/kvoctrain/icons/crystalsvg/16x16/actions/sort_num.png
+share/apps/kvoctrain/icons/crystalsvg/16x16/actions/statistics.png
+share/apps/kvoctrain/icons/crystalsvg/16x16/apps/kvoctrain.png
+share/apps/kvoctrain/icons/crystalsvg/22x22/actions/cleanup.png
+share/apps/kvoctrain/icons/crystalsvg/22x22/actions/configure_query.png
+share/apps/kvoctrain/icons/crystalsvg/22x22/actions/delete_table_col.png
+share/apps/kvoctrain/icons/crystalsvg/22x22/actions/delete_table_row.png
+share/apps/kvoctrain/icons/crystalsvg/22x22/actions/edit_table_row.png
+share/apps/kvoctrain/icons/crystalsvg/22x22/actions/insert_table_col.png
+share/apps/kvoctrain/icons/crystalsvg/22x22/actions/insert_table_row.png
+share/apps/kvoctrain/icons/crystalsvg/22x22/actions/rand_less.png
+share/apps/kvoctrain/icons/crystalsvg/22x22/actions/run_multi.png
+share/apps/kvoctrain/icons/crystalsvg/22x22/actions/run_query.png
+share/apps/kvoctrain/icons/crystalsvg/22x22/actions/set_language.png
+share/apps/kvoctrain/icons/crystalsvg/22x22/actions/sort_incr.png
+share/apps/kvoctrain/icons/crystalsvg/22x22/actions/sort_num.png
+share/apps/kvoctrain/icons/crystalsvg/22x22/actions/statistics.png
+share/apps/kvoctrain/icons/crystalsvg/22x22/apps/kvoctrain.png
+share/apps/kvoctrain/icons/crystalsvg/32x32/actions/cleanup.png
+share/apps/kvoctrain/icons/crystalsvg/32x32/actions/configure_query.png
+share/apps/kvoctrain/icons/crystalsvg/32x32/actions/delete_table_col.png
+share/apps/kvoctrain/icons/crystalsvg/32x32/actions/delete_table_row.png
+share/apps/kvoctrain/icons/crystalsvg/32x32/actions/edit_table_row.png
+share/apps/kvoctrain/icons/crystalsvg/32x32/actions/insert_table_col.png
+share/apps/kvoctrain/icons/crystalsvg/32x32/actions/insert_table_row.png
+share/apps/kvoctrain/icons/crystalsvg/32x32/actions/rand_less.png
+share/apps/kvoctrain/icons/crystalsvg/32x32/actions/run_multi.png
+share/apps/kvoctrain/icons/crystalsvg/32x32/actions/run_query.png
+share/apps/kvoctrain/icons/crystalsvg/32x32/actions/set_language.png
+share/apps/kvoctrain/icons/crystalsvg/32x32/actions/sort_incr.png
+share/apps/kvoctrain/icons/crystalsvg/32x32/actions/sort_num.png
+share/apps/kvoctrain/icons/crystalsvg/32x32/actions/statistics.png
+share/apps/kvoctrain/icons/crystalsvg/32x32/apps/kvoctrain.png
+share/apps/kvoctrain/icons/crystalsvg/48x48/apps/kvoctrain.png
+share/apps/kvoctrain/kvoctrainui.rc
share/apps/kwordquiz/eventsrc
share/apps/kwordquiz/examples/example.kvtml
share/apps/kwordquiz/examples/fill_in_the_blank.kvtml
@@ -1069,6 +1197,7 @@ share/apps/kwordquiz/examples/french_verbs.kvtml
share/apps/kwordquiz/examples/us_states_and_capitals.kvtml
share/apps/kwordquiz/icons/crystalsvg/128x128/apps/kwordquiz.png
share/apps/kwordquiz/icons/crystalsvg/128x128/mimetypes/kwordquiz_doc.png
+share/apps/kwordquiz/icons/crystalsvg/16x16/actions/answer.png
share/apps/kwordquiz/icons/crystalsvg/16x16/actions/check.png
share/apps/kwordquiz/icons/crystalsvg/16x16/actions/delete_table_row.png
share/apps/kwordquiz/icons/crystalsvg/16x16/actions/dontknow.png
@@ -1077,7 +1206,6 @@ share/apps/kwordquiz/icons/crystalsvg/16x16/actions/flash.png
share/apps/kwordquiz/icons/crystalsvg/16x16/actions/hint.png
share/apps/kwordquiz/icons/crystalsvg/16x16/actions/insert_table_row.png
share/apps/kwordquiz/icons/crystalsvg/16x16/actions/know.png
-share/apps/kwordquiz/icons/crystalsvg/16x16/actions/language2.png
share/apps/kwordquiz/icons/crystalsvg/16x16/actions/languages.png
share/apps/kwordquiz/icons/crystalsvg/16x16/actions/markasblank.png
share/apps/kwordquiz/icons/crystalsvg/16x16/actions/mode1.png
@@ -1087,6 +1215,7 @@ share/apps/kwordquiz/icons/crystalsvg/16x16/actions/mode4.png
share/apps/kwordquiz/icons/crystalsvg/16x16/actions/mode5.png
share/apps/kwordquiz/icons/crystalsvg/16x16/actions/multiple.png
share/apps/kwordquiz/icons/crystalsvg/16x16/actions/qa.png
+share/apps/kwordquiz/icons/crystalsvg/16x16/actions/question.png
share/apps/kwordquiz/icons/crystalsvg/16x16/actions/repeat.png
share/apps/kwordquiz/icons/crystalsvg/16x16/actions/restart.png
share/apps/kwordquiz/icons/crystalsvg/16x16/actions/rowcol.png
@@ -1095,6 +1224,7 @@ share/apps/kwordquiz/icons/crystalsvg/16x16/actions/sort_incr.png
share/apps/kwordquiz/icons/crystalsvg/16x16/actions/unmarkasblank.png
share/apps/kwordquiz/icons/crystalsvg/16x16/apps/kwordquiz.png
share/apps/kwordquiz/icons/crystalsvg/16x16/mimetypes/kwordquiz_doc.png
+share/apps/kwordquiz/icons/crystalsvg/22x22/actions/answer.png
share/apps/kwordquiz/icons/crystalsvg/22x22/actions/check.png
share/apps/kwordquiz/icons/crystalsvg/22x22/actions/delete_table_row.png
share/apps/kwordquiz/icons/crystalsvg/22x22/actions/dontknow.png
@@ -1103,7 +1233,6 @@ share/apps/kwordquiz/icons/crystalsvg/22x22/actions/flash.png
share/apps/kwordquiz/icons/crystalsvg/22x22/actions/hint.png
share/apps/kwordquiz/icons/crystalsvg/22x22/actions/insert_table_row.png
share/apps/kwordquiz/icons/crystalsvg/22x22/actions/know.png
-share/apps/kwordquiz/icons/crystalsvg/22x22/actions/language2.png
share/apps/kwordquiz/icons/crystalsvg/22x22/actions/languages.png
share/apps/kwordquiz/icons/crystalsvg/22x22/actions/markasblank.png
share/apps/kwordquiz/icons/crystalsvg/22x22/actions/mode1.png
@@ -1113,6 +1242,7 @@ share/apps/kwordquiz/icons/crystalsvg/22x22/actions/mode4.png
share/apps/kwordquiz/icons/crystalsvg/22x22/actions/mode5.png
share/apps/kwordquiz/icons/crystalsvg/22x22/actions/multiple.png
share/apps/kwordquiz/icons/crystalsvg/22x22/actions/qa.png
+share/apps/kwordquiz/icons/crystalsvg/22x22/actions/question.png
share/apps/kwordquiz/icons/crystalsvg/22x22/actions/repeat.png
share/apps/kwordquiz/icons/crystalsvg/22x22/actions/restart.png
share/apps/kwordquiz/icons/crystalsvg/22x22/actions/rowcol.png
@@ -1121,6 +1251,7 @@ share/apps/kwordquiz/icons/crystalsvg/22x22/actions/sort_incr.png
share/apps/kwordquiz/icons/crystalsvg/22x22/actions/unmarkasblank.png
share/apps/kwordquiz/icons/crystalsvg/22x22/apps/kwordquiz.png
share/apps/kwordquiz/icons/crystalsvg/22x22/mimetypes/kwordquiz_doc.png
+share/apps/kwordquiz/icons/crystalsvg/32x32/actions/answer.png
share/apps/kwordquiz/icons/crystalsvg/32x32/actions/check.png
share/apps/kwordquiz/icons/crystalsvg/32x32/actions/delete_table_row.png
share/apps/kwordquiz/icons/crystalsvg/32x32/actions/dontknow.png
@@ -1130,7 +1261,6 @@ share/apps/kwordquiz/icons/crystalsvg/32x32/actions/flash.png
share/apps/kwordquiz/icons/crystalsvg/32x32/actions/hint.png
share/apps/kwordquiz/icons/crystalsvg/32x32/actions/insert_table_row.png
share/apps/kwordquiz/icons/crystalsvg/32x32/actions/know.png
-share/apps/kwordquiz/icons/crystalsvg/32x32/actions/language2.png
share/apps/kwordquiz/icons/crystalsvg/32x32/actions/languages.png
share/apps/kwordquiz/icons/crystalsvg/32x32/actions/markasblank.png
share/apps/kwordquiz/icons/crystalsvg/32x32/actions/mode1.png
@@ -1141,6 +1271,7 @@ share/apps/kwordquiz/icons/crystalsvg/32x32/actions/mode5.png
share/apps/kwordquiz/icons/crystalsvg/32x32/actions/multiple.png
share/apps/kwordquiz/icons/crystalsvg/32x32/actions/qa.png
share/apps/kwordquiz/icons/crystalsvg/32x32/actions/question.png
+share/apps/kwordquiz/icons/crystalsvg/32x32/actions/question_mark.png
share/apps/kwordquiz/icons/crystalsvg/32x32/actions/repeat.png
share/apps/kwordquiz/icons/crystalsvg/32x32/actions/restart.png
share/apps/kwordquiz/icons/crystalsvg/32x32/actions/rowcol.png
@@ -1156,14 +1287,19 @@ share/apps/kwordquiz/icons/crystalsvg/scalable/mimetypes/kwordquiz_doc.svg
share/apps/kwordquiz/kwordquizui.rc
share/config.kcfg/kalzium.kcfg
share/config.kcfg/kbruch.kcfg
+share/config.kcfg/keduca.kcfg
share/config.kcfg/khangman.kcfg
+share/config.kcfg/kiten.kcfg
share/config.kcfg/klatin.kcfg
share/config.kcfg/klettres.kcfg
+share/config.kcfg/kmessedwords.kcfg
share/config.kcfg/kmplot.kcfg
share/config.kcfg/kstars.kcfg
+share/config.kcfg/ktouch.kcfg
share/config.kcfg/kturtle.kcfg
share/config.kcfg/kverbos.kcfg
share/config.kcfg/kvoctrain.kcfg
+share/config.kcfg/kwordquiz.kcfg
share/config/khangmanrc
share/config/klettresrc
share/config/kstarsrc
@@ -1172,6 +1308,7 @@ share/config/magic/drgeo.magic
share/doc/HTML/en/kalzium/common
share/doc/HTML/en/kalzium/index.cache.bz2
share/doc/HTML/en/kalzium/index.docbook
+share/doc/HTML/en/kalzium/man-kalzium.1.docbook
share/doc/HTML/en/kalzium/screenshot1.png
share/doc/HTML/en/kalzium/screenshot2.png
share/doc/HTML/en/kalzium/screenshot3.png
@@ -1263,6 +1400,7 @@ share/doc/HTML/en/kmplot/commands.docbook
share/doc/HTML/en/kmplot/common
share/doc/HTML/en/kmplot/configuration.docbook
share/doc/HTML/en/kmplot/credits.docbook
+share/doc/HTML/en/kmplot/dcop.docbook
share/doc/HTML/en/kmplot/developer.docbook
share/doc/HTML/en/kmplot/edu-logo.png
share/doc/HTML/en/kmplot/firststeps.docbook
@@ -1370,6 +1508,7 @@ share/doc/HTML/en/kstars/index.docbook
share/doc/HTML/en/kstars/indi.docbook
share/doc/HTML/en/kstars/indiclient.png
share/doc/HTML/en/kstars/indicontrolpanel.png
+share/doc/HTML/en/kstars/indiscript.png
share/doc/HTML/en/kstars/install.docbook
share/doc/HTML/en/kstars/jmoons.docbook
share/doc/HTML/en/kstars/jmoons.png
@@ -1387,6 +1526,8 @@ share/doc/HTML/en/kstars/luminosity_ex.png
share/doc/HTML/en/kstars/magnitude.docbook
share/doc/HTML/en/kstars/meridian.docbook
share/doc/HTML/en/kstars/newfov.png
+share/doc/HTML/en/kstars/observinglist.docbook
+share/doc/HTML/en/kstars/observinglist.png
share/doc/HTML/en/kstars/parallax.docbook
share/doc/HTML/en/kstars/popup.png
share/doc/HTML/en/kstars/precession.docbook
@@ -1471,6 +1612,7 @@ share/doc/HTML/en/kvoctrain/index.docbook
share/doc/HTML/en/kvoctrain/lang1-dlg.png
share/doc/HTML/en/kvoctrain/logo-kvoctrain.png
share/doc/HTML/en/kvoctrain/mainview.png
+share/doc/HTML/en/kvoctrain/man-spotlight2kvtml.1.docbook
share/doc/HTML/en/kvoctrain/mu-query-dlg.png
share/doc/HTML/en/kvoctrain/options1-dlg.png
share/doc/HTML/en/kvoctrain/options2-dlg.png
@@ -1505,6 +1647,8 @@ share/doc/HTML/en/kwordquiz/kwq-flashcard.png
share/doc/HTML/en/kwordquiz/kwq-multiple.png
share/doc/HTML/en/kwordquiz/kwq-qanda.png
share/icons/crystalsvg/128x128/apps/kalzium.png
+share/icons/crystalsvg/128x128/apps/kbruch.png
+share/icons/crystalsvg/128x128/apps/keduca.png
share/icons/crystalsvg/128x128/apps/khangman.png
share/icons/crystalsvg/128x128/apps/kig.png
share/icons/crystalsvg/128x128/apps/kiten.png
@@ -1517,13 +1661,10 @@ share/icons/crystalsvg/128x128/apps/kstars.png
share/icons/crystalsvg/128x128/apps/ktouch.png
share/icons/crystalsvg/128x128/apps/kverbos.png
share/icons/crystalsvg/128x128/apps/kwordquiz.png
+share/icons/crystalsvg/128x128/mimetypes/kig_doc.png
share/icons/crystalsvg/128x128/mimetypes/kwordquiz_doc.png
share/icons/crystalsvg/16x16/actions/kanjidic.png
share/icons/crystalsvg/16x16/actions/kverbosuser.png
-share/icons/crystalsvg/16x16/apps/edu_languages.png
-share/icons/crystalsvg/16x16/apps/edu_mathematics.png
-share/icons/crystalsvg/16x16/apps/edu_miscellaneous.png
-share/icons/crystalsvg/16x16/apps/edu_science.png
share/icons/crystalsvg/16x16/apps/kalzium.png
share/icons/crystalsvg/16x16/apps/kbruch.png
share/icons/crystalsvg/16x16/apps/keduca.png
@@ -1540,22 +1681,24 @@ share/icons/crystalsvg/16x16/apps/ktouch.png
share/icons/crystalsvg/16x16/apps/kverbos.png
share/icons/crystalsvg/16x16/apps/kvoctrain.png
share/icons/crystalsvg/16x16/apps/kwordquiz.png
+share/icons/crystalsvg/16x16/mimetypes/kig_doc.png
share/icons/crystalsvg/16x16/mimetypes/kwordquiz_doc.png
share/icons/crystalsvg/22x22/actions/edit_add.png
share/icons/crystalsvg/22x22/actions/edit_remove.png
share/icons/crystalsvg/22x22/actions/kanjidic.png
+share/icons/crystalsvg/22x22/apps/kbruch.png
+share/icons/crystalsvg/22x22/apps/khangman.png
+share/icons/crystalsvg/22x22/apps/kig.png
+share/icons/crystalsvg/22x22/apps/klatin.png
share/icons/crystalsvg/22x22/apps/kmplot.png
share/icons/crystalsvg/22x22/apps/kvoctrain.png
share/icons/crystalsvg/22x22/apps/kwordquiz.png
+share/icons/crystalsvg/22x22/mimetypes/kig_doc.png
share/icons/crystalsvg/22x22/mimetypes/kwordquiz_doc.png
share/icons/crystalsvg/32x32/actions/kbruch_exercise_common.png
share/icons/crystalsvg/32x32/actions/kbruch_exercise_compare.png
share/icons/crystalsvg/32x32/actions/kbruch_exercise_conversion.png
share/icons/crystalsvg/32x32/actions/kbruch_exercise_factorisation.png
-share/icons/crystalsvg/32x32/apps/edu_languages.png
-share/icons/crystalsvg/32x32/apps/edu_mathematics.png
-share/icons/crystalsvg/32x32/apps/edu_miscellaneous.png
-share/icons/crystalsvg/32x32/apps/edu_science.png
share/icons/crystalsvg/32x32/apps/kalzium.png
share/icons/crystalsvg/32x32/apps/kbruch.png
share/icons/crystalsvg/32x32/apps/keduca.png
@@ -1572,9 +1715,10 @@ share/icons/crystalsvg/32x32/apps/ktouch.png
share/icons/crystalsvg/32x32/apps/kverbos.png
share/icons/crystalsvg/32x32/apps/kvoctrain.png
share/icons/crystalsvg/32x32/apps/kwordquiz.png
+share/icons/crystalsvg/32x32/mimetypes/kig_doc.png
share/icons/crystalsvg/32x32/mimetypes/kwordquiz_doc.png
-share/icons/crystalsvg/48x48/apps/edu_languages.png
share/icons/crystalsvg/48x48/apps/kalzium.png
+share/icons/crystalsvg/48x48/apps/kbruch.png
share/icons/crystalsvg/48x48/apps/keduca.png
share/icons/crystalsvg/48x48/apps/khangman.png
share/icons/crystalsvg/48x48/apps/kig.png
@@ -1589,13 +1733,21 @@ share/icons/crystalsvg/48x48/apps/ktouch.png
share/icons/crystalsvg/48x48/apps/kverbos.png
share/icons/crystalsvg/48x48/apps/kvoctrain.png
share/icons/crystalsvg/48x48/apps/kwordquiz.png
+share/icons/crystalsvg/48x48/mimetypes/kig_doc.png
share/icons/crystalsvg/48x48/mimetypes/kwordquiz_doc.png
share/icons/crystalsvg/64x64/actions/kbruch_exercise_common.png
share/icons/crystalsvg/64x64/actions/kbruch_exercise_compare.png
share/icons/crystalsvg/64x64/actions/kbruch_exercise_conversion.png
share/icons/crystalsvg/64x64/actions/kbruch_exercise_factorisation.png
+share/icons/crystalsvg/64x64/apps/kbruch.png
+share/icons/crystalsvg/64x64/apps/keduca.png
+share/icons/crystalsvg/64x64/apps/khangman.png
+share/icons/crystalsvg/64x64/apps/kig.png
+share/icons/crystalsvg/64x64/apps/klatin.png
share/icons/crystalsvg/64x64/apps/kmplot.png
+share/icons/crystalsvg/64x64/mimetypes/kig_doc.png
share/icons/crystalsvg/scalable/apps/kalzium.svgz
+share/icons/crystalsvg/scalable/apps/kbruch.svgz
share/icons/crystalsvg/scalable/apps/khangman.svgz
share/icons/crystalsvg/scalable/apps/kig.svgz
share/icons/crystalsvg/scalable/apps/kiten.svgz
@@ -1608,12 +1760,10 @@ share/icons/crystalsvg/scalable/apps/kstars.svgz
share/icons/crystalsvg/scalable/apps/ktouch.svgz
share/icons/crystalsvg/scalable/apps/kverbos.svgz
share/icons/crystalsvg/scalable/apps/kwordquiz.svg
+share/icons/crystalsvg/scalable/mimetypes/kig_doc.svgz
share/icons/crystalsvg/scalable/mimetypes/kwordquiz_doc.svg
share/icons/hicolor/16x16/apps/kturtle.png
share/icons/hicolor/32x32/apps/kturtle.png
-share/icons/hicolor/48x48/apps/grownup.png
-share/icons/hicolor/48x48/apps/kids.png
-share/icons/hicolor/48x48/apps/menubar.png
share/icons/locolor/16x16/actions/edit_add.png
share/icons/locolor/16x16/actions/edit_remove.png
share/mimelnk/application/x-cabri.desktop
@@ -1625,9 +1775,11 @@ share/mimelnk/application/x-kig.desktop
share/mimelnk/application/x-kmplot.desktop
share/mimelnk/application/x-kseg.desktop
share/mimelnk/application/x-kwordquiz.desktop
+share/services/keduca_part.desktop
share/services/kfile_drgeo.desktop
share/services/kfile_kig.desktop
share/services/kig_part.desktop
+share/services/kmplot_part.desktop
@dirrm share/doc/HTML/en/kwordquiz
@dirrm share/doc/HTML/en/kvoctrain
@dirrm share/doc/HTML/en/kverbos
@@ -1672,6 +1824,19 @@ share/services/kig_part.desktop
@dirrm share/apps/kwordquiz/icons
@dirrm share/apps/kwordquiz/examples
@dirrm share/apps/kwordquiz
+@dirrm share/apps/kvoctrain/icons/crystalsvg/48x48/apps
+@dirrm share/apps/kvoctrain/icons/crystalsvg/48x48
+@dirrm share/apps/kvoctrain/icons/crystalsvg/32x32/apps
+@dirrm share/apps/kvoctrain/icons/crystalsvg/32x32/actions
+@dirrm share/apps/kvoctrain/icons/crystalsvg/32x32
+@dirrm share/apps/kvoctrain/icons/crystalsvg/22x22/apps
+@dirrm share/apps/kvoctrain/icons/crystalsvg/22x22/actions
+@dirrm share/apps/kvoctrain/icons/crystalsvg/22x22
+@dirrm share/apps/kvoctrain/icons/crystalsvg/16x16/apps
+@dirrm share/apps/kvoctrain/icons/crystalsvg/16x16/actions
+@dirrm share/apps/kvoctrain/icons/crystalsvg/16x16
+@dirrm share/apps/kvoctrain/icons/crystalsvg
+@dirrm share/apps/kvoctrain/icons
@dirrm share/apps/kvoctrain/examples
@dirrm share/apps/kvoctrain
@dirrm share/apps/kverbos/pics
@@ -1680,12 +1845,7 @@ share/services/kig_part.desktop
@dirrm share/apps/kverbos/data
@dirrm share/apps/kverbos
@dirrm share/apps/kturtle/pics
-@dirrm share/apps/kturtle/examples/sv
-@dirrm share/apps/kturtle/examples/sr
-@dirrm share/apps/kturtle/examples/nl
-@dirrm share/apps/kturtle/examples/fr_FR
@dirrm share/apps/kturtle/examples/en_US
-@dirrm share/apps/kturtle/examples/de_DE
@dirrm share/apps/kturtle/examples
@dirrm share/apps/kturtle/data
@dirrm share/apps/kturtle
@@ -1698,6 +1858,8 @@ share/services/kig_part.desktop
@dirrm share/apps/kpercentage/icons/locolor
@dirrm share/apps/kpercentage/icons/crystalsvg/32x32/actions
@dirrm share/apps/kpercentage/icons/crystalsvg/32x32
+@dirrm share/apps/kpercentage/icons/crystalsvg/22x22/actions
+@dirrm share/apps/kpercentage/icons/crystalsvg/22x22
@dirrm share/apps/kpercentage/icons/crystalsvg
@dirrm share/apps/kpercentage/icons
@dirrm share/apps/kpercentage
@@ -1721,13 +1883,33 @@ share/services/kig_part.desktop
@dirrm share/apps/kmessedwords/themes
@dirrm share/apps/kmessedwords
@dirrm share/apps/klettres/pics
+@dirrm share/apps/klettres/icons/crystalsvg/scalable/actions
+@dirrm share/apps/klettres/icons/crystalsvg/scalable
+@dirrm share/apps/klettres/icons/crystalsvg/64x64/actions
+@dirrm share/apps/klettres/icons/crystalsvg/64x64
+@dirrm share/apps/klettres/icons/crystalsvg/48x48/actions
+@dirrm share/apps/klettres/icons/crystalsvg/48x48
+@dirrm share/apps/klettres/icons/crystalsvg/32x32/actions
+@dirrm share/apps/klettres/icons/crystalsvg/32x32
+@dirrm share/apps/klettres/icons/crystalsvg/22x22/actions
+@dirrm share/apps/klettres/icons/crystalsvg/22x22
+@dirrm share/apps/klettres/icons/crystalsvg/16x16/actions
+@dirrm share/apps/klettres/icons/crystalsvg/16x16
+@dirrm share/apps/klettres/icons/crystalsvg/128x128/actions
+@dirrm share/apps/klettres/icons/crystalsvg/128x128
+@dirrm share/apps/klettres/icons/crystalsvg
+@dirrm share/apps/klettres/icons
@dirrm share/apps/klettres/fr/syllab
@dirrm share/apps/klettres/fr/alpha
@dirrm share/apps/klettres/fr
+@dirrm share/apps/klettres/en/syllab
+@dirrm share/apps/klettres/en/alpha
+@dirrm share/apps/klettres/en
@dirrm share/apps/klettres/data
@dirrm share/apps/klettres
@dirrm share/apps/klatin/data/vocabs/pl
@dirrm share/apps/klatin/data/vocabs/en
+@dirrm share/apps/klatin/data/vocabs/de
@dirrm share/apps/klatin/data/vocabs
@dirrm share/apps/klatin/data/verbs
@dirrm share/apps/klatin/data/grammar
@@ -1753,10 +1935,14 @@ share/services/kig_part.desktop
@dirrm share/apps/kbruch
@dirrm share/apps/kalzium/icons/crystalsvg/scalable/actions
@dirrm share/apps/kalzium/icons/crystalsvg/scalable
+@dirrm share/apps/kalzium/icons/crystalsvg/64x64/actions
+@dirrm share/apps/kalzium/icons/crystalsvg/64x64
@dirrm share/apps/kalzium/icons/crystalsvg/48x48/actions
@dirrm share/apps/kalzium/icons/crystalsvg/48x48
@dirrm share/apps/kalzium/icons/crystalsvg/32x32/actions
@dirrm share/apps/kalzium/icons/crystalsvg/32x32
+@dirrm share/apps/kalzium/icons/crystalsvg/22x22/actions
+@dirrm share/apps/kalzium/icons/crystalsvg/22x22
@dirrm share/apps/kalzium/icons/crystalsvg/16x16/actions
@dirrm share/apps/kalzium/icons/crystalsvg/16x16
@dirrm share/apps/kalzium/icons/crystalsvg/128x128/actions
@@ -1771,3 +1957,4 @@ share/services/kig_part.desktop
@dirrm share/applnk/Edutainment/Miscellaneous
@dirrm share/applnk/Edutainment/Mathematics
@dirrm share/applnk/Edutainment/Languages
+@dirrm include/libkiten