dtdocbook: Coverity 86763
[oweals/cde.git] / cde / programs / dtsession / dtloadresources.src
1 XCOMM!KORNSHELL
2
3 XCOMM $XConsortium: dtloadresources.src /main/6 1996/04/23 18:51:41 drk $
4 XCOMM   (c) Copyright 1996 Digital Equipment Corporation.
5 XCOMM   (c) Copyright 1993,1994,1996 Hewlett-Packard Company.
6 XCOMM   (c) Copyright 1993,1994,1996 International Business Machines Corp.
7 XCOMM   (c) Copyright 1993,1994,1996 Sun Microsystems, Inc.
8 XCOMM   (c) Copyright 1993,1994,1996 Novell, Inc. 
9 XCOMM   (c) Copyright 1996 FUJITSU LIMITED.
10 XCOMM   (c) Copyright 1996 Hitachi.
11
12 #define HASH #
13
14 XCOMM ##########################################################################
15 XCOMM #
16 XCOMM #  File:              dtsession_res
17 XCOMM #
18 XCOMM #  Default Location:  /usr/dt/bin/dtsession_res
19 XCOMM #
20 XCOMM #  Purpose:           Load the RESOURCE_MANAGER with desktop resources
21 XCOMM #
22 XCOMM #  Description:       This script is invoked to load or reload the 
23 XCOMM #                     RESOURCE_MANAGER from the desktop resource files.
24 XCOMM #
25 XCOMM #  Invoked by:        The desktop Session Manager at session startup, 
26 XCOMM #                     or user by means of 'dtaction LoadResources'.
27 XCOMM #                     This script should not be invoked directly.
28 XCOMM #
29 XCOMM #  Product:           @(#)Common Desktop Environment 1.0
30 XCOMM #
31 XCOMM #                     (c) Copyright 1993, 1994 Hewlett-Packard Company
32 XCOMM #                     (c) Copyright 1993, 1994 International Business
33 XCOMM #                         Machines Corp.
34 XCOMM #                     (c) Copyright 1993, 1994 Sun Microsystems, Inc.
35 XCOMM #                     (c) Copyright 1993, 1994 Unix System Labs, Inc., 
36 XCOMM #                         a subsidiary of Novell, Inc.
37 XCOMM #
38 XCOMM #  Note:              Please do not modify this file.
39 XCOMM #                     Later product updates will overwrite this file.
40 XCOMM #
41 XCOMM ##########################################################################
42
43 Msg()
44 {
45   HASH
46   HASH $1 - message catalog number
47   HASH $2 - fallback message text
48   HASH
49   echo "$2"
50   HASH dspmsg dtsession_res.cat -s 1 $1 "$2"
51 }
52
53 Usage()
54 {
55   HASH
56   HASH $1 - message catalog number 
57   HASH
58   Msg 1 "dtsession_res -load|-merge [-system] [-xdefaults] [-file <name>]"
59   case $1 in
60     needArgs) Msg 2 "Option -load or -merge must be specified";;
61     xrdbOptDone) Msg 3 "Option -load or -merge already specified";;
62     needFile) Msg 4 "Missing <filename> after -file option";;
63     unknownArg) Msg 5 "Unknown option specified";;
64     HASH needOption);;          # this is the Usage statement above
65   esac
66   exit 1
67 }
68
69
70 XCOMM
71 XCOMM Parse options
72 XCOMM
73 if [ $# -eq 0 ]; then
74   Usage needArgs
75 fi
76
77 #ifdef sun
78 rOWsystem=$OPENWINHOME/lib/Xdefaults
79 rOWdefaults=$HOME/.OWdefaults
80 #endif
81
82 rFactory=CDE_INSTALLATION_TOP/config/$LANG/sys.resources
83 rFactoryC=CDE_INSTALLATION_TOP/config/C/sys.resources
84
85 rCustom=CDE_CONFIGURATION_TOP/config/$LANG/sys.resources
86
87 rXdefaults=$HOME/.Xdefaults
88
89 xrdbOption=""
90 resourceFiles=""
91
92 while [ $# -gt 0 ]; do
93   case $1 in 
94     -load|-merge)
95       HASH
96       HASH xrdb option specified
97       HASH
98       if [ ! -z "$xrdbOption" ]; then
99         Usage xrdbOptDone
100       fi
101       xrdbOption=$1
102       ;;
103     -system)
104       HASH
105       HASH locate system resources
106       HASH
107 #ifdef sun
108       if [ -r "$rOWsystem" ]; then
109         resourceFiles="$resourceFiles $rOWsystem"
110       fi
111 #endif
112       if [ -r "$rFactory" ]; then
113         resourceFiles="$resourceFiles $rFactory"
114       elif [ -r "$rFactoryC" ]; then
115         resourceFiles="$resourceFiles $rFactoryC"
116       fi
117       HASH
118       HASH Locate customized system resources
119       HASH
120       if [ -r "$rCustom" ]; then
121         resourceFiles="$resourceFiles $rCustom"
122       fi
123       ;;
124     -xdefaults)
125       HASH
126       HASH Locate .Xdefaults
127       HASH
128       if [ -r "$rXdefaults" ]; then
129         resourceFiles="$resourceFiles $rXdefaults"
130       fi
131 #ifdef sun
132       if [ -r "$rOWdefaults" ]; then
133         resourceFiles="$resourceFiles $rOWdefaults"
134       fi
135 #endif
136       ;;
137     -file)
138       HASH
139       HASH Locate specified file
140       HASH
141       shift
142       if [ -z "$1" ]; then
143         Usage needFile
144       fi
145       if [ -r "$1" ]; then
146         resourceFiles="$resourceFiles $1"
147       fi
148       ;;
149     *) Usage unknownArg;;
150   esac
151   shift
152 done
153
154 if [ -z "$xrdbOption" ]; then
155   Usage needOption
156 fi
157
158 XCOMM converts ":0" to "0", but leaves "pablo:0" as is
159 display=${DISPLAY##:}
160
161 XCOMM converts "blanco.flexicat.com:0.0" to "blanco_flexicat_com_0"
162 display=$(echo ${display%.*} | /usr/bin/tr ".:" "__") 
163
164 (
165   echo "dtsession_res*files: $resourceFiles"
166   if [ ! -z "$resourceFiles" ]; then
167     cat $resourceFiles
168   fi
169 ) | XBINDIR/xrdb -quiet $xrdbOption -DDISPLAY_$display