4
* (c) Copyright 1988-1994 Adobe Systems Incorporated.
7
* Permission to use, copy, modify, distribute, and sublicense this software
8
* and its documentation for any purpose and without fee is hereby granted,
9
* provided that the above copyright notices appear in all copies and that
10
* both those copyright notices and this permission notice appear in
11
* supporting documentation and that the name of Adobe Systems Incorporated
12
* not be used in advertising or publicity pertaining to distribution of the
13
* software without specific, written prior permission. No trademark license
14
* to use the Adobe trademarks is hereby granted. If the Adobe trademark
15
* "Display PostScript"(tm) is used to describe this software, its
16
* functionality or for any other purpose, such use shall be limited to a
17
* statement that this software works in conjunction with the Display
18
* PostScript system. Proper trademark attribution to reflect Adobe's
19
* ownership of the trademark shall be given whenever any such reference to
20
* the Display PostScript system is made.
22
* ADOBE MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THE SOFTWARE FOR
23
* ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
24
* ADOBE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
25
* IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
26
* NON- INFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL ADOBE BE LIABLE
27
* TO YOU OR ANY OTHER PARTY FOR ANY SPECIAL, INDIRECT, OR CONSEQUENTIAL
28
* DAMAGES OR ANY DAMAGES WHATSOEVER WHETHER IN AN ACTION OF CONTRACT,
29
* NEGLIGENCE, STRICT LIABILITY OR ANY OTHER ACTION ARISING OUT OF OR IN
30
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ADOBE WILL NOT
31
* PROVIDE ANY TRAINING OR OTHER SUPPORT FOR THE SOFTWARE.
33
* Adobe, PostScript, and Display PostScript are trademarks of Adobe Systems
34
* Incorporated which may be registered in certain jurisdictions
36
* Author: Adobe Systems Incorporated
38
/* $XFree86: xc/config/pswrap/pswstring.c,v 1.3 2000/09/26 15:56:28 tsi Exp $ */
48
#define MAX_PER_LINE 16
50
int PSWStringLength(char *s)
55
while (*c != '\0') { /* skip \\ and \ooo */
57
if (*c++ != '\\') c += 2;
64
void PSWOutputStringChars(char *s)
68
register int perline = 0;
75
fputc(b = *c++,outfil);
76
if (b != '\\') {putc(*c++,outfil);putc(*c++,outfil);}
79
fprintf(outfil,"\\'");
82
fprintf(outfil,"\\\"");
85
fprintf(outfil,"\\b");
88
fprintf(outfil,"\\f");
90
/* avoid funny interpretations of \n, \r by MPW */
92
fprintf(outfil,"\\012"); perline++;
95
fprintf(outfil,"\\015"); perline++;
98
fprintf(outfil,"\\t");
101
putc(b,outfil); perline--;
106
if (++perline >= MAX_PER_LINE) {
107
fprintf(outfil,",\n ");
110
else {putc(',',outfil);}
111
perline %= MAX_PER_LINE;
117
int PSWHexStringLength(char *s)
119
return ((int) (strlen(s)+1)/2);
122
void PSWOutputHexStringChars(register char *s)
124
register int perline = 0;
128
while ((tmp[0] = *s++)!= '\0') {
129
tmp[1] = *s ? *s++ : '\0';
130
fprintf(outfil,"0x%s",tmp);
132
if (++perline >= MAX_PER_LINE) {
133
fprintf(outfil,",\n ");
136
else {putc(',',outfil);}
137
perline %= MAX_PER_LINE;