1
1
/*
2
2
* Edmund Mergl <E.Mergl@bawue.de>
3
3
*
4
- * $Id: oracle_compat.c,v 1.5 1997/03/16 20:40:39 scrappy Exp $
4
+ * $Id: oracle_compat.c,v 1.6 1997/05/07 02:46:45 scrappy Exp $
5
5
*
6
6
*/
7
7
@@ -42,11 +42,8 @@ lower(text *string)
42
42
char * ptr , * ptr_ret ;
43
43
int m ;
44
44
45
- m = VARSIZE (string ) - VARHDRSZ ;
46
-
47
- if (m <= 0 ) {
45
+ if ((string == (text * )NULL ) || ((m = VARSIZE (string ) - VARHDRSZ ) <= 0 ))
48
46
return string ;
49
- }
50
47
51
48
ret = (text * )palloc (VARSIZE (string ));
52
49
VARSIZE (ret ) = VARSIZE (string );
@@ -83,11 +80,8 @@ upper(text *string)
83
80
char * ptr , * ptr_ret ;
84
81
int m ;
85
82
86
- m = VARSIZE (string ) - VARHDRSZ ;
87
-
88
- if (m <= 0 ) {
83
+ if ((string == (text * )NULL ) || ((m = VARSIZE (string ) - VARHDRSZ ) <= 0 ))
89
84
return string ;
90
- }
91
85
92
86
ret = (text * )palloc (VARSIZE (string ));
93
87
VARSIZE (ret ) = VARSIZE (string );
@@ -126,11 +120,8 @@ initcap(text *string)
126
120
char * ptr , * ptr_ret ;
127
121
int m ;
128
122
129
- m = VARSIZE (string ) - VARHDRSZ ;
130
-
131
- if (m <= 0 ) {
123
+ if ((string == (text * )NULL ) || ((m = VARSIZE (string ) - VARHDRSZ ) <= 0 ))
132
124
return string ;
133
- }
134
125
135
126
ret = (text * )palloc (VARSIZE (string ));
136
127
VARSIZE (ret ) = VARSIZE (string );
@@ -175,11 +166,12 @@ lpad(text *string1, int4 len, text *string2)
175
166
char * ptr1 , * ptr2 , * ptr_ret ;
176
167
int m , n ;
177
168
178
- m = len - VARSIZE (string1 ) + VARHDRSZ ;
179
-
180
- if (m <= 0 || (VARSIZE (string2 ) - VARHDRSZ ) <= 0 ) {
169
+ if ((string1 == (text * )NULL ) ||
170
+ (len <= (VARSIZE (string1 ) - VARHDRSZ )) ||
171
+ ((m = len - VARSIZE (string1 ) + VARHDRSZ ) <= 0 ) ||
172
+ (string2 == (text * )NULL ) ||
173
+ ((VARSIZE (string2 ) - VARHDRSZ ) <= 0 ))
181
174
return string1 ;
182
- }
183
175
184
176
ret = (text * )palloc (VARHDRSZ + len );
185
177
VARSIZE (ret ) = VARHDRSZ + len ;
@@ -225,11 +217,12 @@ rpad(text *string1, int4 len, text *string2)
225
217
char * ptr1 , * ptr2 , * ptr_ret ;
226
218
int m , n ;
227
219
228
- m = len - VARSIZE (string1 ) + VARHDRSZ ;
229
-
230
- if (m <= 0 || (VARSIZE (string2 ) - VARHDRSZ ) <= 0 ) {
220
+ if ((string1 == (text * )NULL ) ||
221
+ (len <= (VARSIZE (string1 ) - VARHDRSZ )) ||
222
+ ((m = len - VARSIZE (string1 ) + VARHDRSZ ) <= 0 ) ||
223
+ (string2 == (text * )NULL ) ||
224
+ ((VARSIZE (string2 ) - VARHDRSZ ) <= 0 ))
231
225
return string1 ;
232
- }
233
226
234
227
ret = (text * )palloc (VARHDRSZ + len );
235
228
VARSIZE (ret ) = VARHDRSZ + len ;
@@ -275,11 +268,11 @@ ltrim(text *string, text *set)
275
268
char * ptr , * ptr2 , * end2 , * ptr_ret ;
276
269
int m ;
277
270
278
- m = VARSIZE (string ) - VARHDRSZ ;
279
-
280
- if (m <= 0 || VARSIZE (set ) - VARHDRSZ <= 0 ) {
271
+ if ((string == (text * )NULL ) ||
272
+ ((m = VARSIZE (string ) - VARHDRSZ ) <= 0 ) ||
273
+ (set == (text * )NULL ) ||
274
+ ((VARSIZE (set ) - VARHDRSZ ) <= 0 ))
281
275
return string ;
282
- }
283
276
284
277
ptr = VARDATA (string );
285
278
ptr2 = VARDATA (set );
@@ -336,11 +329,11 @@ rtrim(text *string, text *set)
336
329
char * ptr , * ptr2 , * end2 , * ptr_ret ;
337
330
int m ;
338
331
339
- m = VARSIZE (string ) - VARHDRSZ ;
340
-
341
- if (m <= 0 || VARSIZE (set ) - VARHDRSZ <= 0 ) {
332
+ if ((string == (text * )NULL ) ||
333
+ ((m = VARSIZE (string ) - VARHDRSZ ) <= 0 ) ||
334
+ (set == (text * )NULL ) ||
335
+ ((VARSIZE (set ) - VARHDRSZ ) <= 0 ))
342
336
return string ;
343
- }
344
337
345
338
ptr = VARDATA (string ) + VARSIZE (string ) - VARHDRSZ - 1 ;
346
339
ptr2 = VARDATA (set );
@@ -397,11 +390,10 @@ substr(text *string, int4 m, int4 n)
397
390
char * ptr , * ptr_ret ;
398
391
int len ;
399
392
400
- len = VARSIZE ( string ) - VARHDRSZ - m ;
401
-
402
- if ( m <= 0 || n <= 0 || len <= 0 ) {
393
+ if (( string == ( text * ) NULL ) ||
394
+ ( m <= 0 ) || ( n <= 0 ) ||
395
+ (( len = VARSIZE ( string ) - VARHDRSZ - m ) <= 0 ))
403
396
return string ;
404
- }
405
397
406
398
len = len + 1 < n ? len + 1 : n ;
407
399
@@ -442,11 +434,9 @@ translate(text *string, char from, char to)
442
434
char * ptr , * ptr_ret ;
443
435
int m ;
444
436
445
- m = VARSIZE (string ) - VARHDRSZ ;
446
-
447
- if (m <= 0 ) {
437
+ if ((string == (text * )NULL ) ||
438
+ ((m = VARSIZE (string ) - VARHDRSZ ) <= 0 ))
448
439
return string ;
449
- }
450
440
451
441
ret = (text * )palloc (VARSIZE (string ));
452
442
VARSIZE (ret ) = VARSIZE (string );
@@ -464,3 +454,11 @@ translate(text *string, char from, char to)
464
454
465
455
466
456
/* EOF */
457
+
458
+
459
+
460
+
461
+
462
+
463
+
464
+
0 commit comments