]> granicus.if.org Git - imagemagick/blob - MagickCore/client.c
...
[imagemagick] / MagickCore / client.c
1 /*
2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3 %                                                                             %
4 %                                                                             %
5 %                                                                             %
6 %                  CCCC  L      IIIII  EEEEE  N   N  TTTTT                    %
7 %                 C      L        I    E      NN  N    T                      %
8 %                 C      L        I    EEE    N N N    T                      %
9 %                 C      L        I    E      N  NN    T                      %
10 %                  CCCC  LLLLL  IIIII  EEEEE  N   N    T                      %
11 %                                                                             %
12 %                                                                             %
13 %                         MagickCore Client Methods                           %
14 %                                                                             %
15 %                             Software Design                                 %
16 %                                  Cristy                                     %
17 %                               March 2003                                    %
18 %                                                                             %
19 %                                                                             %
20 %  Copyright 1999-2018 ImageMagick Studio LLC, a non-profit organization      %
21 %  dedicated to making software imaging solutions freely available.           %
22 %                                                                             %
23 %  You may not use this file except in compliance with the License.  You may  %
24 %  obtain a copy of the License at                                            %
25 %                                                                             %
26 %    https://www.imagemagick.org/script/license.php                           %
27 %                                                                             %
28 %  Unless required by applicable law or agreed to in writing, software        %
29 %  distributed under the License is distributed on an "AS IS" BASIS,          %
30 %  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.   %
31 %  See the License for the specific language governing permissions and        %
32 %  limitations under the License.                                             %
33 %                                                                             %
34 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
35 %
36 %
37 */
38 \f
39 /*
40   Include declarations.
41 */
42 #include "MagickCore/studio.h"
43 #include "MagickCore/client.h"
44 #include "MagickCore/string_.h"
45 \f
46 /*
47 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
48 %                                                                             %
49 %                                                                             %
50 %                                                                             %
51 %   G e t C l i e n t N a m e                                                 %
52 %                                                                             %
53 %                                                                             %
54 %                                                                             %
55 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
56 %
57 %  GetClientName returns the current client name.
58 %
59 %  The format of the GetClientName method is:
60 %
61 %      const char *GetClientName(void)
62 %
63 */
64 MagickExport const char *GetClientName(void)
65 {
66   return(SetClientName((const char *) NULL));
67 }
68 \f
69 /*
70 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
71 %                                                                             %
72 %                                                                             %
73 %                                                                             %
74 %   G e t C l i e n t P a t h                                                 %
75 %                                                                             %
76 %                                                                             %
77 %                                                                             %
78 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
79 %
80 %  GetClientPath returns the current client name.
81 %
82 %  The format of the GetClientPath method is:
83 %
84 %      const char *GetClientPath(void)
85 %
86 */
87 MagickExport const char *GetClientPath(void)
88 {
89   return(SetClientPath((const char *) NULL));
90 }
91 \f
92 /*
93 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
94 %                                                                             %
95 %                                                                             %
96 %                                                                             %
97 %   S e t C l i e n t N a m e                                                 %
98 %                                                                             %
99 %                                                                             %
100 %                                                                             %
101 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
102 %
103 %  SetClientName sets the client name and returns it.
104 %
105 %  The format of the SetClientName method is:
106 %
107 %      const char *SetClientName(const char *name)
108 %
109 %  A description of each parameter follows:
110 %
111 %    o name: Specifies the new client name.
112 %
113 */
114 MagickExport const char *SetClientName(const char *name)
115 {
116   static char
117     client_name[MagickPathExtent] = "Magick";
118
119   if ((name != (char *) NULL) && (*name != '\0'))
120     (void) CopyMagickString(client_name,name,MagickPathExtent);
121   return(client_name);
122 }
123 \f
124 /*
125 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
126 %                                                                             %
127 %                                                                             %
128 %                                                                             %
129 %   S e t C l i e n t P a t h                                                 %
130 %                                                                             %
131 %                                                                             %
132 %                                                                             %
133 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
134 %
135 %  SetClientPath() sets the client path if the name is specified.  Otherwise
136 %  the current client path is returned. A zero-length string is returned if
137 %  the client path has never been set.
138 %
139 %  The format of the SetClientPath method is:
140 %
141 %      const char *SetClientPath(const char *path)
142 %
143 %  A description of each parameter follows:
144 %
145 %    o path: Specifies the new client path.
146 %
147 */
148 MagickExport const char *SetClientPath(const char *path)
149 {
150   static char
151     client_path[MagickPathExtent] = "";
152
153   if ((path != (char *) NULL) && (*path != '\0'))
154     (void) CopyMagickString(client_path,path,MagickPathExtent);
155   return(client_path);
156 }