annotate src/os_mac_conv.c @ 18:293621502c4d v7.0010

updated for version 7.0010
author vimboss
date Sun, 18 Jul 2004 21:34:53 +0000
parents
children 4ac1dce8dd5e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
18
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
1 /* vi:set ts=8 sts=4 sw=4:
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
2 *
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
3 * VIM - Vi IMproved by Bram Moolenaar
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
4 *
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
5 * Do ":help uganda" in Vim to read copying and usage conditions.
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
6 * Do ":help credits" in Vim to see a list of people who contributed.
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
7 * See README.txt for an overview of the Vim source code.
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
8 */
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
9 /*
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
10 * os_mac_conv.c: Code specifically for Mac string conversions.
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
11 *
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
12 * This code has been put in a separate file to avoid the conflicts that are
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
13 * caused by including both the X11 and Carbon header files.
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
14 */
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
15
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
16 #define NO_X11_INCLUDES
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
17 #include "vim.h"
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
18
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
19 extern char_u *mac_string_convert __ARGS((char_u *ptr, int len, int *lenp, int fail_on_error, int from, int to, int *unconvlenp));
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
20 extern int macroman2enc __ARGS((char_u *ptr, long *sizep, long real_size));
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
21 extern int enc2macroman __ARGS((char_u *from, size_t fromlen, char_u *to, int *tolenp, int maxtolen, char_u *rest, int *restlenp));
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
22
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
23 /*
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
24 * A Mac version of string_convert_ext() for special cases.
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
25 */
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
26 char_u *
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
27 mac_string_convert(ptr, len, lenp, fail_on_error, from_enc, to_enc, unconvlenp)
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
28 char_u *ptr;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
29 int len;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
30 int *lenp;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
31 int fail_on_error;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
32 int from_enc;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
33 int to_enc;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
34 int *unconvlenp;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
35 {
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
36 char_u *retval, *d;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
37 CFStringRef cfstr;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
38 int buflen, in, out, l, i;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
39 CFStringEncoding from;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
40 CFStringEncoding to;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
41
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
42 switch (from_enc)
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
43 {
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
44 case 'l': from = kCFStringEncodingISOLatin1; break;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
45 case 'm': from = kCFStringEncodingMacRoman; break;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
46 case 'u': from = kCFStringEncodingUTF8; break;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
47 default: return NULL;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
48 }
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
49 switch (to_enc)
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
50 {
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
51 case 'l': to = kCFStringEncodingISOLatin1; break;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
52 case 'm': to = kCFStringEncodingMacRoman; break;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
53 case 'u': to = kCFStringEncodingUTF8; break;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
54 default: return NULL;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
55 }
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
56
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
57 if (unconvlenp != NULL)
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
58 *unconvlenp = 0;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
59 cfstr = CFStringCreateWithBytes(NULL, ptr, len, from, 0);
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
60
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
61 /* When conversion failed, try excluding bytes from the end, helps when
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
62 * there is an incomplete byte sequence. Only do up to 6 bytes to avoid
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
63 * looping a long time when there really is something unconvertable. */
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
64 while (cfstr == NULL && unconvlenp != NULL && len > 1 && *unconvlenp < 6)
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
65 {
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
66 --len;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
67 ++*unconvlenp;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
68 cfstr = CFStringCreateWithBytes(NULL, ptr, len, from, 0);
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
69 }
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
70 if (cfstr == NULL)
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
71 return NULL;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
72 if (to == kCFStringEncodingUTF8)
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
73 buflen = len * 6 + 1;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
74 else
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
75 buflen = len + 1;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
76 retval = alloc(buflen);
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
77 if (retval == NULL)
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
78 {
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
79 CFRelease(cfstr);
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
80 return NULL;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
81 }
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
82 if (!CFStringGetCString(cfstr, retval, buflen, to))
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
83 {
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
84 CFRelease(cfstr);
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
85 if (fail_on_error)
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
86 {
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
87 vim_free(retval);
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
88 return NULL;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
89 }
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
90
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
91 /* conversion failed for the whole string, but maybe it will work
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
92 * for each character */
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
93 for (d = retval, in = 0, out = 0; in < len && out < buflen - 1;)
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
94 {
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
95 if (from == kCFStringEncodingUTF8)
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
96 l = utf_ptr2len_check(ptr + in);
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
97 else
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
98 l = 1;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
99 cfstr = CFStringCreateWithBytes(NULL, ptr + in, l, from, 0);
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
100 if (cfstr == NULL)
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
101 {
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
102 *d++ = '?';
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
103 out++;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
104 }
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
105 else
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
106 {
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
107 if (!CFStringGetCString(cfstr, d, buflen - out, to))
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
108 {
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
109 *d++ = '?';
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
110 out++;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
111 }
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
112 else
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
113 {
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
114 i = strlen(d);
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
115 d += i;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
116 out += i;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
117 }
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
118 CFRelease(cfstr);
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
119 }
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
120 in += l;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
121 }
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
122 *d = NUL;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
123 if (lenp != NULL)
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
124 *lenp = out;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
125 return retval;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
126 }
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
127 CFRelease(cfstr);
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
128 if (lenp != NULL)
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
129 *lenp = strlen(retval);
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
130 return retval;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
131 }
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
132
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
133 /*
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
134 * Conversion from Apple MacRoman char encoding to UTF-8 or latin1, using
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
135 * standard Carbon framework.
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
136 * Input: "ptr[*sizep]".
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
137 * "real_size" is the size of the buffer that "ptr" points to.
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
138 * output is in-place, "sizep" is adjusted.
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
139 * Returns OK or FAIL.
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
140 */
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
141 int
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
142 macroman2enc(ptr, sizep, real_size)
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
143 char_u *ptr;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
144 long *sizep;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
145 long real_size;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
146 {
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
147 CFStringRef cfstr;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
148 CFRange r;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
149 CFIndex len = *sizep;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
150
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
151 /* MacRoman is an 8-bit encoding, no need to move bytes to
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
152 * conv_rest[]. */
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
153 cfstr = CFStringCreateWithBytes(NULL, ptr, len,
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
154 kCFStringEncodingMacRoman, 0);
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
155 /*
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
156 * If there is a conversion error, try using another
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
157 * conversion.
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
158 */
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
159 if (cfstr == NULL)
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
160 return FAIL;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
161
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
162 r.location = 0;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
163 r.length = CFStringGetLength(cfstr);
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
164 if (r.length != CFStringGetBytes(cfstr, r,
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
165 (enc_utf8) ? kCFStringEncodingUTF8 : kCFStringEncodingISOLatin1,
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
166 0, /* no lossy conversion */
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
167 0, /* not external representation */
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
168 ptr + *sizep, real_size - *sizep, &len))
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
169 {
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
170 CFRelease(cfstr);
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
171 return FAIL;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
172 }
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
173 CFRelease(cfstr);
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
174 mch_memmove(ptr, ptr + *sizep, len);
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
175 *sizep = len;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
176
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
177 return OK;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
178 }
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
179
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
180 /*
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
181 * Conversion from UTF-8 or latin1 to MacRoman.
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
182 * Input: "from[fromlen]"
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
183 * Output: "to[maxtolen]" length in "*tolenp"
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
184 * Unconverted rest in rest[*restlenp].
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
185 * Returns OK or FAIL.
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
186 */
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
187 int
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
188 enc2macroman(from, fromlen, to, tolenp, maxtolen, rest, restlenp)
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
189 char_u *from;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
190 size_t fromlen;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
191 char_u *to;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
192 int *tolenp;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
193 int maxtolen;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
194 char_u *rest;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
195 int *restlenp;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
196 {
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
197 CFStringRef cfstr;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
198 CFRange r;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
199 CFIndex l;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
200
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
201 *restlenp = 0;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
202 cfstr = CFStringCreateWithBytes(NULL, from, fromlen,
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
203 (enc_utf8) ? kCFStringEncodingUTF8 : kCFStringEncodingISOLatin1,
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
204 0);
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
205 while (cfstr == NULL && *restlenp < 3 && fromlen > 1)
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
206 {
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
207 rest[*restlenp++] = from[--fromlen];
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
208 cfstr = CFStringCreateWithBytes(NULL, from, fromlen,
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
209 (enc_utf8) ? kCFStringEncodingUTF8 : kCFStringEncodingISOLatin1,
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
210 0);
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
211 }
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
212 if (cfstr == NULL)
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
213 return FAIL;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
214
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
215 r.location = 0;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
216 r.length = CFStringGetLength(cfstr);
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
217 if (r.length != CFStringGetBytes(cfstr, r,
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
218 kCFStringEncodingMacRoman,
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
219 0, /* no lossy conversion */
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
220 0, /* not external representation (since vim
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
221 * handles this internally */
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
222 to, maxtolen, &l))
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
223 {
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
224 CFRelease(cfstr);
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
225 return FAIL;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
226 }
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
227 CFRelease(cfstr);
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
228 *tolenp = l;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
229 return OK;
293621502c4d updated for version 7.0010
vimboss
parents:
diff changeset
230 }