void Exit(int code) { if (code == 0) Dbg(DBGGEN, DBGOK, "normal exit"); else Dbg(DBGGEN, DBGBAD, "exiting with code %d", code); MemCheckPrint(); DiscourseFree(StdDiscourse); LearnClose(); StreamClose(Log); StreamClose(Display); Log = stdout; Dbg(DBGGEN, DBGOK, "exit"); exit(code); }
void BinDiffClose(void *in) { stream_p original = ((bindiff_p)(in))->in1; stream_p modified = ((bindiff_p)(in))->in2; diffdata_p data = (diffdata_p)(((bindiff_p)(in))->userdata); StreamClose(original); StreamClose(modified); if(data) { xd3_close_stream(&data->stream); xd3_free_stream(&data->stream); free(data); ((bindiff_p)(in))->userdata = NULL; } }
int close (int fd) { int ret; SYS_RET ( ret, StreamClose (fd) ); return 0; }
static void OutputArrayValues(parsercontext *p, const tchar_t *name, tchar_t *values[], size_t size) { tchar_t Path[MAXPATH]; tchar_t Value[MAXPATH]; textwriter Output, StringOutput; size_t i; stprintf_s(Value, TSIZEOF(Value), T("res_%s"), name); for (i=0; i<size; ++i) { stprintf_s(Path, TSIZEOF(Path), T("values-%s"), values[i]); FolderCreate((nodecontext*)p, Path); if (PathIsFolder((nodecontext*)p, Path)) { tcscat_s(Path, TSIZEOF(Path), T("/resinfo.xml")); memset(&Output,0,sizeof(Output)); Output.Stream = StreamOpen(p, Path, SFLAG_WRONLY|SFLAG_CREATE); TextElementXML(p, &Output, T("resources")); TextElementBegin(&StringOutput, &Output, T("string")); TextAttrib(&StringOutput, T("name"), Value, TYPE_STRING); TcsToUpper(Path, TSIZEOF(Path), values[i]); TextElementEndData(&StringOutput, Path); TextElementEnd(&Output); StreamClose(Output.Stream); } } }
void ProveIt(char *goal_filename, char *rule_filename, char *fact_filename, char *output_filename) { Obj *goal; ObjList *rules; ObjList *facts; Proof *proofs; FILE *outstream; if (NULL == (outstream = StreamOpen(output_filename, "w+"))) { return; } goal = ObjFileRead(goal_filename); if (goal == NULL) { return; } rules = ObjListFileRead(rule_filename); facts = ObjListFileRead(fact_filename); fprintf(outstream, "input goal = "); ObjPrint(outstream, goal); fputc(NEWLINE, outstream); fprintf(outstream, "input rules =\n"); ObjListPrint(outstream, rules); fprintf(outstream, "input facts =\n"); ObjListPrint(outstream, facts); if (Prove1(&TsNA, NULL, goal, rules, facts, 1, 0, &proofs)) { fprintf(outstream, "found proofs:\n"); ProofPrintAll(outstream, proofs); } else { fprintf(outstream, "did not find proofs\n"); } StreamClose(outstream); }
static void LoadTXT(const tchar_t* FileName,void* Buffer) { stream* p = StreamOpen(FileName,0); if (p) { StringAddText(Buffer,p->Read(p,Buffer,MAXTEXT)); StreamClose(p); } }
int FileRepConnServer_CreateConnection() { int status = STATUS_OK; port = (Port *) calloc(1, sizeof(Port)); if (port == NULL) { ereport(ERROR, (errcode(ERRCODE_OUT_OF_MEMORY), (errmsg("not enough memory to create connection")))); return status; } status = StreamConnection(listenSocket[0], port); if (status != STATUS_OK) { ereport(WARNING, (errcode_for_socket_access(), errmsg("could not accept connection: %m"), FileRep_errcontext())); if (port->sock >= 0) { StreamClose(port->sock); } ConnFree(); } else { /* * MPP-14225: On NIC failure, filerep receiver process's recv() system * call will take hours to timeout, depending on the TCP timeout. Add * SO_RCVTIMEO timeout to filerep receiver process's socket to avoid * this. */ struct timeval tv; tv.tv_sec = file_rep_socket_timeout; tv.tv_usec = 0; /* Not initializing this can cause strange * errors */ if (setsockopt(port->sock, SOL_SOCKET, SO_RCVTIMEO, (char *) &tv, sizeof(struct timeval)) == -1) ereport(WARNING, (errcode_for_socket_access(), errmsg("could not set receive timeout on socket"))); /* set TCP keep-alive parameters for FileRep connection */ (void) pq_setkeepalivesidle(gp_filerep_tcp_keepalives_idle, port); (void) pq_setkeepalivesinterval(gp_filerep_tcp_keepalives_interval, port); (void) pq_setkeepalivescount(gp_filerep_tcp_keepalives_count, port); MyProcPort = port; } return status; }
void DbgLogClear() { StreamClose(Log); Log = stdout; /* REALLY */ if (NULL == (Log = StreamOpen("log", "w+"))) Log = stdout; #ifdef MACOS #else if (Log != stdout) setvbuf(Log, NULL, _IONBF, 0L); #endif }
Object* SerializerLoad(Serializer* serializer) { if( !serializer->load ) return nullptr; if( !serializer->stream ) return nullptr; Object* object = serializer->load(serializer); StreamClose(serializer->stream); return object; }
bool SerializerSave(Serializer* serializer, const Object* object) { if( !serializer->save ) return false; if( !serializer->stream ) return false; serializer->save(serializer, object); StreamClose(serializer->stream); serializer->object = nullptr; return true; }
void FileRepConnServer_CloseConnection(void) { if (port != NULL) { secure_close(port); if (port->sock >= 0) { /* to close socket (file descriptor) */ StreamClose(port->sock); port->sock = -1; } ConnFree(); } }
int TA_TaggerPrune1(char *fn, TaggerWords *tw, Channel *ch) { int cnt, spliced; long wordnum; char word[PHRASELEN], tag[FEATLEN]; size_t pos; int firstchar; FILE *stream; PNode *pn, *prev; if (NULL == (stream = StreamOpen(fn, "r"))) { return(0); } wordnum = 0L; pn = ch->pnf->first; prev = NULL; while (pn) { if (!TA_TaggedWordRead(stream, word, tag)) break; Dbg(DBGGEN, DBGHYPER, "<%s>.<%s>", word, tag); if (wordnum >= tw->len) { Dbg(DBGGEN, DBGBAD, "TA_TaggerPrune1 length mismatch"); break; } if (!PennIsPunct(tag)) { pos = tw->positions[wordnum]; firstchar = tw->firstchars[wordnum]; TA_TaggerPrune2(pn, prev, 0, pos, firstchar, ch, word, tag, NULL, NULL, &cnt, &spliced); if ((spliced > 0) && (spliced < cnt) && /* Don't rule out all words. */ (cnt > 1)) { /* Don't rule out the only instance of a word. */ TA_TaggerPrune2(pn, prev, 1, pos, firstchar, ch, word, tag, &pn, &prev, NULL, NULL); } } wordnum++; } StreamClose(stream); return(1); }
int TA_TaggerWriteInput(char *fn, TaggerWords *tw, Channel *ch) { int eoschar; size_t pos; PNode *pn; FILE *stream; if (NULL == (stream = StreamOpen(fn, "w+"))) { return(0); } pos = 0; pn = ch->pnf->first; while (pos < ch->len) { if (NULL == (pn = PNodeGetNext(pn, pos))) break; if (pn->type == PNTYPE_END_OF_SENT) { eoschar = ch->buf[pn->lowerb]; TA_TaggerWriteSentence(stream, tw, ch, pos, pn->lowerb, eoschar); } pos = pn->upperb+1; } StreamClose(stream); return(1); }
void String_Init() { void* Buffer; StringAlloc(); Buffer = malloc(MAXTEXT); if (Buffer) { #ifdef NO_PLUGINS { int n; HANDLE Module = GetModuleHandle(NULL); HRSRC Rsrc = FindResource(Module,MAKEINTRESOURCE(2000),T("LANGTAR")); if (Rsrc) { int Size = SizeofResource(Module,Rsrc); HGLOBAL Global = LoadResource(Module,Rsrc); if (Global) { void* p = LockResource(Global); if (p) { stream* Stream = StreamOpenMem(p,Size); if (Stream) { LoadTGZ(Stream,Buffer); StreamCloseMem(Stream); } } } } for (n=2000;(Rsrc = FindResource(Module,MAKEINTRESOURCE(n),T("LANG")))!=NULL;++n) { int Size = SizeofResource(Module,Rsrc); HGLOBAL Global = LoadResource(Module,Rsrc); if (Global) { void* p = LockResource(Global); if (p) StringAddText(p,Size); } } } #endif #ifndef NO_LANG { tchar_t Path[MAXPATH]; stream* p; GetModulePath(Path,T("common.dll")); tcscat_s(Path,TSIZEOF(Path),T("language.tgz")); p = StreamOpen(Path,0); if (p) { LoadTGZ(p,Buffer); StreamClose(p); } GetModulePath(Path,T("common.dll")); FindFiles(Path,T("*.txt"),LoadTXT,Buffer); } #endif free(Buffer); } }
static void OutputValues(parsercontext *p, size_t size, size_t night, size_t density, size_t touchscreen, size_t keyboard, size_t textinput, size_t navstate, size_t navmethod) { tchar_t Path[MAXPATH]; textwriter Output, StringOutput; stprintf_s(Path, TSIZEOF(Path), T("values") T("-%s") // T("-%s") T("-%s") // T("-%s") // T("-%s") // T("-%s") // T("-%s") // T("-%s") ,Size[size] // ,Night[night] ,Density[density] // ,TouchScreen[touchscreen] // ,Keyboard[keyboard] // ,TextInput[textinput] // ,NavigationState[navstate] // ,NavigationMethod[navmethod] ); FolderCreate((nodecontext*)p, Path); if (PathIsFolder((nodecontext*)p, Path)) { tcscat_s(Path, TSIZEOF(Path), T("/resinfo.xml")); memset(&Output,0,sizeof(Output)); Output.Stream = StreamOpen(p, Path, SFLAG_WRONLY|SFLAG_CREATE); TextElementXML(p, &Output, T("resources")); TextElementBegin(&StringOutput, &Output, T("string")); TextAttrib(&StringOutput, T("name"), T("res_size"), TYPE_STRING); TcsToUpper(Path, TSIZEOF(Path), Size[size]); TextElementEndData(&StringOutput, Path); TextElementBegin(&StringOutput, &Output, T("string")); TextAttrib(&StringOutput, T("name"), T("res_night"), TYPE_STRING); TcsToUpper(Path, TSIZEOF(Path), Night[night]); TextElementEndData(&StringOutput, Path); TextElementBegin(&StringOutput, &Output, T("string")); TextAttrib(&StringOutput, T("name"), T("res_density"), TYPE_STRING); TcsToUpper(Path, TSIZEOF(Path), Density[density]); TextElementEndData(&StringOutput, Path); TextElementBegin(&StringOutput, &Output, T("string")); TextAttrib(&StringOutput, T("name"), T("res_touchscreen"), TYPE_STRING); TcsToUpper(Path, TSIZEOF(Path), TouchScreen[touchscreen]); TextElementEndData(&StringOutput, Path); TextElementBegin(&StringOutput, &Output, T("string")); TextAttrib(&StringOutput, T("name"), T("res_keyboard"), TYPE_STRING); TcsToUpper(Path, TSIZEOF(Path), Keyboard[keyboard]); TextElementEndData(&StringOutput, Path); TextElementBegin(&StringOutput, &Output, T("string")); TextAttrib(&StringOutput, T("name"), T("res_textinput"), TYPE_STRING); TcsToUpper(Path, TSIZEOF(Path), TextInput[textinput]); TextElementEndData(&StringOutput, Path); TextElementBegin(&StringOutput, &Output, T("string")); TextAttrib(&StringOutput, T("name"), T("res_navstate"), TYPE_STRING); TcsToUpper(Path, TSIZEOF(Path), NavigationState[navstate]); TextElementEndData(&StringOutput, Path); TextElementBegin(&StringOutput, &Output, T("string")); TextAttrib(&StringOutput, T("name"), T("res_navmethod"), TYPE_STRING); TcsToUpper(Path, TSIZEOF(Path), NavigationMethod[navmethod]); TextElementEndData(&StringOutput, Path); TextElementEnd(&Output); StreamClose(Output.Stream); } }