Skip to content

Commit 03be197

Browse files
author
Balearica
committed
Updated PrintParams to no longer print info text to files per tesseract-ocr#3943
1 parent a873553 commit 03be197

File tree

1 file changed

+27
-8
lines changed

1 file changed

+27
-8
lines changed

src/ccutil/params.cpp

+27-8
Original file line numberDiff line numberDiff line change
@@ -163,25 +163,44 @@ bool ParamUtils::GetParamAsString(const char *name, const ParamsVectors *member_
163163

164164
void ParamUtils::PrintParams(FILE *fp, const ParamsVectors *member_params) {
165165
int num_iterations = (member_params == nullptr) ? 1 : 2;
166+
// When printing to stdout info text is included.
167+
// Info text is omitted when printing to a file (would result in an invalid config file).
168+
bool print_info = (fp == stdout) ? true : false;
166169
std::ostringstream stream;
167170
stream.imbue(std::locale::classic());
168171
for (int v = 0; v < num_iterations; ++v) {
169172
const ParamsVectors *vec = (v == 0) ? GlobalParams() : member_params;
170173
for (auto int_param : vec->int_params) {
171-
stream << int_param->name_str() << '\t' << (int32_t)(*int_param) << '\t'
172-
<< int_param->info_str() << '\n';
174+
if (print_info) {
175+
stream << int_param->name_str() << '\t' << (int32_t)(*int_param) << '\t'
176+
<< int_param->info_str() << '\n';
177+
} else {
178+
stream << int_param->name_str() << '\t' << (int32_t)(*int_param) << '\n';
179+
}
173180
}
174181
for (auto bool_param : vec->bool_params) {
175-
stream << bool_param->name_str() << '\t' << bool(*bool_param) << '\t'
176-
<< bool_param->info_str() << '\n';
182+
if (print_info) {
183+
stream << bool_param->name_str() << '\t' << bool(*bool_param) << '\t'
184+
<< bool_param->info_str() << '\n';
185+
} else {
186+
stream << bool_param->name_str() << '\t' << bool(*bool_param) << '\n';
187+
}
177188
}
178189
for (auto string_param : vec->string_params) {
179-
stream << string_param->name_str() << '\t' << string_param->c_str() << '\t'
180-
<< string_param->info_str() << '\n';
190+
if (print_info) {
191+
stream << string_param->name_str() << '\t' << string_param->c_str() << '\t'
192+
<< string_param->info_str() << '\n';
193+
} else {
194+
stream << string_param->name_str() << '\t' << string_param->c_str() << '\n';
195+
}
181196
}
182197
for (auto double_param : vec->double_params) {
183-
stream << double_param->name_str() << '\t' << (double)(*double_param) << '\t'
184-
<< double_param->info_str() << '\n';
198+
if (print_info) {
199+
stream << double_param->name_str() << '\t' << (double)(*double_param) << '\t'
200+
<< double_param->info_str() << '\n';
201+
} else {
202+
stream << double_param->name_str() << '\t' << (double)(*double_param) << '\n';
203+
}
185204
}
186205
}
187206
fprintf(fp, "%s", stream.str().c_str());

0 commit comments

Comments
 (0)