Commit Graph

23 Commits

Author SHA1 Message Date
Pascal Stumpf d821557ca4 Use same SIGCHLD handling for OpenBSD as for OSF. 2012-11-20 17:17:18 -07:00
Pascal Stumpf b64f79b1b8 On OpenBSD, use FILE_MAP_OPTIMIZED.
This has the effect of not performing a tt call each time in
ResolveLocalPathName() if we're on the local host anyway.  Drastically reduces
dtfile startup time.
2012-11-19 19:44:32 -07:00
Marcin Cieslak aacfe3e5de dtfile: Fix crash when trying to open filter dialog
On 64-bit machine dtfile crashes when opening
list of file types to filter in Encaps.c:

   _DtShowDialog (parent=0x805c80900, map_parent=0x0, top_rec=0x805ce3600,
     dialog_data=0x805db25e0, change_proc=0x4489f0 <FilterChange+16>,
     change_data=0x805ce3600, close_proc=0x4489c0 <FilterClose+16>,
     close_data=0x805ce3600, workspaces=0x0, iconify_state=0 '\0',
     ignoreCache=0 '\0', title=0x0, classHints=0x0) at Encaps.c:531

531	        ResetFlag(NULL,fr->close);
2012-10-02 18:57:12 -06:00
Marcin Cieslak 7948362829 dtfile: fix crash in RecheckFlag (64bit) 2012-09-28 19:13:29 -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 18a78bbff5 dtfile: fix pointer to integer conversion
Use XtArgVal (usually (long)) to convert
(XtPointer) to (int) and back.

This provides safe way to convert and
avoids compiler warning.
2012-09-23 19:38:40 -06:00
Marcin Cieslak 1041e08003 Fix dtfile crash on 64 bit
When asking for data using XtVaGetValue()
make sure that there is enough place for
the return value (which is sometimes XtPointer).
Providing pointer to (int) is not enough.

Cast XtPointer into requested int types
directly, which unfortunately introduces
compilation warning:

cast from pointer to integer of different size
2012-09-22 19:04: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 764a0c7e72 dtfile: Remove 97 compiler warnings 2012-08-30 19:54:01 +01:00
Peter Howkins ef67cebea5 dtfile: Resolve implicit imcompatible declaration warnings. 2012-08-30 18:25:49 +01:00
Marcin Cieslak 17a33f0430 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.
2012-08-23 20:00:43 -06:00
Marcin Cieslak 71ddf025fa FreeBSD updates for dtspcd, dtfile and others
* Add libraries where necesary
* Point to Freetype2 includes for dtfile
* Define default manpath
2012-08-15 12:41:31 -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 131c7a9e04 Imakefile diffs for OpenBSD. 2012-08-11 19:23:43 -06:00
Pascal Stumpf eaec696ad6 Fixes for dtfile on OpenBSD, plus missing prototypes. Use statfs() on BSD to find out if a file system is NFS. 2012-08-10 14:13:45 -06:00
Jon Trulson 89b98f4ef6 dtfile: add freetype includes to Imakfile
While removing the CCLINK options, accidentally removed freetype
includes, causing dtfile to fail to build.
2012-06-20 14:25:41 -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
Peter Howkins 1d555edb6c Convert all Imakefile LinuxDistribution switches to LinuxArchitecture.
(programs part1)
2012-05-31 13:40:38 +01:00
Peter Howkins 0e302b6bba Add in freetype directory to inlude path 2012-03-12 10:41:53 +00:00
Peter Howkins f972ee1646 On Linux when linking against a C++ library the whole program must be linked
with the C++ linker.
2012-03-12 10:38:42 +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