Skip to content

Commit a1fff87

Browse files
committed
RAII: *::GetHOCRText()
1 parent 986970d commit a1fff87

File tree

3 files changed

+6
-3
lines changed

3 files changed

+6
-3
lines changed

api/baseapi.cpp

+2
Original file line numberDiff line numberDiff line change
@@ -1393,6 +1393,7 @@ static void AddBoxToTSV(const PageIterator* it, PageIteratorLevel level,
13931393
* Image name/input_file_ can be set by SetInputName before calling
13941394
* GetHOCRText
13951395
* STL removed from original patch submission and refactored by rays.
1396+
* Returned string must be freed with the delete [] operator.
13961397
*/
13971398
char* TessBaseAPI::GetHOCRText(int page_number) {
13981399
return GetHOCRText(NULL, page_number);
@@ -1405,6 +1406,7 @@ char* TessBaseAPI::GetHOCRText(int page_number) {
14051406
* Image name/input_file_ can be set by SetInputName before calling
14061407
* GetHOCRText
14071408
* STL removed from original patch submission and refactored by rays.
1409+
* Returned string must be freed with the delete [] operator.
14081410
*/
14091411
char* TessBaseAPI::GetHOCRText(ETEXT_DESC* monitor, int page_number) {
14101412
if (tesseract_ == NULL || (page_res_ == NULL && Recognize(monitor) < 0))

api/baseapi.h

+2
Original file line numberDiff line numberDiff line change
@@ -591,13 +591,15 @@ class TESS_API TessBaseAPI {
591591
* monitor can be used to
592592
* cancel the recognition
593593
* receive progress callbacks
594+
* Returned string must be freed with the delete [] operator.
594595
*/
595596
char* GetHOCRText(ETEXT_DESC* monitor, int page_number);
596597

597598
/**
598599
* Make a HTML-formatted string with hOCR markup from the internal
599600
* data structures.
600601
* page_number is 0-based but will appear in the output as 1-based.
602+
* Returned string must be freed with the delete [] operator.
601603
*/
602604
char* GetHOCRText(int page_number);
603605

api/renderer.cpp

+2-3
Original file line numberDiff line numberDiff line change
@@ -186,11 +186,10 @@ bool TessHOcrRenderer::EndDocumentHandler() {
186186
}
187187

188188
bool TessHOcrRenderer::AddImageHandler(TessBaseAPI* api) {
189-
char* hocr = api->GetHOCRText(imagenum());
189+
const std::unique_ptr<const char[]> hocr(api->GetHOCRText(imagenum()));
190190
if (hocr == NULL) return false;
191191

192-
AppendString(hocr);
193-
delete[] hocr;
192+
AppendString(hocr.get());
194193

195194
return true;
196195
}

0 commit comments

Comments
 (0)