73static bool createdLineBreakIterator = false;
74static TextBreakIterator* staticLineBreakIterator;
75
76TextBreakIterator* acquireLineBreakIterator(const UChar* string, int length)
77{
78 TextBreakIterator* lineBreakIterator = 0;
79 if (!createdLineBreakIterator || staticLineBreakIterator) {
80 setUpIterator(createdLineBreakIterator,
81 staticLineBreakIterator, UBRK_LINE, string, length);
82 swap(staticLineBreakIterator, lineBreakIterator);
83 }
84
85 if (!lineBreakIterator) {
86 bool createdNewLineBreakIterator = false;
87 setUpIterator(createdNewLineBreakIterator, lineBreakIterator, UBRK_LINE, string, length);
88 }
89
90 return lineBreakIterator;
91}
92
93void releaseLineBreakIterator(TextBreakIterator* iterator)