Commit Graph

125 Commits

Author SHA1 Message Date
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