Return Type | Function name | Arguments |
---|---|---|
hzEcode | DosifyFile | (const hzString&,const hzString&,) |
Declared in file: hzTextproc.h
Defined in file : hzTextproc.cpp
Function Logic:
Function body:
hzEcode DosifyFile (const hzString& tgt, const hzString& src) { _hzfunc(__func__) ; ifstream is ; ofstream os ; hzString target ; char buf [1024]; bool bSame ; hzEcode rc = E_OK ; if (!src) { hzerr(E_ARGUMENT, "No source file specified") ; return E_ARGUMENT ; } if (!tgt) { hzerr(E_ARGUMENT, "No target file specified") ; return E_ARGUMENT ; } if (tgt == src) { bSame = true ; target = tgt + ".x" ; } else { bSame = false ; target = tgt ; } rc = OpenInputStrm(is, src) ; if (rc != E_OK) return rc ; os.open(*target) ; if (os.fail()) return E_WRITEFAIL ; for (; rc == E_OK ;) { is.getline(buf, 1024); if (!is.gcount()) break ; if (is.fail()) { rc = E_READFAIL ; break ; } if (!buf[0]) continue ; if (is.gcount() == 1024) { if (buf[1023]==CHAR_CR) { buf[1023]=0; os << buf << "\r\n" ; continue ; } os.write(buf, 1024); continue ; } os << buf << "\r\n" ; if (os.fail()) rc = E_WRITEFAIL ; } is.close() ; os.close() ; if (bSame) { unlink(*src) ; rename(*target, *tgt) ; } return rc ; }