|
4 | 4 |
|
5 | 5 | FBCALL FBSTRING *fb_TrimAny( FBSTRING *src, FBSTRING *pattern ) |
6 | 6 | { |
7 | | - const char *pachText = NULL; |
| 7 | + const char *pachText = NULL; |
8 | 8 | FBSTRING *dst; |
9 | 9 | ssize_t len; |
10 | 10 |
|
11 | | - if( src == NULL ) |
12 | | - { |
13 | | - fb_hStrDelTemp( pattern ); |
14 | | - return &__fb_ctx.null_desc; |
15 | | - } |
| 11 | + if( src == NULL ) |
| 12 | + { |
| 13 | + fb_hStrDelTemp( pattern ); |
| 14 | + return &__fb_ctx.null_desc; |
| 15 | + } |
16 | 16 |
|
17 | | - FB_STRLOCK(); |
| 17 | + FB_STRLOCK(); |
18 | 18 |
|
19 | 19 | len = 0; |
20 | 20 | if( src->data != NULL ) |
21 | | - { |
22 | | - ssize_t len_pattern = ((pattern != NULL) && (pattern->data != NULL)? FB_STRSIZE( pattern ) : 0); |
23 | | - pachText = src->data; |
24 | | - len = FB_STRSIZE( src ); |
| 21 | + { |
| 22 | + ssize_t len_pattern = ((pattern != NULL) && (pattern->data != NULL)? FB_STRSIZE( pattern ) : 0); |
| 23 | + pachText = src->data; |
| 24 | + len = FB_STRSIZE( src ); |
25 | 25 | if( len_pattern != 0 ) |
26 | 26 | { |
27 | 27 | while ( len != 0 ) |
28 | | - { |
29 | | - ssize_t i; |
30 | | - for( i=0; i!=len_pattern; ++i ) |
31 | | - { |
32 | | - if( FB_MEMCHR( pattern->data, *pachText, len_pattern )!=NULL ) |
33 | | - break; |
34 | | - } |
35 | | - |
36 | | - if( i==len_pattern ) |
37 | | - break; |
| 28 | + { |
| 29 | + if( FB_MEMCHR( pattern->data, *pachText, len_pattern ) == NULL ) |
| 30 | + break; |
38 | 31 |
|
39 | | - --len; |
40 | | - ++pachText; |
| 32 | + --len; |
| 33 | + ++pachText; |
41 | 34 | } |
42 | 35 | while ( len != 0 ) |
43 | | - { |
44 | | - ssize_t i; |
45 | | - --len; |
46 | | - for( i=0; i!=len_pattern; ++i ) |
47 | | - { |
48 | | - if( FB_MEMCHR( pattern->data, pachText[len], len_pattern )!=NULL ) |
49 | | - break; |
50 | | - } |
51 | | - |
52 | | - if( i==len_pattern ) |
53 | | - { |
54 | | - ++len; |
55 | | - break; |
56 | | - } |
| 36 | + { |
| 37 | + --len; |
| 38 | + if( FB_MEMCHR( pattern->data, pachText[len], len_pattern ) == NULL ) |
| 39 | + { |
| 40 | + ++len; |
| 41 | + break; |
| 42 | + } |
57 | 43 | } |
58 | 44 | } |
59 | 45 | } |
60 | 46 |
|
61 | 47 | if( len > 0 ) |
62 | 48 | { |
63 | 49 | /* alloc temp string */ |
64 | | - dst = fb_hStrAllocTemp_NoLock( NULL, len ); |
| 50 | + dst = fb_hStrAllocTemp_NoLock( NULL, len ); |
65 | 51 | if( dst != NULL ) |
66 | 52 | { |
67 | 53 | /* simple copy */ |
68 | 54 | fb_hStrCopy( dst->data, pachText, len ); |
69 | 55 | } |
70 | 56 | else |
71 | 57 | dst = &__fb_ctx.null_desc; |
72 | | - } |
| 58 | + } |
73 | 59 | else |
74 | 60 | dst = &__fb_ctx.null_desc; |
75 | 61 |
|
76 | 62 | /* del if temp */ |
77 | 63 | fb_hStrDelTemp_NoLock( src ); |
78 | | - fb_hStrDelTemp_NoLock( pattern ); |
| 64 | + fb_hStrDelTemp_NoLock( pattern ); |
79 | 65 |
|
80 | | - FB_STRUNLOCK(); |
| 66 | + FB_STRUNLOCK(); |
81 | 67 |
|
82 | 68 | return dst; |
83 | 69 | } |
0 commit comments