3
3
*
4
4
* Copyright (c) 2000-2006, PostgreSQL Global Development Group
5
5
*
6
- * $PostgreSQL: pgsql/src/bin/psql/mbprint.c,v 1.23 2006/10/04 00:30:06 momjian Exp $
6
+ * $PostgreSQL: pgsql/src/bin/psql/mbprint.c,v 1.24 2006/12/27 19:45:36 tgl Exp $
7
7
*/
8
8
9
9
#include "postgres_fe.h"
@@ -196,7 +196,7 @@ pg_wcssize(unsigned char *pwcs, size_t len, int encoding, int *result_width,
196
196
break ;
197
197
w = PQdsplen ((char * ) pwcs , encoding );
198
198
199
- if (chlen == 1 ) /* ASCII char */
199
+ if (chlen == 1 ) /* single-byte char */
200
200
{
201
201
if (* pwcs == '\n' ) /* Newline */
202
202
{
@@ -211,25 +211,23 @@ pg_wcssize(unsigned char *pwcs, size_t len, int encoding, int *result_width,
211
211
linewidth += 2 ;
212
212
format_size += 2 ;
213
213
}
214
- else if (w <= 0 ) /* Other control char */
214
+ else if (w < 0 ) /* Other control char */
215
215
{
216
216
linewidth += 4 ;
217
217
format_size += 4 ;
218
218
}
219
- else
220
- /* Output itself */
219
+ else /* Output it as-is */
221
220
{
222
- linewidth ++ ;
221
+ linewidth += w ;
223
222
format_size += 1 ;
224
223
}
225
224
}
226
- else if (w <= 0 ) /* Non-ascii control char */
225
+ else if (w < 0 ) /* Non-ascii control char */
227
226
{
228
227
linewidth += 6 ; /* \u0000 */
229
228
format_size += 6 ;
230
229
}
231
- else
232
- /* All other chars */
230
+ else /* All other chars */
233
231
{
234
232
linewidth += w ;
235
233
format_size += chlen ;
@@ -267,11 +265,11 @@ pg_wcsformat(unsigned char *pwcs, size_t len, int encoding,
267
265
break ;
268
266
w = PQdsplen ((char * ) pwcs , encoding );
269
267
270
- if (chlen == 1 ) /* single byte char char */
268
+ if (chlen == 1 ) /* single- byte char */
271
269
{
272
270
if (* pwcs == '\n' ) /* Newline */
273
271
{
274
- * ptr ++ = 0 ; /* NULL char */
272
+ * ptr ++ = '\0' ;
275
273
lines -> width = linewidth ;
276
274
linewidth = 0 ;
277
275
lines ++ ;
@@ -287,20 +285,19 @@ pg_wcsformat(unsigned char *pwcs, size_t len, int encoding,
287
285
linewidth += 2 ;
288
286
ptr += 2 ;
289
287
}
290
- else if (w <= 0 ) /* Other control char */
288
+ else if (w < 0 ) /* Other control char */
291
289
{
292
290
sprintf ((char * ) ptr , "\\x%02X" , * pwcs );
293
291
linewidth += 4 ;
294
292
ptr += 4 ;
295
293
}
296
- else
297
- /* Output itself */
294
+ else /* Output it as-is */
298
295
{
299
- linewidth ++ ;
296
+ linewidth += w ;
300
297
* ptr ++ = * pwcs ;
301
298
}
302
299
}
303
- else if (w <= 0 ) /* Non-ascii control char */
300
+ else if (w < 0 ) /* Non-ascii control char */
304
301
{
305
302
if (encoding == PG_UTF8 )
306
303
sprintf ((char * ) ptr , "\\u%04X" , utf2ucs (pwcs ));
@@ -316,8 +313,7 @@ pg_wcsformat(unsigned char *pwcs, size_t len, int encoding,
316
313
ptr += 6 ;
317
314
linewidth += 6 ;
318
315
}
319
- else
320
- /* All other chars */
316
+ else /* All other chars */
321
317
{
322
318
int i ;
323
319
@@ -327,13 +323,12 @@ pg_wcsformat(unsigned char *pwcs, size_t len, int encoding,
327
323
}
328
324
len -= chlen ;
329
325
}
330
- * ptr ++ = 0 ;
326
+ * ptr ++ = '\0' ;
331
327
lines -> width = linewidth ;
332
328
lines ++ ;
333
329
count -- ;
334
330
if (count > 0 )
335
331
lines -> ptr = NULL ;
336
- return ;
337
332
}
338
333
339
334
unsigned char *
0 commit comments