U_CAPI void u_frewind(UFILE *file) { u_fflush(file); ucnv_reset(file->fConverter); if (file->fFile) { rewind(file->fFile); file->str.fLimit = file->fUCBuffer; file->str.fPos = file->fUCBuffer; } else { file->str.fPos = file->str.fBuffer; } }
U_CAPI void U_EXPORT2 /* U_CAPI ... U_EXPORT2 added by Peter Kirk 17 Nov 2001 */ u_fclose(UFILE *file) { if (file) { u_fflush(file); ufile_close_translit(file); if(file->fOwnFile) fclose(file->fFile); #if !UCONFIG_NO_FORMATTING u_locbund_close(&file->str.fBundle); #endif ucnv_close(file->fConverter); uprv_free(file); } }
void MweSplitApplicator::printSingleWindow(SingleWindow* window, std::ostream& output) { for (auto var : window->variables_output) { Tag* key = single_tags[var]; auto iter = window->variables_set.find(var); if (iter != window->variables_set.end()) { if (iter->second != grammar->tag_any) { Tag* value = single_tags[iter->second]; u_fprintf(output, "%S%S=%S>\n", stringbits[S_CMD_SETVAR].c_str(), key->tag.c_str(), value->tag.c_str()); } else { u_fprintf(output, "%S%S>\n", stringbits[S_CMD_SETVAR].c_str(), key->tag.c_str()); } } else { u_fprintf(output, "%S%S>\n", stringbits[S_CMD_REMVAR].c_str(), key->tag.c_str()); } } if (!window->text.empty()) { u_fprintf(output, "%S", window->text.c_str()); if (!ISNL(window->text[window->text.size() - 1])) { u_fputc('\n', output); } } uint32_t cs = (uint32_t)window->cohorts.size(); for (uint32_t c = 0; c < cs; c++) { Cohort* cohort = window->cohorts[c]; std::vector<Cohort*> cs = splitMwe(cohort); for (auto iter : cs) { printCohort(iter, output); } } u_fputc('\n', output); u_fflush(output); }
static int icu_ufile_flush(lua_State *L) { u_fflush(icu4lua_checkopenufile(L,1,UFILE_UV_META)); return 0; }