oweals/cde.git
12 years agoAdd pax files generated by dtksh to .gitignore
Marcin Cieslak [Fri, 24 Aug 2012 08:24:53 +0000 (10:24 +0200)]
Add pax files generated by dtksh to .gitignore

It seems that after changing -O2 to -O for FreeBSD
pax started to build successfully. Interesting.

12 years agolibtt: Resolve all remaining format-security warnings.
Peter Howkins [Sun, 26 Aug 2012 21:19:27 +0000 (22:19 +0100)]
libtt: Resolve all remaining format-security warnings.

12 years agolibtt: Warning prevention
Peter Howkins [Sun, 26 Aug 2012 18:48:55 +0000 (19:48 +0100)]
libtt: Warning prevention

One missing stdlib include and one security warning about not
using varargs func correctly.

12 years agoAdd missing includes [for modern systems] to lndir.c
David Cantrell [Thu, 23 Aug 2012 20:58:20 +0000 (16:58 -0400)]
Add missing includes [for modern systems] to lndir.c

12 years agoFix udbParseLib.awk so it doesn't generate warnings with gawk.
David Cantrell [Thu, 23 Aug 2012 19:52:06 +0000 (15:52 -0400)]
Fix udbParseLib.awk so it doesn't generate warnings with gawk.

Tested this change with both gawk and nawk and it worked fine.  If
the extra escape character is present and gawk is used, you'll get
warnings from gawk telling you it's ignoring the escape sequence
and just treating it as the character to begin with.

12 years agoFreeBSD: Use -O instead of -O2
Marcin Cieslak [Thu, 23 Aug 2012 21:09:43 +0000 (23:09 +0200)]
FreeBSD: Use -O instead of -O2

12 years agoUse KORNSHELL variable instead of /bin/ksh
Marcin Cieslak [Thu, 23 Aug 2012 15:49:26 +0000 (17:49 +0200)]
Use KORNSHELL variable instead of /bin/ksh

This patch removes instances of hardcoded
invocation of /bin/ksh and allows to
replace it with, for, example,
/usr/local/bin/ksh93

Also "ksh93" is accepted whenever "ksh" is.

Tested using the following /bin/ksh:

----8<----
WHAT=`ps -o command= -p $PPID`
msg="Something tried to call /bin/ksh: $PPID: $WHAT"
print -u2 "$msg"
logger user.warn "$msg"
exit 99
----8<----
(Warning: first two lines are FreeBSD specific)

Scripts from Makefiles should now be executed either
with

$(KORNSHELL) korn-shell-script

or

$(SHELL) bourne-shell-script

therefore #!/bin/ksh has not been changed everywhere.

/usr/dt/bin/ scripts have been converted (e.g. Xsession)

Whenever possible Imake and CPP facilities have been used.

For C and C++ programs KORNSHELL needs to be defined to
"/path/to/your/ksh" (with quotes) so that it can make
a valid C constant.

Therefore, when adding KORNSHELL to Imakefile for C files,
you have to add

CXXEXTRA_DEFINES = -DKORNSHELL=\"$(KORNSHELL)\"

or similar (for example, see programs/dtprintinfo)

But for simple shell script substitution we usually change

 LOCAL_CPP_DEFINES = -DCDE_CONFIGURATION_TOP=$(CDE_CONFIGURATION_TOP) \
                     -DCDE_INSTALLATION_TOP=$(CDE_INSTALLATION_TOP) \
                     -DCDE_LOGFILES_TOP=$(CDE_LOGFILES_TOP)

to:

 LOCAL_CPP_DEFINES = -DCDE_CONFIGURATION_TOP=$(CDE_CONFIGURATION_TOP) \
                     -DCDE_INSTALLATION_TOP=$(CDE_INSTALLATION_TOP) \
                     -DCDE_LOGFILES_TOP=$(CDE_LOGFILES_TOP) \
                     -DKORNSHELL=$(KORNSHELL) \
                     -DXPROJECTROOT=X11ProjectRoot

since we don't want quotes for shell scripts.

12 years ago64bit: Fix crash in dtexec
Marcin Cieslak [Thu, 23 Aug 2012 14:40:38 +0000 (16:40 +0200)]
64bit: Fix crash in dtexec

No ANSI prototype for malloc() caused
the returned pointer to be truncated
to 32 bits.

12 years agoFreeBSD: scan /usr/local/lib/X11/fonts/ for fontpath
Marcin Cieslak [Thu, 23 Aug 2012 14:40:37 +0000 (16:40 +0200)]
FreeBSD: scan /usr/local/lib/X11/fonts/ for fontpath

12 years agoUse FreeBSD-specific invocation of /bin/ps
Marcin Cieslak [Thu, 23 Aug 2012 14:40:36 +0000 (16:40 +0200)]
Use FreeBSD-specific invocation of /bin/ps

12 years agoexamples/tt now runs on FreeBSD
Marcin Cieslak [Wed, 22 Aug 2012 20:49:19 +0000 (22:49 +0200)]
examples/tt now runs on FreeBSD

12 years agolibtt: resolve implicit delaration of free() and exit() warnings
Peter Howkins [Wed, 22 Aug 2012 11:39:25 +0000 (12:39 +0100)]
libtt: resolve implicit delaration of free() and exit() warnings

12 years agolib/DtHelp: Include <stdio.h> to prevent warnings about implicit declartion of free()
Peter Howkins [Wed, 22 Aug 2012 11:10:10 +0000 (12:10 +0100)]
lib/DtHelp: Include <stdio.h> to prevent warnings about implicit declartion of free()

12 years agolibcsa: Warning prevention
Peter Howkins [Wed, 22 Aug 2012 10:53:08 +0000 (11:53 +0100)]
libcsa: Warning prevention

Remove 'implicit declaration' warnings by included correct ANSI C headers.
Correct some format strings for long ints.

12 years agodtcalc: Resolve "format not a string literal and no format arguments [-Wformat-securi...
Peter Howkins [Wed, 22 Aug 2012 10:28:36 +0000 (11:28 +0100)]
dtcalc: Resolve "format not a string literal and no format arguments [-Wformat-security]" warnings.

Fix warnings related to secruity concerns on varargs functions. By specifying
"%s" on single string calls to sprintf() (and related) it's not possible to
have a % in the input string causing random data to be read off the stack.

12 years agodtcalc: Resolve "missing sentinel in function call [-Wformat]" warnings
Peter Howkins [Wed, 22 Aug 2012 09:44:33 +0000 (10:44 +0100)]
dtcalc: Resolve "missing sentinel in function call [-Wformat]" warnings

Caused by XtVaGetValues() and XtVaSetValues() variable arguments lists
needing to be terminated by NULL not 0.

12 years agoSimple compiler warning fixes in programs/dthelp.
David Cantrell [Wed, 22 Aug 2012 01:53:33 +0000 (21:53 -0400)]
Simple compiler warning fixes in programs/dthelp.

12 years agoUse mkstemp() and handle /usr/lib64 in imake.c
David Cantrell [Wed, 22 Aug 2012 01:51:56 +0000 (21:51 -0400)]
Use mkstemp() and handle /usr/lib64 in imake.c

tmpnam() usage replaced with mkstemp().  Find a suitable tmp directory
checking the TMPDIR environment variable first, then the P_tmpdir
macro and finally /tmp directly.

On 64-bit Linux platforms, check to see if libc.so exists in /usr/lib64.
If found, use it over /usr/lib/libc.so.

12 years agoFix basic compiler warnings in ccimake.c
David Cantrell [Wed, 22 Aug 2012 01:51:06 +0000 (21:51 -0400)]
Fix basic compiler warnings in ccimake.c

main() always returns an int.

12 years agoAccount for multilib Linux installations in imake.
David Cantrell [Tue, 21 Aug 2012 13:34:23 +0000 (09:34 -0400)]
Account for multilib Linux installations in imake.

The libc.so file is not always in /usr/lib.  On multilib systems, the
file we care about could be in /usr/lib64.  Likewise, common Linux
conventions call for 64-bit libraries to go in lib64 directories, so
check there first when on a Linux 64-bit system.

12 years agoInclude stdlib.h in cde/config/imake/ccimake.c
David Cantrell [Fri, 17 Aug 2012 19:41:00 +0000 (15:41 -0400)]
Include stdlib.h in cde/config/imake/ccimake.c

stdlib.h defines exit(3) on Linux systems.

12 years agoFix localized build on OpenBSD.
Pascal Stumpf [Sun, 19 Aug 2012 17:35:38 +0000 (19:35 +0200)]
Fix localized build on OpenBSD.

Use the same set of langs as on Linux and FreeBSD (no Japanese), don't
redefine a needed macro as no-op, and unset LC_CTYPE in the environment
when building cat files.

12 years agoAdd mkcatdefs and book.* to .gitignore
Marcin Cieslak [Sun, 19 Aug 2012 20:40:01 +0000 (22:40 +0200)]
Add mkcatdefs and book.* to .gitignore

12 years agoBuild dtksh on OpenBSD.
Pascal Stumpf [Sun, 19 Aug 2012 16:33:42 +0000 (18:33 +0200)]
Build dtksh on OpenBSD.

This needs ksh93 to bootstrap, available in the openbsd-wip for now as a port,
due to be committed some time soon ...

12 years agoOpenBSD still uses GNU iconv, so the second argument to iconv(3) is not const.
Pascal Stumpf [Sun, 19 Aug 2012 16:19:40 +0000 (18:19 +0200)]
OpenBSD still uses GNU iconv, so the second argument to iconv(3) is not const.

12 years agoFix dttypes for BSD systems
Ulrich Wilkens [Sun, 19 Aug 2012 14:04:03 +0000 (16:04 +0200)]
Fix dttypes for BSD systems

12 years agoFind correct system includes and libs on FreeBSD.
Ulrich Wilkens [Sun, 19 Aug 2012 00:32:18 +0000 (02:32 +0200)]
Find correct system includes and libs on FreeBSD.

12 years agoAdd mkcatdefs program and make the imake changes so it can be used.
Jon Trulson [Sat, 18 Aug 2012 02:11:11 +0000 (20:11 -0600)]
Add mkcatdefs program and make the imake changes so it can be used.

12 years agoBuild missing Xm.cat Mrm.cat Uil.cat for LANG=C
Marcin Cieslak [Thu, 16 Aug 2012 22:04:40 +0000 (00:04 +0200)]
Build missing Xm.cat Mrm.cat Uil.cat for LANG=C

We need to use mkcatdefs to build those.

mkcatdefs needs to be built from the open motif
source tree (localized/util/mkcatdefs.c)
and installed as:

cde/imports/motif/localized/util/mkcatdefs

12 years agodtcreate: Replace broken GetBaseName with basename
Frederic Koehler [Fri, 17 Aug 2012 04:06:25 +0000 (00:06 -0400)]
dtcreate: Replace broken GetBaseName with basename

GetBaseName causes segfaults, because when the pathname
ends in a "/" it returns NULL. This happens when trying
to give a valid filename to dtcreate for an icon.

12 years agodtcreate: Fix some memory management issues
Frederic Koehler [Fri, 17 Aug 2012 02:34:26 +0000 (22:34 -0400)]
dtcreate: Fix some memory management issues

ProcessExecString thought it was returning an array of size 3; however
in C arrays are second-class and there is no direct way to return an
array like this; GCC warning triggered because it was actually
just returning a pointer to local storage. Fixed using malloc.

Also fix some obviously wrong usages of sizeof, although they were
relatively harmless. A little other warning quieting using 0 instead of
NULL.

12 years agodtcreate: Fix another buffer overflow issue
Frederic Koehler [Fri, 17 Aug 2012 02:17:39 +0000 (22:17 -0400)]
dtcreate: Fix another buffer overflow issue

12 years agoMerge branch 'EnvControl-fixes'
Jon Trulson [Fri, 17 Aug 2012 12:01:19 +0000 (06:01 -0600)]
Merge branch 'EnvControl-fixes'

12 years agoMerge branch 'master' of https://git.code.sf.net/p/cdesktopenv/code
Peter Howkins [Fri, 17 Aug 2012 09:26:09 +0000 (10:26 +0100)]
Merge branch 'master' of https://git.code.sf.net/p/cdesktopenv/code

12 years agodtcreate: Fix major buffer overflow
Frederic Koehler [Fri, 17 Aug 2012 01:04:56 +0000 (21:04 -0400)]
dtcreate: Fix major buffer overflow

This code always buffer overflowed, because exactly 2 bytes
less than were used were allocated. This led to dtcreate
crashing when hitting "Find Set..."

12 years agoDtSvc:EnvControl: Use more modern and less dangerous methods of manipulating the...
Jon Trulson [Fri, 17 Aug 2012 00:26:50 +0000 (18:26 -0600)]
DtSvc:EnvControl: Use more modern and less dangerous methods of manipulating the env.

This should work for both linux and the BSD's... It should hopefully
solve the corrupted environment errors Marcin sees on fbsd 9 amd64.

12 years agonew dtlogin rc script for linux from David McBrayer <d9j0m.dev@gmail.com>
Jon Trulson [Thu, 16 Aug 2012 23:05:38 +0000 (17:05 -0600)]
new dtlogin rc script for linux from David McBrayer <d9j0m.dev@gmail.com>

12 years agodtdocbook: on some systems SIGLOST = SIGPWR and they should not be in the same case...
William Schaub [Thu, 16 Aug 2012 17:55:41 +0000 (13:55 -0400)]
dtdocbook: on some systems SIGLOST = SIGPWR and they should not be in the same case statement.

12 years agoAdd support for building 32bit SPARC binaries under Linux.
William Schaub [Thu, 16 Aug 2012 02:35:49 +0000 (22:35 -0400)]
Add support for building 32bit SPARC binaries under Linux.

12 years agoProvide basic font aliases for FreeBSD
Marcin Cieslak [Thu, 16 Aug 2012 00:59:58 +0000 (02:59 +0200)]
Provide basic font aliases for FreeBSD

The following font families
(or their aliases) will be used:

-adobe-courier-bold-o-normal--*-
-adobe-courier-bold-r-normal--*-
-adobe-courier-medium-o-normal--*-
-adobe-courier-medium-r-normal--*-
-adobe-helvetica-bold-o-normal--*-
-adobe-helvetica-bold-r-normal--*-
-adobe-helvetica-medium-o-normal--*-
-adobe-helvetica-medium-r-normal--*-
-adobe-symbol-medium-r-normal--*-
-adobe-times-bold-i-normal--*-
-adobe-times-bold-r-normal--*-
-adobe-times-medium-i-normal--*-
-adobe-times-medium-r-normal--*-
-b&h-lucidasans-medium-r-normal-sans-*-
-b&h-lucidatypewriter-bold-r-normal-sans-*-
-b&h-lucidatypewriter-medium-r-normal-sans-*-

The files will be installed in

/usr/dt/config/xfonts/C

This directory should be added to the
X server font path:

   xset fp+ /usr/dt/config/xfonts/C

and/or via

   FontPath         "/usr/dt/config/xfonts/C"

in the "Files" section of the xorg.conf file.

12 years agoFix compiler warnings in dtsession
Marcin Cieslak [Thu, 16 Aug 2012 00:10:55 +0000 (02:10 +0200)]
Fix compiler warnings in dtsession

12 years agoMerge branch 'master' of https://git.code.sf.net/p/cdesktopenv/code
Peter Howkins [Thu, 16 Aug 2012 14:41:15 +0000 (15:41 +0100)]
Merge branch 'master' of https://git.code.sf.net/p/cdesktopenv/code

12 years agoModern BSDs don't need union wait
Marcin Cieslak [Wed, 15 Aug 2012 17:46:02 +0000 (19:46 +0200)]
Modern BSDs don't need union wait

We have

pid_t
wait3(int *status, int options, struct rusage *rusage);

on FreeBSD and we don't need (union wait) handling.

Another good candidate for one #ifdef from imake templates.
We have already OPT_BSD_WAIT in ToolTalk's tt_options.h

12 years agoFreeBSD does not need extern char *sys_errlist[]
Marcin Cieslak [Wed, 15 Aug 2012 17:46:01 +0000 (19:46 +0200)]
FreeBSD does not need extern char *sys_errlist[]

Add preprocessor directives not to try
to redefine sys_errlist[] or sys_nerr

There are already definitions:

 extern __const char *__const sys_errlist[];
 extern __const int sys_nerr;

in <stdio.h>

Actually we should have something like
NeedSysErrlist in imake definitions
to get rid of those #ifdefs.

12 years agoProcess sgml and man files in doc directory for FreeBSD.
Ulrich Wilkens [Wed, 15 Aug 2012 20:43:43 +0000 (22:43 +0200)]
Process sgml and man files in doc directory for FreeBSD.

12 years agoFreeBSD updates for dtspcd, dtfile and others
Marcin Cieslak [Wed, 15 Aug 2012 17:46:03 +0000 (19:46 +0200)]
FreeBSD updates for dtspcd, dtfile and others

* Add libraries where necesary
* Point to Freetype2 includes for dtfile
* Define default manpath

12 years agoMerge branch 'master' of https://git.code.sf.net/p/cdesktopenv/code
Peter Howkins [Wed, 15 Aug 2012 16:07:35 +0000 (17:07 +0100)]
Merge branch 'master' of https://git.code.sf.net/p/cdesktopenv/code

12 years agomp_session: Always use global displayname
Frederic Koehler [Wed, 15 Aug 2012 01:49:14 +0000 (21:49 -0400)]
mp_session: Always use global displayname

This code tried to automatically generate the X DISPLAY
from the combination of the hostname and display number;
however 127.0.0.1:0 is normally rejected by X11, so this
technique is no good. Fixes dticon hang on startup, caused by
XOpenDisplay failure leading to this message from tttrace:
tt_default_session_set(0x0x875190=="X 127.0.0.1 0") = 1032 (TT_ERR_ACCESS)

12 years agoconst char maze: unbreak ToolTalk build
Marcin Cieslak [Wed, 15 Aug 2012 02:07:01 +0000 (04:07 +0200)]
const char maze: unbreak ToolTalk build

Follow up to de82eebdd56c02ae200bf2d9ec60df053919e7e7

12 years agoUse $(KORNSHELL) for dtksh as well
Marcin Cieslak [Wed, 15 Aug 2012 01:45:39 +0000 (03:45 +0200)]
Use $(KORNSHELL) for dtksh as well

This commit updates master at de82eebdd56c02ae200bf2d9ec60df053919e7e7
to include bits from

   Message-Id: <1344951117-33716-3-git-send-email-saper@saper.info>
   http://thread.gmane.org/gmane.comp.desktop.cde.devel/283/focus=301

not included in the

   Message-Id: <1344951117-33716-1-git-send-email-saper@saper.info>
   http://thread.gmane.org/gmane.comp.desktop.cde.devel/283/focus=299

that was commited as d3206f451496035dbd5db5ed62a95e67e499c712

Also remove two generated files from the repository:
programs/dtksh/ksh93/man/man1/sh.1
programs/dtksh/ksh93/man/man3/nval.3

Conflicts:

cde/programs/dtksh/ksh93/Imakefile

12 years agoDeal with *.tmp.msg after mkcatdefs failure
Marcin Cieslak [Wed, 15 Aug 2012 01:30:48 +0000 (03:30 +0200)]
Deal with *.tmp.msg after mkcatdefs failure

BSD make interrupts shell pipeline after
if it cannot run the command:

rm -f Mrm.msg
ln -s ../../../../imports/motif/localized/de_DE.ISO8859-1/msg/Mrm.msg Mrm.msg
Running mkcatdefs for Mrm.cat with LANG set to de_DE.ISO8859-1
(  rm -f Mrm.cat Mrm.tmp.msg;  LANG=de_DE.ISO8859-1;  export LANG;  ../../../../imports/motif/localized/util/mkcatdefs Mrm Mrm.msg -h > Mrm.tmp.msg;  gencat  Mrm.cat Mrm.tmp.msg;  rm -f Mrm.tmp.msg  )
../../../../imports/motif/localized/util/mkcatdefs: not found
*** Error code 127

After this, an empty Mrm.tmp.msg is left.

12 years agoHave to pass a const char * to function expecting char * here, otherwise it fails...
Chris Wareham [Tue, 14 Aug 2012 11:59:44 +0000 (12:59 +0100)]
Have to pass a const char * to function expecting char * here, otherwise it fails to link thanks to the declaration of a stub wth non-const param.

12 years agoFix most of the following classes of warnings in the ToolTalk libraries:
Chris Wareham [Tue, 14 Aug 2012 10:49:53 +0000 (11:49 +0100)]
Fix most of the following classes of warnings in the ToolTalk libraries:

- Const strings referenced by non-const variables.
- Incorrect format specifers for printing addresses
- Unused variables
- Signed comparison to unsigned

Also fix an incorrect enumeration value in a switch statement.

12 years agoUse $(SHELL) and $(KORNSHELL) for shell scripts
Marcin Cieslak [Tue, 14 Aug 2012 13:31:56 +0000 (15:31 +0200)]
Use $(SHELL) and $(KORNSHELL) for shell scripts

Introduce KORNSHELL make variable to point
to the implementation of the Korn Shell.

Use $(SHELL) or $(KORNSHELL) explicitly for
make programs that do not automatically call
shell scripts from the current directory.

12 years agoCompile dtksh on FreeBSD
Marcin Cieslak [Tue, 14 Aug 2012 13:31:55 +0000 (15:31 +0200)]
Compile dtksh on FreeBSD

dtksh can be now compiled on FreeBSD. Work in progress.

Needs a real Korn shell to bootstrap as $(KSHELL).
KSHELL is set by default to /usr/local/bin/ksh93
(generic POSIX shell may not work)

Tested on:

  FreeBSD 9.0-BETA1 #0 r224912M amd64

Known issues:

xvmstat:
* sleep does not work well (SIGSTOP is delivered)
xpong:
* xpong: line 220:  ball1x = max_x * 2.2 / 3 : arithmetic syntax error
* dtksh is rebuilt uncondtionally every time make is invoked

12 years agoconfigRun.src: remove -s from inetd cmd, only run inetd if it exists.
ibid_ag@lavabit.com [Tue, 14 Aug 2012 03:14:09 +0000 (21:14 -0600)]
configRun.src: remove -s from inetd cmd, only run inetd if it exists.

12 years agoFreeBSD port: dtsearch, dtterm, dtwidget, dthelp
Marcin Cieslak [Mon, 13 Aug 2012 15:57:16 +0000 (17:57 +0200)]
FreeBSD port: dtsearch, dtterm, dtwidget, dthelp

FreeBSD portability of dtsearch, dtterm, dtwidget, dthelp

Work in progress for dtlogin and dtmail

12 years agodtbuilder: manually fix up istr.h (from Pascal) since the broken patch had already...
Jon Trulson [Tue, 14 Aug 2012 01:48:57 +0000 (19:48 -0600)]
dtbuilder: manually fix up istr.h (from Pascal) since the broken patch had already been reverted.

12 years agoWIP to make dtbuilder work on 64bit.
Pascal Stumpf [Mon, 13 Aug 2012 15:35:34 +0000 (17:35 +0200)]
WIP to make dtbuilder work on 64bit.

Fixes many, though not all 64bit-warnings.  In lots of places, pointers are
cast to ints to be then used as array subscripts.  The only way to deal with
this is to change them to long.  Additionally, use calloc() to allocate the
int_array in istr.c and drop the (wrong) macro patch to istr.h.  Should make
dtbuilder work on 32bit again.

12 years agolib/csa: Use ANSI C prototypes
Marcin Cieslak [Mon, 13 Aug 2012 10:10:37 +0000 (12:10 +0200)]
lib/csa: Use ANSI C prototypes

Improve type compatibility and enable
ANSI C prototypes.

12 years agoCast registerrpc args to xdrproc_t explicitly
Marcin Cieslak [Mon, 13 Aug 2012 10:08:04 +0000 (12:08 +0200)]
Cast registerrpc args to xdrproc_t explicitly

Fixes:
agent.c: In function '_DtCm_init_agent':
agent.c:160: warning: passing argument 5 of 'registerrpc' from incompatible pointer type
agent.c:160: warning: passing argument 6 of 'registerrpc' from incompatible pointer type
agent.c:167: warning: passing argument 5 of 'registerrpc' from incompatible pointer type
agent.c:167: warning: passing argument 6 of 'registerrpc' from incompatible pointer type

12 years agoNULL is a pointer, not string terminator
Marcin Cieslak [Mon, 13 Aug 2012 10:08:03 +0000 (12:08 +0200)]
NULL is a pointer, not string terminator

Replace some instances of NULL to '\0', when
referring to string terminator.

12 years agoRevert "At least on OpenBSD/amd64, this macro returns a bogus value if its argument...
Jon Trulson [Tue, 14 Aug 2012 00:18:52 +0000 (18:18 -0600)]
Revert "At least on OpenBSD/amd64, this macro returns a bogus value if its argument is NULL."

This reverts commit 0d2f7866ac676ab0f3c8ac3eabcec06f580a9d62.

This causes great mayhem in building/generating dtbuilder .msg files
(corrupting them, and inserting '(nil)' all over the place).

These would cause dtbuilder, and any other program built by dtcodegen
to have screwed up colors, missing callbacks and other mayhem.

This was confirmed by others on the list - reverting this made those
issues go away.

It may be that the int -> long is correct, but the NULL check
certainly does not seem to do what was intended.  I'll leave it up to
Pascal to investigate :)

12 years agoMerge branch 'master' of https://git.code.sf.net/p/cdesktopenv/code
Peter Howkins [Mon, 13 Aug 2012 09:31:07 +0000 (10:31 +0100)]
Merge branch 'master' of https://git.code.sf.net/p/cdesktopenv/code

12 years agoCompile ToolTalk on FreeBSD
Marcin Cieslak [Mon, 13 Aug 2012 02:01:47 +0000 (04:01 +0200)]
Compile ToolTalk on FreeBSD

Fix const correctness problems with OPT_CONST_CORRECT:

tt_xdr_utils.C: In constructor '_Tt_xdr_size_stream::_Tt_xdr_size_stream()':
tt_xdr_utils.C:150: error: invalid conversion from 'bool_t (*)(__rpc_xdr*, long int*)' to 'bool_t (*)(__rpc_xdr*, const long int*)'
tt_xdr_utils.C:151: error: invalid conversion from 'bool_t (*)(__rpc_xdr*, char*, unsigned int)' to 'bool_t (*)(__rpc_xdr*, const char*, u_int)'
tt_xdr_utils.C:159: error: invalid conversion from 'bool_t (*)(__rpc_xdr*, char*, unsigned int)' to 'bool_t (*)(__rpc_xdr*, const char*, u_int)'

tt_entry_pt.C: In function '_Tt_string _tt_entrypt_to_string(_Tt_entry_pt)':
tt_entry_pt.C:455: error: conversion from 'long int' to '_Tt_string' is ambiguous
../../lib/util/tt_string.h:104: note: candidates are: _Tt_string::_Tt_string(int)
../../lib/util/tt_string.h:102: note:                 _Tt_string::_Tt_string(const char*)

12 years agoSkip building m-guides and dtksh for FreeBSD
Marcin Cieslak [Mon, 13 Aug 2012 02:01:46 +0000 (04:01 +0200)]
Skip building m-guides and dtksh for FreeBSD

12 years agoImprove creation of shared libraries for FreeBSD
Marcin Cieslak [Mon, 13 Aug 2012 02:01:45 +0000 (04:01 +0200)]
Improve creation of shared libraries for FreeBSD

12 years agoAdjust cpp location for FreeBSD
Marcin Cieslak [Sun, 12 Aug 2012 22:37:42 +0000 (00:37 +0200)]
Adjust cpp location for FreeBSD

cpp was removed from /usr/libexec with FreeBSD 5.0-RELEASE.
Use __FreeBSD_version to tell imake if it's still there.

While here, X.Y.Z versioning ended with FreeBSD 3.0, so
we must be dealing with 2.Y.Z when checking for -lgnumalloc.

12 years agoFix broken linux builds caused by recent DtHelp/Imakefile jpeg change
Jon Trulson [Sun, 12 Aug 2012 23:31:28 +0000 (17:31 -0600)]
Fix broken linux builds caused by recent DtHelp/Imakefile jpeg change

A patch from Pascal Stumpf using external jpeg broke linux builds,
since libjpeg needs to be linked in when using a remote jpeg lib.

So, in lnxLib.tmpl, define SharedDtHelpReqs so -ljpeg is used.  Also,
in DtHelp/Imakefile, use proper Arch defines so external jpeg libs are
only used on linux, fbsd, and obsd systems.

12 years agosome tweaks for configRun: add -h/--usage option, use portable print instead of echo...
Douglas Mencken [Sun, 12 Aug 2012 21:13:36 +0000 (15:13 -0600)]
some tweaks for configRun: add -h/--usage option, use portable print instead of echo \c, etc.

12 years agodtcreate: check for TT_ERR_PTYPE the correct way
William Schaub [Sun, 12 Aug 2012 20:24:36 +0000 (16:24 -0400)]
dtcreate: check for TT_ERR_PTYPE the correct way

12 years agoUse cpp -traditional.
Pascal Stumpf [Sun, 12 Aug 2012 17:33:25 +0000 (19:33 +0200)]
Use cpp -traditional.

StandardCppOptions do not get respected here, so change the default CppCmd
to cpp -traditional like for FreeBSD.  Helps kill a few warnings.

12 years agosym2num: add path to cpp on OpenBSD.
Pascal Stumpf [Sun, 12 Aug 2012 19:27:19 +0000 (21:27 +0200)]
sym2num: add path to cpp on OpenBSD.

12 years agoLow-hanging fruit: Fix most warnings in lib/DtSearch.
Pascal Stumpf [Sun, 12 Aug 2012 16:51:53 +0000 (18:51 +0200)]
Low-hanging fruit: Fix most warnings in lib/DtSearch.

Most of these are related to missing includes and prototypes as well as
parens/braces.  A few are also potential 64bit issues.

12 years agoGet rid of malloc.h.
Pascal Stumpf [Sun, 12 Aug 2012 14:41:42 +0000 (16:41 +0200)]
Get rid of malloc.h.

This is a non-POSIX/ISO-C header.  It is ok to include this on Linux, but it
is obsolete on BSD; FreeBSD even throws an error if you include it with
__STDC__ defined.  Every system should nowadays have malloc() defined in
stdlib.h.

Diff is largely mechanical, replacing malloc.h with stdlib.h where it is not
yet included anyway.

12 years agoDo not use the PID as a way of generating a "random" filename.
Pascal Stumpf [Sun, 12 Aug 2012 18:27:32 +0000 (20:27 +0200)]
Do not use the PID as a way of generating a "random" filename.

This script did not even check for the file's existence prior to cat'ing
random stuff into it.  Ouch.

12 years agoDo not use internal libjpeg.
Pascal Stumpf [Sun, 12 Aug 2012 13:25:22 +0000 (15:25 +0200)]
Do not use internal libjpeg.

Nowadays, OpenMotif is itself linked to libjpeg, so pulling in another
version of it causes symbol size mismatches, not to mention the maintenance
burden and security implications arising from keeping our own copy of libjpeg.

We still need some of the header files provided here because they are internal
to libjpeg and not installed on most distributions.

12 years agodtmail actually does work now on OpenBSD due to other changes.
Pascal Stumpf [Sun, 12 Aug 2012 20:20:36 +0000 (14:20 -0600)]
dtmail actually does work now on OpenBSD due to other changes.

12 years agotooltalk: Fix bad assumptions about sizeof(uid_t)
Frederic Koehler [Sun, 12 Aug 2012 06:12:28 +0000 (02:12 -0400)]
tooltalk: Fix bad assumptions about sizeof(uid_t)

In part of the tooltalk rpc code (mp_message.c), it was assumed that on
the majority of platforms, sizeof(uid_t)=sizeof(gid_t)=sizeof(long).  On
Linux-x64, uid_t is an unsigned int, which makes the code fail: all
tooltalk messages fail to send with an RPC_CANTENCODEARGS at the
rpc-level, and TT_INTERNAL_ERR for the actual program.  We instead
change the code to explicitly examine sizeof(uid_t) to see whether it is
int or long sized. This allows tooltalk-dependent functinoality
like logout and multiple calls to dtfile to work.

12 years agott (tooltalk): Kill some warnings
Frederic Koehler [Sat, 11 Aug 2012 22:38:59 +0000 (18:38 -0400)]
tt (tooltalk): Kill some warnings

Includes some potentially bad pointer/int conversions

12 years agotttrace: Fix bad usage of va_arg with enums
Frederic Koehler [Sat, 11 Aug 2012 21:15:39 +0000 (17:15 -0400)]
tttrace: Fix bad usage of va_arg with enums

Enums may be represented with a smaller type than int; however, they are
automatically promoted to int when passed in va_arg lists, just as
short, char, etc. are. GCC thus "knows" that you never want to call
va_arg with an enum type, and instead inserts an abort.

12 years agoPatches for dtscreen, dtsearchpath, dtsession on OBSD.
Pascal Stumpf [Sat, 11 Aug 2012 12:04:50 +0000 (14:04 +0200)]
Patches for dtscreen, dtsearchpath, dtsession on OBSD.

Do not redefine round(3), and provide a manpath for OpenBSD.
(this is one of the few things that need to be adjusted for other BSDs)

12 years agoOpenBSD patches for ttsnoop.
Pascal Stumpf [Sat, 11 Aug 2012 12:12:47 +0000 (14:12 +0200)]
OpenBSD patches for ttsnoop.

Mostly adding std:: for strstream interfaces.

12 years agoOpenBSD patches for dtpdmd and dtprintinfo.
Pascal Stumpf [Sat, 11 Aug 2012 12:01:14 +0000 (14:01 +0200)]
OpenBSD patches for dtpdmd and dtprintinfo.

Casts, #ifdefs, SIGCLD ...

12 years agoOpenBSD #ifdefs for imake templates for localisations.
Pascal Stumpf [Sat, 11 Aug 2012 12:08:03 +0000 (14:08 +0200)]
OpenBSD #ifdefs for imake templates for localisations.

12 years agoMake nsgmls compile on OpenBSD.
Pascal Stumpf [Sat, 11 Aug 2012 12:09:40 +0000 (14:09 +0200)]
Make nsgmls compile on OpenBSD.

As far as I can tell, the duplicate instantiations from entmgr_inst.m4 are
unnecessary and only cause compile failures without -fpermissive.

12 years agoCurrent state of my dtmail work.
Pascal Stumpf [Sat, 11 Aug 2012 11:57:26 +0000 (13:57 +0200)]
Current state of my dtmail work.

Mostly #ifdefs and casts; also, do not redefine strcasestr().  This will
probably be needed for Linux too when compiling without -fpermissive.

12 years agoMake dtlogin compile on OpenBSD.
Pascal Stumpf [Sat, 11 Aug 2012 11:49:07 +0000 (13:49 +0200)]
Make dtlogin compile on OpenBSD.

Most importantly, we *cannot* do the utmp stuff this code is attempting.
It is SysV-specific.

12 years agoMake dtinfo work on OpenBSD.
Pascal Stumpf [Sat, 11 Aug 2012 11:43:57 +0000 (13:43 +0200)]
Make dtinfo work on OpenBSD.

strstream.h is now called "strstream" and is obsolete, but use it anyway until
all code is converted over.  This also needs std:: added, at least for GCC
4.2.1.  Lastly, when hardcoding the path to perl, /usr/bin/perl should be used
rather than anything else.

12 years agoOpenBSD patches for dtcalc, dtdocbook, dthelp and dtimsstart.
Pascal Stumpf [Sat, 11 Aug 2012 11:38:22 +0000 (13:38 +0200)]
OpenBSD patches for dtcalc, dtdocbook, dthelp and dtimsstart.

12 years agodtcreate: Fix double free inside ProcessExecString()
William Schaub [Sat, 11 Aug 2012 18:46:35 +0000 (14:46 -0400)]
dtcreate: Fix double free inside ProcessExecString()

12 years agodtcreate: fix exit with TT_ERR_PTYPE and fix several sprintf related segfaults.
William Schaub [Sat, 11 Aug 2012 08:02:17 +0000 (04:02 -0400)]
dtcreate: fix exit with TT_ERR_PTYPE and fix several sprintf related segfaults.

12 years agore-enable building of dtmail, except on OpenBSD
Jon Trulson [Sun, 12 Aug 2012 01:26:04 +0000 (19:26 -0600)]
re-enable building of dtmail, except on OpenBSD

12 years agoImakefile diffs for OpenBSD.
Pascal Stumpf [Thu, 9 Aug 2012 20:06:51 +0000 (22:06 +0200)]
Imakefile diffs for OpenBSD.

12 years agoimake: Convert function prototypes and signatures to ANSI format.
Chris Wareham [Fri, 10 Aug 2012 13:48:56 +0000 (14:48 +0100)]
imake: Convert function prototypes and signatures to ANSI format.

12 years agoFixes for dtfile on OpenBSD, plus missing prototypes. Use statfs() on BSD to find...
Pascal Stumpf [Fri, 10 Aug 2012 13:09:04 +0000 (15:09 +0200)]
Fixes for dtfile on OpenBSD, plus missing prototypes. Use statfs() on BSD to find out if a file system is NFS.

12 years agoOpenBSD fixes for dtcm. There are no global "timezone" and "tzname" symbols on BSD...
Pascal Stumpf [Fri, 10 Aug 2012 12:44:57 +0000 (14:44 +0200)]
OpenBSD fixes for dtcm. There are no global "timezone" and "tzname" symbols on BSD. Apart from that, mainly #ifdefs.

12 years agoOpenBSD fixes for DtWidget, dtaction, dtappbuilder.
Pascal Stumpf [Fri, 10 Aug 2012 12:35:23 +0000 (14:35 +0200)]
OpenBSD fixes for DtWidget, dtaction, dtappbuilder.

12 years agoAllow dtterm to at least allocate a pty on OpenBSD. Display is still mangled, however...
Pascal Stumpf [Fri, 10 Aug 2012 12:29:28 +0000 (14:29 +0200)]
Allow dtterm to at least allocate a pty on OpenBSD. Display is still mangled, however, and it frequently crashes (64bit issue).

12 years agoOpenBSD fixes for lib/DtTerm: values.h, #ifdef's and some constants that are not...
Pascal Stumpf [Thu, 9 Aug 2012 21:53:47 +0000 (23:53 +0200)]
OpenBSD fixes for lib/DtTerm: values.h, #ifdef's and some constants that are not defined on BSD. Also, leave out utmp stuff that does not work on BSD. Note that this terminal allocation does not work properly yet, but this will be fixed later.