Commit Graph

473 Commits

Author SHA1 Message Date
Jon Trulson 2c2fb1151d csa/match.c: coverity CID 87204; bad free; WTF 2018-03-31 18:36:22 -06:00
Jon Trulson 4543bc6192 libtt/process.c: coverity CID 87051; use after free 2018-03-31 18:08:02 -06:00
Jon Trulson 6cd0391409 libtt/db_server_svc.C: coverity CID 87060; string overflow 2018-03-31 18:02:11 -06:00
Peter Howkins 73b6311a83 libDtWidget: Resolve some Coverity warnings 2018-03-31 00:15:05 +01:00
Peter Howkins 50a96959f0 libtt: Resolve some compiler warnings 2018-03-28 21:34:08 +01:00
Peter Howkins 637abd5d5c Resolve some coverity warnings 2018-03-08 23:03:21 +00:00
alx 5669c8a60f libtt: pass proper flags to getfsstat, log error message and exit if it fails 2017-07-29 12:42:49 -06:00
alx ae7dd95cc4 ttsession: don't segfault if host name isn't properly set 2016-12-31 15:14:59 -07:00
alx c855ee9765 libDtSvc: added Xinerama support to _DtMessageDialog 2016-12-31 15:14:43 -07:00
Swift Griggs 1fdcd4c93d Patches from pkgsrc-WIP 2016-08-05 11:21:06 -06:00
Jon Trulson a173dd3b3b release: update version to 2.2.4, update HISTORY 2016-06-19 12:46:29 -06:00
Peter Howkins 2ea057d511 Disable all code related to libXp
deprecated and mostly no longer included on current OSes
2016-04-20 20:17:22 +01:00
Jon Trulson 10742f3679 ttcp: fix missing arg to fprintf 2015-12-18 09:55:20 -07:00
alx ae16363537 DtWidget: resolved some compiler warnings 2015-07-23 18:51:48 -06:00
alx c67763c82d DtWidget: added appropriate KeyPress event handler to DtIcon widget 2015-07-23 18:51:43 -06:00
Douglas Carmichael ecdf9eba10 Changed memcpy() to memmove() to stop coredumping on OpenBSD 5.7. 2015-06-21 17:07:41 -06:00
Jon Trulson 14b9e2efa3 cde: change revision to 2.2.3 2015-05-09 16:58:46 -06:00
Ulrich Wilkens 8b38d9ea49 Fix broken build on OpenBSD 2015-05-09 16:21:32 -06:00
Ulrich Wilkens 2b8b5f25b5 Support for new Solaris/OpenIndiana versions 2015-05-09 16:19:08 -06:00
Stuart Brady 0306c7c6f2 DtTerm: fix formatted text in history buffer
Formatted text currently gets corrupted by DtTerm when copied into its
history buffer.

As soon as a line of text is copied into the history, the text of each
segment of formatted text is altered so that it contains the text from
the start of the line.  For example:

    echo -e '\e[1mbold\e[m \e[4munderlined\e[m'

When the text has scrolled off the screen, scrolling back to it reveals:

    boldbbold under

This is fixed by adding the calls to _DtTermPrimBufferGetCharacterPointer
that were missing which would update the buffer pointer when inserting
text into the history buffer.
2015-05-05 16:47:05 -06:00
Peter Howkins 5c8f66a07d libDtSvc: Resolve 28 compiler warnings. 2015-01-14 14:10:55 +00:00
Peter Howkins 49266f9019 libDtPrint: Resolve the 1 remaining compiler warning. 2015-01-14 11:43:58 +00:00
Peter Howkins f8f04a5977 libDtHelp: Resolve 11 compiler warnings. 2015-01-14 11:41:38 +00:00
Matthew Howkins 2863b839e5 libtt: Change to standard function prototypes in ttauth. Fix some compiler warnings by adding #includes 2014-12-30 17:31:46 +00:00
Matthew Howkins be49dc56bc libtt: Fix some uninitialized variables detected by Coverity 2014-12-30 17:31:38 +00:00
Jon Trulson 7484c6f88b DtXinerama: no need to check unsigned int < 0 (CID:86121) 2014-12-27 14:14:59 -07:00
Jon Trulson 4c6e66ceb8 tt/mini_isam: Coverity (memory corruption, moderate) 2014-12-26 16:15:53 -07:00
Jon Trulson 6f45dde569 tt/mini_isam: Coverity (memory corruption, moderate) 2014-12-26 16:15:25 -07:00
Jon Trulson ce7bdf9f62 ttsession: Coverity (memory corruption, moderate) 2014-12-26 16:14:35 -07:00
Jon Trulson e45843bc95 ttauth: Coverity (memory corruption, moderate) 2014-12-26 16:13:07 -07:00
Jon Trulson 3013374988 csa: Coverity (memory corruption, moderate) 2014-12-26 16:00:55 -07:00
Jon Trulson 50de34a933 DtTerm: Coverity (memory corruption, moderate) 2014-12-26 15:59:52 -07:00
Jon Trulson cedb47114f DtTerm: Coverity (memory corruption, moderate) 2014-12-26 15:58:50 -07:00
Jon Trulson c18f109032 DtSvc/DtUtil2: Coverity (memory corruption, moderate) 2014-12-26 15:57:47 -07:00
Jon Trulson 775008571d DtSvc/DtUtil1: Coverity (memory corruption, moderate) 2014-12-26 15:56:10 -07:00
Jon Trulson 9d26729d65 DtSvc/DtEncap: Coverity (memory corruption, moderate) 2014-12-26 15:55:02 -07:00
Jon Trulson 48cfb46a97 DtSvc: Coverity (memory corruption, moderate) 2014-12-26 15:54:08 -07:00
Jon Trulson 80b516d021 DtSearch: remove bogus debug block 2014-12-26 15:52:33 -07:00
Jon Trulson 17379a3fc0 DtHelp: Coverity (memory corruption, moderate) 2014-12-26 15:50:41 -07:00
Jon Trulson 7887e99477 DtHelp: Coverity (memory corruption, moderate) 2014-12-26 15:49:43 -07:00
Jon Trulson f719d20b6c ttauth: Coverity (memory corruption) 2014-12-26 14:12:10 -07:00
Jon Trulson e18ac00c82 DtWidget: Coverity (memory corruption) 2014-12-26 14:10:01 -07:00
Jon Trulson b0548ce111 DtTerm: Coverity (memory corruption) 2014-12-26 14:08:24 -07:00
Jon Trulson fa0074904b DtSvc: Coverity (memory corruption) 2014-12-26 14:06:26 -07:00
Jon Trulson 2d89ad036a DtSvc: Coverity (memory corruption) 2014-12-26 14:03:17 -07:00
Jon Trulson 9751abddff DtHelp: Coverity (memory corruption) 2014-12-26 13:42:23 -07:00
Matthew Howkins caf4929c41 libtt: Fix 'Missing return statement' errors detected by static analysis 2014-12-23 22:04:59 +00:00
Peter Howkins 407aa2c4b7 libDtWidget: Resolve some static analyser warnings
prevent usage of potentially unitialised variables.
2014-12-23 20:05:01 +00:00
Ulrich Wilkens 29294e0373 Fix FreeBSD 10.1 build 2014-11-20 17:48:57 -07:00
Ulrich Wilkens 01d6c363fa OpenIndiana and Solaris port 2014-10-28 13:40:11 -06:00
Ulrich Wilkens 42e891d9e7 Resolve many build warnings
This patch fixes many warnings from the beginning of the build up to
and including the depend stage. Nearly all warnings should be gone
even with -Wall.
2014-09-23 17:57:50 -06:00
Ulrich Wilkens c3f74eec17 FreeBSD 10 clang port 2014-07-27 12:32:35 -06:00
Jon Trulson 8d0551bfda Version change to 2.2.2 2014-07-23 16:16:57 -06:00
Eugene Doudine 4e2adc1f8e Fixes the bug, which caused dtterm to show stripes of wrong color between text lines when using fontsets that include fonts of slightly different heights.
The cause of the bug was that X*DrawImageString draws background
according to the extents of the given string, not to extents of the font set,
which determine terminal line height.

Now, when such a situation is detected, the background is cleared before
drawing the characters.
2014-05-03 22:11:41 -06:00
Jon Trulson 0254ebc0b4 xtclient.c: fix debug statement regarding fd number 2014-03-24 19:54:37 -06:00
Jon Trulson 3c35e2d14d xtclient.c, spcd_event.c: stop referencing fds_bits directly 2014-03-24 19:37:09 -06:00
Jon Trulson 4312a1190b cleanup: eliminate missing sentinel warnings 2014-03-24 18:26:10 -06:00
Jon Trulson 9b699d3fb1 linux: build with thread safety and REENTRANT enabled.
There was a check in linux.cf for the Linux libc version that didn't
work, since these were never set anywhere.  Presumably current Xorg
imake sets these, but since we aren't using that... (yet)

As a result, the build assumed that thread-safe API's were not
supported.  Setting the default libc major version to '6' allows the
proper build to take place.  libc5 was never threadsafe and no one has
probably used it in over 10 years.

As a result, some earlier porting fixes that referenced '__fds_bits'
on linux systems had to be reverted as these are not valid in an MT
environment.  They are also not neccessary when building in such an
environment, as the normal 'fds_bits' works fine.

This patch defintely needs testing on many linux systems.
2014-03-24 17:15:40 -06:00
alx f6adc98dd7 DtWidget: Don't free random pointer on Control widget destruction 2014-03-23 23:07:52 -06:00
Jon Trulson ddb4933039 tt_xdr_utils.h: fix build error on linux/bsd introduced with illumos initial patch.
The linux's and BSD's need the 'struct XDR::xdr_ops ops' declaration,
whereas I guess sun does not.
2014-03-22 16:54:24 -06:00
Peter Tribble 468d576030 initial illumos port 2014-03-22 16:33:11 -06:00
Jon Trulson 3c14b8b5ce libcsa: fix up some stupidness. 2014-03-12 17:00:07 -06:00
Ulrich Wilkens d24fd29b52 Fix dtfile and dtterm on NetBSD 2014-03-11 13:06:55 -06:00
Jon Trulson 9f0fbc3015 mp_rpc_server.C: limit iteration of svc_fdset to FD_SETSIZE, as per spec.
In init() there was code iterating over all of the possible file
descriptors in a svc_fdset.  fdsets are limited to FD_SETSIZE.  This
caused coredumps on FreeBSD 10, and possibly other hidden issues.

Moving to poll(), rather than select() would be better, but is a bigger
job.  For now, just limit to the FD_SETSIZE that select() requires.
2014-03-10 14:49:37 -06:00
Jon Trulson b147e0ce12 libDtTerm: add include <stdio.h> so FILE is properly defined.
TermPrim/TermPrimDebug.h references FILE without including the
required header file.  I am not sure why this hasn't shown up before.
2014-03-09 00:21:40 -07:00
Jon Trulson 8f648927eb Version change to 2.2.1 2014-03-01 15:48:49 -07:00
Ulrich Wilkens 2712d5f787 NetBSD port 2014-02-22 19:12:19 -07:00
Eugene Doudine 4c56765da3 Fix for several segfaults in dtwm that happen with UTF-8 locale and were caused by unckeked XmeRenderTableGetDefaultFont return value 2014-02-22 19:07:52 -07:00
Ulrich Wilkens 6b0da8f335 Introduction of BSDArchitecture 2013-10-20 16:23:40 -06:00
Ulrich Wilkens 2d08153289 correction of message files 2013-09-15 19:35:53 -06:00
Ulrich Wilkens 4ec9658299 dtinfo other files 2013-08-29 19:47:51 -06:00
Ulrich Wilkens a4ab06ac1e lib/DtHelp: added missing include. 2013-07-25 18:29:33 -06:00
Pascal Stumpf 7e0a9517e3 Silence lots of warnings in lib/DtHelp.
* 64bit warnings
* Missing prototypes
* explicit parentheses / brackets

There's still some work to be done, but, as always, it's a start ...
2013-07-22 17:19:13 -06:00
Pascal Stumpf 0c165f56f5 kill a few more warnings in DtPrint 2013-07-22 17:15:34 -06:00
Pascal Stumpf dc0e8ea74d Kill most warnings in lib/DtTerm.
Mostly missing headers, explicit parentheses and new prototypes.

Some Caveats:
* I haven't compile-tested the SVR4 getpty file, it might need another tweak
* There were operator precedence bugs in TermPrimCursor.c and TermPrimRender.c
  (^ vs. !=).  This might change behaviour, but at least I haven't experienced
  any crashes ...
* This adds a little more dependencies for include ordering, but unless we
  want to play the "headers that include headers that include headers..." game,
  this is unavoidable.
2013-07-22 17:12:07 -06:00
Pascal Stumpf 8f98ac92cd Kill lots of warnings in DtSvc. 2013-07-21 15:54:39 -06:00
Jon Trulson fbe451187f Merge branch 'master' into multi-monitor 2013-05-17 23:55:51 -06:00
Jon Trulson a198d898e8 TT RPC server: Don't search 538 million transients trying to allocate one.
Currently, mp_rpc_server.C tries 538 million ports to acquire an
available transient rpcbind port number.  This is bad when rpcbind is
running in secure mode (and you are not using tirpc) - Xsession will
'hang' at the dthello (blue) screen filling up your error logs with
RPC errors.

Now, just try +- 50 (for a total of 100 ports) before bailing.  The
dthello 'blue screen of death' is the most common problem in starting
CDE when rpcbind isn't set up properly.  This should at least not
cause the appearance of a 'hang'.
2013-05-17 16:16:17 -06:00
Jon Trulson af7ba55f78 Add basic Xinerama support via new lib/DtXinerama
This adds a basic library and support to dtsession and dtlogin to
support Xinerama/Twinview, where multimple monitors are used to make
up an X11 screen.

The main goal here is to draw dialogs and such centered on a monitor,
rather than spread out over multiple monitors.

Might need to add sorting - as on my test system, what I would
consider monitor 0, appears to actually be monitor 1.  So a sort might
need to be added to sort the screens according to increasing x and y
offsets so it make sense to a user.

Also, this library is built statically and not documented.  Maybe it
could be 'filled' out and refactored/redesigned in the futre if need
be and suppoerted.

It is enabled via a define, CDE_USEXINERAMA in site.def.  It's a very
simple lib, so I do not expect any issues with the BSD's - it should
build and work fine, assuming your X server has the XINERAMA
extension, which I think pretty much all of them do at this point.
2013-03-26 19:49:50 -06:00
Karsten Pedersen 69997241c5 Fixed building on FreeBSD 8.x 2013-02-26 17:28:17 -07:00
Pascal Stumpf 0ec1d6b692 Avoid negative array subscript; break out of the loop if that happens. 2012-11-27 23:46:12 -07:00
Jon Trulson f84950100f Revert "Older Linux installations do not have svcfd_create()."
This reverts commit 44e384aedb.

This code is actually needed.  If svcfd_create() is not available, it
should be fixed only for those systems that it affects.
2012-11-24 19:16:58 -07:00
Peter Howkins 43cfaeaa65 libDtSearch: Resolve 137 -Wunused-variable warnings. 2012-11-12 17:13:36 +00:00
Peter Howkins 9040256676 libDtSearch: Resolve 38 -Wformat warnings 2012-11-12 16:26:11 +00:00
Peter Howkins a10520c43c libDtPrint: Resolve 9 -Wunused-variable warnings. 2012-11-12 15:03:37 +00:00
Peter Howkins 21feacd159 libdthelp: Resolve 65 -Wunused-variable warnings 2012-11-09 17:20:46 +00:00
Peter Howkins 6f2a704bbd libcsa: Resolve 96 -Wunused-variable warnings.
This is not all of them, another ~90 exist in generated code.
2012-11-06 15:07:08 +00:00
Peter Howkins 37c30d32f7 lidtwidget: Resolve 74 -Wunused-variable warnings 2012-11-06 13:56:11 +00:00
Peter Howkins cd39eabb18 libdthelp: resolve 46 compiler warnings 2012-10-08 15:34:45 +01:00
Jelle Hermsen b8862cab32 Changed a couple of ifdefs for __FreeBSD__ to CSRG_BASED. These are all clearcut cases. I left the ones I had doubts about, or where I wasn't sure about the OpenBSD side of things to look at later. 2012-10-03 17:06:57 -06:00
Marcin Cieslak 775fb0f0f1 Don't break help with gcc -O2
libDtHelp is unable to read SDL help files
with -ftree-store-ccp optimization which
is enabled by -O2 on gcc 4.2.1.

GifUtils.c and decompress.c didn't work
properly with -ftree-store-ccp enabled.

GifUtils.c was repaired by fixing
those warnings:

GifUtils.c: In function 'create_pixmap':
GifUtils.c:1093: warning: return makes integer from pointer without a cast
GifUtils.c:1110: warning: return makes integer from pointer without a cast
GifUtils.c:1215: warning: return makes integer from pointer without a cast
GifUtils.c: In function 'gif_to_pixmap':
GifUtils.c:1242: warning: return makes integer from pointer without a cast

decompress.c didn't generate warnings, but the
only effect of the -ftree-store-cpp was to introduce
this change:

        addq    $1, %rax
        movq    %rax, (%rbx)
 .L90:
-       cmpl    $157, %edx
+       cmpl    $-99, %edx
        jne     .L86
        movl    8(%rbx), %eax
        subl    $1, %eax

Which corresponds to this source code:

bufioI.h

     57 #define BufFileGet(f)   ((f)->left-- ? *(f)->bufp++ : (*(f)->io) (f))

     42     int     (*io)(/* BufFilePtr f */);

decompress.c
     53 #ifdef NO_UCHAR
     54  typedef char   char_type;
     55 #else
     56  typedef        unsigned char   char_type;
     57 #endif /* UCHAR */
     58
     59 static  char_type magic_header[] = { "\037\235" };      /* 1F 9D */

    131     if ((BufFileGet(f) != (magic_header[0] & 0xFF)) ||
    132         (BufFileGet(f) != (magic_header[1] & 0xFF)))
    133     {
    134         return 0;
    135     }

BufFileGet() returns (int), so the (unsigned char) constants
got promoted to (int) with sign extension; therefore constant
157 decimal (0x9D) became -99 decimal, sign extended
(0xffffff9D), and the comparison was always false.

Tested using:
$ gcc -v
Using built-in specs.
Target: amd64-undermydesk-freebsd
Configured with: FreeBSD/amd64 system compiler
Thread model: posix
gcc version 4.2.1 20070831 patched [FreeBSD]

Running on:
FreeBSD 10.0-CURRENT (r240948M)
built Wed Sep 26 23:33:08 CEST 2012
2012-10-01 18:59:14 -06:00
Frederic Koehler 4773d68153 dthelp: Avoid undefined behaviour in strcpy
Technically strcpy's ranges cannot overlap at all,
although in practice this is usually not an issue.
Does quiet a valgrind warning, however.
2012-09-29 19:21:27 -06:00
Jelle Hermsen 399915f0ce Teach ToolTalk config about NetBSD and adds HAS_STATVFS identifier which is consequently used in tt_file_system.C, because NetBSD switched to the POSIX/XOpen statvfs() calls in 2004. 2012-09-28 19:11:09 -06:00
James Woodcock 44e384aedb Older Linux installations do not have svcfd_create().
svcfd_create() is only called if OPT_UNIX_SOCKET_RPC is defined, so a #ifdef
round that code should be OK.
2012-09-27 18:01:19 -06:00
James Woodcock 406fa95994 Use RPC_ANYSOCK instead of the magic number -1. 2012-09-27 18:01:14 -06:00
Marcin Cieslak ee82570104 Use typedef XDR from <rpc/xdr.h>
__rpc_xdr is no longer available on FreeBSD 10.
(XDR is typedef'd as "struct XDR" and not "struct __rpc_xdr").

By the way, why did we ever need this? Probably
it should be removed. Leaving for __OpenBSD__ for now.
2012-09-27 17:54:12 -06:00
Marcin Cieslak 77ec7b56b8 2 warnings fixed (64-bit)
Fix XtVaGetValues() output for 64-bit
Fix filename comparison in Dts.c
2012-09-24 18:35:24 -06:00
Marcin Cieslak 917f7da191 157 warnings: remove -DXK_MISCELLANY from Makefiles
Fixes the following warning:

In file included from ../../../imports/x11/include/X11/Xutil.h:54,
                 from ../../../imports/x11/include/X11/Intrinsic.h:54,
                 from Action.c:64:
../../../imports/x11/include/X11/keysym.h:49:1: warning: "XK_MISCELLANY" redefined
<command-line>: warning: this is the location of the previous definition

<keysym.h> which includes all key symbols and loads <keysymdef.h>
is automaticlly included by the X Toolkit.

This patch removes #include <keysymdef.h> whenever not needed,
and adds #define XK_MISCALLANY in the source code where required.
2012-09-24 18:30:21 -06:00
Marcin Cieslak 1079b56422 dtfile: Add missing prototypes
Add missing prototypes and header files to the dtfile
code in order to move closer towards 64-bit compatibility.

Extract the following functions from Motif internal headers:

_XmGetWidgetExtData
_XmRecordEvent
_XmStringUngenerate
_XmTextFieldSetDestination
_XmGetActiveTopLevelMenu

Extract manually prototypes of the obsolete Motif interface:
_XmHighlightBorder
_XmUnhighlightBorder

Remove XmPrivate.h if extractprototype.awk fails

Make the following header files available via -I:
	codelibs/boolean.h
	codelibs/pathutils.h
	codelibs/shellutils.h
and remove shellutils.h from dtwm directory.
2012-09-18 09:59:11 -06:00
Jon Trulson a29fc20957 message catalogs: fix comment lines, also remove linux hack in merge.c
According to the spec, blank lines in message catalogs or lines
beginning with '$ ' are valid comments.

However, there were many cases where lines in the message catalogs
contained just a single '$', without the required space after it.

Under linux, this caused 126766 error lines (in my builds) of the
form:

... unknown directive `': line ignored

This also causes gencat to exit with a non-0 exit code.  Even though
gencat says it ignores the line, it really doesn't.

An early porting change to programs/localized/util/merge.c was made to
ignore this return value on linux.  This hack has now been removed.

Build logs are a lot smaller and cleaner now.
2012-09-03 15:12:57 -06:00
Peter Howkins e9bb2bcf09 libDtSvc: Resolve 89 compiler warnings. 2012-09-01 21:35:10 +01:00
Peter Howkins 92743e0999 libDtSearch: Resolve 26 compiler warnings. 2012-09-01 20:54:23 +01:00
Marcin Cieslak ceb49b9130 DtWidget: Improve portability of Motif interface
- Add missing includes and prototypes
- Improve type compatibility
- Use <Xm/XmPrivate.h> for unofficial libXm headers

With this patch, dtpad no longer crashes on startup
on FreeBSD/amd64 because of a truncated 64-bit pointer.
2012-08-30 19:43:56 -06:00
Peter Howkins 71f8af6943 dthelp: Resolve 106 compiler warnings. 2012-08-30 21:37:25 +01:00
Peter Howkins 31c2131935 libDtTerm: Resolve all -Wformat-security warnings. 2012-08-27 20:36:59 +01:00
Peter Howkins 3911acddf6 libDtSearch: resolve -Wformat-secuirty warning 2012-08-27 20:24:06 +01:00
Peter Howkins 8479d150e2 libtt: Resolve all remaining format-security warnings. 2012-08-26 22:19:27 +01:00
Peter Howkins 8c8a5380ca libtt: Warning prevention
One missing stdlib include and one security warning about not
using varargs func correctly.
2012-08-26 19:48:55 +01:00
Marcin Cieslak 98b17d3551 64bit: Fix crash in dtexec
No ANSI prototype for malloc() caused
the returned pointer to be truncated
to 32 bits.
2012-08-23 19:56:43 -06:00
Peter Howkins 8a78cc767e libtt: resolve implicit delaration of free() and exit() warnings 2012-08-22 12:39:25 +01:00
Peter Howkins 0b623d4b63 lib/DtHelp: Include <stdio.h> to prevent warnings about implicit declartion of free() 2012-08-22 12:10:10 +01:00
Peter Howkins f6f54a4037 libcsa: Warning prevention
Remove 'implicit declaration' warnings by included correct ANSI C headers.
Correct some format strings for long ints.
2012-08-22 11:53:08 +01:00
Jon Trulson e7ec2a4bdd Merge branch 'EnvControl-fixes' 2012-08-17 06:01:19 -06:00
Peter Howkins 90376fc6d8 Merge branch 'master' of https://git.code.sf.net/p/cdesktopenv/code 2012-08-17 10:26:09 +01:00
Jon Trulson 27d5cc033d 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.
2012-08-16 18:26:50 -06:00
Marcin Cieslak d8db13985c Fix compiler warnings in dtsession 2012-08-16 16:15:49 -06:00
Peter Howkins 0cbd88018a Merge branch 'master' of https://git.code.sf.net/p/cdesktopenv/code 2012-08-16 15:41:15 +01:00
Ulrich Wilkens 7bdb847210 Process sgml and man files in doc directory for FreeBSD. 2012-08-15 15:56:03 -06:00
Peter Howkins 91b33b7158 Merge branch 'master' of https://git.code.sf.net/p/cdesktopenv/code 2012-08-15 17:07:35 +01:00
Frederic Koehler 66e428596b 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)
2012-08-14 20:37:59 -06:00
Marcin Cieslak e8ff159737 const char maze: unbreak ToolTalk build
Follow up to de82eebdd5
2012-08-14 20:37:23 -06:00
Chris Wareham de82eebdd5 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. 2012-08-14 12:44:20 -06:00
Chris Wareham e738704385 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.
2012-08-14 12:43:44 -06:00
Marcin Cieslak 31aaa48344 FreeBSD port: dtsearch, dtterm, dtwidget, dthelp
FreeBSD portability of dtsearch, dtterm, dtwidget, dthelp

Work in progress for dtlogin and dtmail
2012-08-13 19:53:10 -06:00
Marcin Cieslak 50e6c86bf4 lib/csa: Use ANSI C prototypes
Improve type compatibility and enable
ANSI C prototypes.
2012-08-13 19:24:23 -06:00
Marcin Cieslak aa12f819dd 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
2012-08-13 19:23:37 -06:00
Marcin Cieslak 706fccb50e NULL is a pointer, not string terminator
Replace some instances of NULL to '\0', when
referring to string terminator.
2012-08-13 19:23:34 -06:00
Peter Howkins 0ecef859cf Merge branch 'master' of https://git.code.sf.net/p/cdesktopenv/code 2012-08-13 10:31:07 +01:00
Marcin Cieslak bf8c5e674f 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*)
2012-08-12 20:57:49 -06:00
Jon Trulson fa3ad160e4 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.
2012-08-12 17:31:28 -06:00
Pascal Stumpf a1cbcd24db 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.
2012-08-12 14:20:58 -06:00
Pascal Stumpf 0bbd4ff9aa 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.
2012-08-12 14:20:58 -06:00
Pascal Stumpf aa9ea72bfb 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.
2012-08-12 14:20:57 -06:00
Frederic Koehler b33cf9fb60 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.
2012-08-12 13:50:34 -06:00
Frederic Koehler 19c7c80aa3 tt (tooltalk): Kill some warnings
Includes some potentially bad pointer/int conversions
2012-08-11 20:13:46 -06:00
Frederic Koehler 5ad7a83985 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.
2012-08-11 20:13:46 -06:00
Pascal Stumpf 131c7a9e04 Imakefile diffs for OpenBSD. 2012-08-11 19:23:43 -06:00
Pascal Stumpf 3718075b7c OpenBSD fixes for DtWidget, dtaction, dtappbuilder. 2012-08-10 14:10:52 -06:00
Pascal Stumpf 8bbf5a7a1b Allow dtterm to at least allocate a pty on OpenBSD. Display is still mangled, however, and it frequently crashes (64bit issue). 2012-08-10 14:08:48 -06:00
Pascal Stumpf 19647809e4 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. 2012-08-10 14:07:36 -06:00
Pascal Stumpf 3b77d7c065 Tooltalk fixes for OpenBSD. This consists mainly of #ifdefs, casts and some small type nits. 2012-08-10 06:24:29 -06:00
Pascal Stumpf 3d5a492038 OpenBSD fixes for DtPrint and csa. 2012-08-10 06:18:28 -06:00
Pascal Stumpf 185ec24999 OpenBSD fixed for lib/DtSvc. 2012-08-10 05:51:37 -06:00
Pascal Stumpf 78053ff2a4 SIGPWR is not present everywhere. 2012-08-10 05:44:49 -06:00
James Woodcock d1848610a7 Remove ambiguity in string compare. 2012-08-09 13:55:54 -06:00
James Woodcock 3f11777812 "ISO C++ forbids declaration of [X] with no type" warning fixes. 2012-08-09 13:55:54 -06:00
Jon Trulson 1f332de27b Use socklen_t where available.
Patch from <Pascal.Stumpf@cubes.de>

This should use socklen_t where available, really ...
2012-08-09 12:27:58 -06:00
Jon Trulson 491ff2228f Deal with the fact that modern compilers assume different scoping rules
Patch from Pascal Stumpf <Pascal.Stumpf@cubes.de>:

So here are all the patches that deal with the fact that modern
compilers assume different scoping rules for variables declared in for
loops.  On Linux, -fpermissive has been added as a compiler flag to
compensate for this old C code, but I think it is the wrong approach.

Sorry, couldn't help sneaking in a || defined(CSRG_BASED) and some casts
needed for other reasons ...
2012-08-09 12:18:30 -06:00
Marc Balmer 1d935059fb Fix more sprintf calls. 2012-08-09 11:57:34 -06:00
Peter Howkins 1dd2eaf854 Update the sub parts of the main dt/cde version number to 2.2.0, missed from previous version increment patch. 2012-08-09 15:20:53 +01:00
Jon Trulson facb50dfde DtSvc: Fixes a segfault on Debian squeeze 64 bit and most probably other systems, too.
Patch from Marc Balmer <marc@msys.ch>:

Use strlen, not sizeof, here.  Fixes a segfault on Debian squeeze 64 bit
and most probably other systems, too.
2012-08-08 12:45:40 -06:00
Jon Trulson 0f313d1cb8 libtt: "%wc" is Microsoft extension, not supported in every Std C Library.
Patch from Douglas Mencken <dougmencken@gmail.com>:

"%wc" is Microsoft extension, not supported in every Std C Library. So
if we don't want to print "%wc%wc%wc%wc%..." instead of real chars, we
shall not use it.

Before:

%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wcession[28326]:
_Tt_s_session::s_init(): 1051 (TT_ERR_INTERNAL)!
%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wcession[28326]: waitpid():
No child processes
%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wcession[28326]: child
ttsession exited with status 1

After:

/usr/dt/bin/ttsession[12397]: _Tt_s_session::s_init(): 1051 (TT_ERR_INTERNAL)!
/usr/dt/bin/ttsession[12397]: waitpid(): No child processes
/usr/dt/bin/ttsession[12397]: child ttsession exited with status 1
2012-08-08 12:35:49 -06:00
Jon Trulson f9c2b3184e DtSvc/dtwm: Fix some implicit declarations of functions by adding appropriate
Patch from Frederic Koehler <f.koehler427@gmail.com>:

These implicit definitions cause segfaults on x64 because
the implicit return type is a 32-bit signed int, rather than a pointer
type.
2012-08-08 11:47:18 -06:00
Jon Trulson b49872206b libtt: Avoid an infinite loop in ttsession (tooltalk daemon) when /etc/mtab is a symlink, using lstat instead of stat.
Patch from Frederic Koehler <f.koehler427@gmail.com>
2012-08-08 11:36:03 -06:00
Jon Trulson 91011085a4 dtdbcache: remove incorrect comment block and tmpnam_buf var (not used)
With Aaron's fixes to dtdbcache fixing a potential coredump, the
comment block in the write_db() function regarding tmpnam() no longer
applies, and the tmpnam_buf variable is no longer used.

So, remove them :)
2012-08-07 17:43:32 -06:00
Jon Trulson 80f456e3b5 dtdbcache: Remove old code in comments
Patch from Aaron W. Hsu <arcfide@sacrideo.us>
2012-08-07 16:56:11 -06:00
Jon Trulson 04b366b09c dtdbcache: Use mkstemp() instead of tmpnam() to avoid bad interactions
Patch from Aaron W. Hsu <arcfide@sacrideo.us>
2012-08-07 16:52:26 -06:00
Jon Trulson 5e6b400c3c libtt: client init(): use fcntl F_SETFD correctly. 2012-07-27 19:17:14 -06:00
Peter Howkins 6eebf7d42c Increment CDE version number to 2.2.0 2012-07-16 15:23:40 +01:00
Jon Trulson 75f2f96793 libDtHelp: fix up some warnigs and potential overruns 2012-07-12 18:03:54 -06:00
Jon Trulson aeaec445ee DtSvc/DtUtil1/Saver.c - fix the screen savers.
I have no idea how their putenv code can work.  Anyway, use code that
works on linux now. :)
2012-07-12 15:14:51 -06:00
Jon Trulson 84e3c43b90 agent.c: oops - include poll.h, not sys/poll.h 2012-06-19 17:31:28 -06:00
Jon Trulson d5deec6e72 csa/agent.c: use select rather than poll 2012-06-19 16:51:25 -06:00
Jon Trulson cdf8003f7c Remove hardcoded CCLINK's in Imakefiles when linking with C++ built libs (DtSvc).
Added proper SharedDtSvcReqs in lnxLib.tmpl and CplusplusLibC in
linux.cf.  This allows the libstdc++ dependancy to be properly
declared for libDtSvc so that it is not neccessary to hardcode 'CCLINK
= g++' in the Imakefiles of programs linking angainst libDtSvc.
2012-06-19 16:27:20 -06:00
Jon Trulson fff18bf2b7 doc/help localization changes
- by default, do not build any other locale than C for now
- do not try to build the guides.  These require functioning
  dtinfo/docbook
- add a Linux.lcx locale translation db.  Not used yet.
- fix some overflows in dtdocbook/instant
2012-06-18 22:01:02 -06:00
Jon Trulson 784c7dff56 Add -fpermissive to linux standard c++ option define in linux.cf
Remove from individual Imakefiles.

Also, remove '#if 0' block in linux.cf, and remove empty
LinuxMachineDefines. This should be working correctly.  If not, let me
know.
2012-06-18 16:27:25 -06:00
Jon Trulson 91f7988cf3 dtterm: fixes so job control will work. 2012-06-18 16:01:17 -06:00
Jon Trulson 62b669a6af dtterm: disable svr4 streams semantics on linux 2012-06-18 15:32:02 -06:00
Peter Howkins 837972cb69 Modify all Imakefile files to use LinuxArchitecture instead of LinuxDistribution
for Linux specific changes. (lib directory)
2012-05-31 12:41:33 +01:00
Jon Trulson b4f3efb692 DtSvc/dtspcd: fixes for VU#172583 2012-05-26 19:09:33 -06:00
Jon Trulson 70128313e9 tt_isam_record.C/tt_isam_record.C: fix CERT VU#387387 part 3 2012-05-26 18:39:51 -06:00
Jon Trulson 95e6fd42cc tt_isam_record.C: fix CERT VU#387387 part 2 2012-05-26 18:29:26 -06:00
Jon Trulson e820f21540 tt_isam_record.C: fix CERT VU#387387 2012-05-26 18:28:02 -06:00
Jon Trulson 3231696f03 dm_server.C: fix CERT VU#975403/VU#299816 2012-05-26 18:24:31 -06:00
Jon Trulson 8e4e53f4b9 FileUtils.c: fix CERT VU#575804 2012-05-26 18:14:58 -06:00
Peter Howkins 43a91fa718 Don't include a couple of non-existant svr4 files on linux. 2012-03-20 20:50:16 +00:00
Peter Howkins 1476da61f7 Change over Linux to using the System V style pty code, it seems at some
point Linuxes pty code is no longer the BSD legacy one by default anymore.
2012-03-20 20:43:06 +00:00
Peter Howkins 348f3cd81c Change detector for linux platform to match other Imakefile changes 2012-03-12 21:26:30 +00:00
Peter Howkins e321b293c1 When linking against C++ libraries gcc insists on using the C++ linker 2012-03-12 00:44:14 +00:00
Peter Howkins 84139c3575 On Linux don't redefine the prototypes to malloc() and realloc() to the wrong
things.
2012-03-12 00:37:58 +00:00
Peter Howkins 86909a64f0 Linux is a unistdh platform not an osfcn.h 2012-03-12 00:35:06 +00:00
Peter Howkins 54e8940874 linux is a unistd.h platform not a osfcn.h 2012-03-12 00:33:44 +00:00
Peter Howkins 50465f5a87 -fpermissive to allow gcc to compile old C++ 2012-03-12 00:32:10 +00:00
Peter Howkins 0ce783f018 Do not redefine prototype of exit() under linux 2012-03-12 00:31:10 +00:00
Peter Howkins ee22401f76 Add <unistd.h> include for getopt() 2012-03-12 00:29:37 +00:00
Peter Howkins e2f33fe1dd -fpermissive to allow gcc to compile old C++ 2012-03-12 00:27:41 +00:00
Peter Howkins e68afb01e6 -fpermissive to allow gcc to compile old C++ 2012-03-12 00:26:40 +00:00
Peter Howkins a513d54964 -fpermissive to allow gcc to compile old C++ 2012-03-12 00:25:41 +00:00
Peter Howkins 4a6f362ee7 Use socklen_t type for argument for getsockname() 2012-03-12 00:25:04 +00:00
Peter Howkins a2706176db Add int type to previously untyped variable 2012-03-12 00:23:06 +00:00
Peter Howkins 0ada4a2e39 On linux use a iso C (89) stdarg variable argument function.
Gcc no longer supports old style varargs.h
2012-03-12 00:18:13 +00:00
Peter Howkins 0a9e7d2db9 No easy access to min()/max() macro, rewrite code 2012-03-12 00:14:33 +00:00
Peter Howkins fc4f30fa88 -fpermissive to allow GCC to compile old C++ 2012-03-12 00:06:34 +00:00
Peter Howkins 13f6ea01d4 No easy access to min() or max() macros, rewrite code to not use them. 2012-03-12 00:04:39 +00:00
Peter Howkins 8b79b425f8 No need to create another version of basename(), there's one available
on Linux
2012-03-11 23:58:53 +00:00
Peter Howkins 5aea241fd1 Linux uses unistd.h not osfcn.h 2012-03-11 23:57:12 +00:00
Peter Howkins e8fe4970eb Linux also needs cast to char * of NULL 2012-03-11 23:51:05 +00:00
Peter Howkins 3d25ba1ea1 No osfcn.h available on linux 2012-03-11 23:48:57 +00:00
Peter Howkins a4442878a1 Add in wctype.h for widechars 2012-03-11 23:47:21 +00:00
Peter Howkins b672c0782a Bodgy support around including X11/Xos_r.h
Undefine index and rindex first to prevent clashes with tt funcs.

Should be fixed by namespacing local funcs
2012-03-11 23:44:52 +00:00
Peter Howkins c3dc5b47a1 -fpermissive to allos GCC to compile old C++ 2012-03-11 23:40:39 +00:00
Peter Howkins 5948300301 On Linux initialise tt_strings as () rather than (NULL) 2012-03-11 23:38:55 +00:00
Peter Howkins b195aa51c8 -fpermissive to allow GCC to compile old C++ 2012-03-11 23:34:37 +00:00
Peter Howkins 7d5d17251d -fpermissive to allow gcc to compile old C++ 2012-03-11 23:33:09 +00:00
Peter Howkins 233ae141c1 -fpermissive to allow gcc to compile old C++ 2012-03-11 23:32:08 +00:00
Peter Howkins 42b737ba2a On linux it seems that _XTyname() only takes one argument, no buffer required. 2012-03-11 19:12:51 +00:00
Peter Howkins b89d6294c6 Add in -fpermissive to handle old pre standard C++ 2012-03-11 19:00:31 +00:00
Peter Howkins d0dc9dbe86 On linux no generic.h available, and can use the C++ style delete array 2012-03-11 18:16:10 +00:00
Peter Howkins 67affa6f31 Add linux to list of platforms that are object to those definitions 2012-03-11 18:15:12 +00:00
Peter Howkins c5e2bbdd1e Bodgy fix to not being able to find RADIXCHAR define, use '.' instead.
Come back to this later.
2012-03-11 18:08:03 +00:00
Peter Howkins b985680de6 Do not re-prototype strdup() 2012-03-11 18:04:30 +00:00
Peter Howkins 94eb7100d3 Do not re-prototype strdup() 2012-03-11 18:02:24 +00:00
Peter Howkins 1483f41a69 Due to glibc not have a 'constant' stderr reference, on linux set the error
reporting var at runtime.
2012-03-11 17:46:01 +00:00
Peter Howkins 2d1fd47470 On Linux do not re prototype strdup() 2012-03-11 17:33:41 +00:00
Peter Howkins 56683a700b Add in extra args required for open() on Linux 2012-03-11 16:33:18 +00:00
Peter Howkins f4a6262757 Also use internal __fds_bits instead of fds_bits 2012-03-11 16:17:39 +00:00
Peter Howkins 034813b328 On linux do not prototype strdup() 2012-03-11 16:16:00 +00:00
Peter Howkins b2b6d0d386 Undefine SVR4 whilst including #include <X11/Xos_r.h> to prevent sys/byteorder.h
missing header error.
2012-03-11 16:14:04 +00:00
Peter Howkins bcfc468cdc Use internal __fds_bit variable on Linux, this doesn't seem great. 2012-03-11 16:05:20 +00:00
Peter Howkins 10b463d278 Add in exctra freetype include directory 2012-03-11 15:56:24 +00:00
Peter Howkins 546683e176 GCC no longer supports <varargs.h>, change to <stdarg.h> 2012-03-11 14:21:26 +00:00
Peter Howkins c884521619 Add GNU LGPL headers to all .c .C and .h files 2012-03-10 18:58:32 +00:00
Peter Howkins 83b6996daa Initial import of the CDE 2.1.30 sources from the Open Group. 2012-03-10 18:21:40 +00:00