Commit Graph

54 Commits

Author SHA1 Message Date
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
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
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
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
3b77d7c065 Tooltalk fixes for OpenBSD. This consists mainly of #ifdefs, casts and some small type nits. 2012-08-10 06:24:29 -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
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
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
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
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
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
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
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
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