Annotation of libaitsync/src/file.c, revision 1.1
1.1 ! misho 1: /*************************************************************************
! 2: * (C) 2010 AITNET ltd - Sofia/Bulgaria - <misho@aitbg.com>
! 3: * by Michael Pounov <misho@openbsd-bg.org>
! 4: *
! 5: * $Author: misho $
! 6: * $Id: defs.h,v 1.1.1.1 2008/11/05 17:02:55 misho Exp $
! 7: *
! 8: *************************************************************************/
! 9: #include "global.h"
! 10: #include "file.h"
! 11:
! 12:
! 13: int syncOpen(const char *csFile, int mode)
! 14: {
! 15: int f;
! 16:
! 17: if (!csFile || (*csFile == '-' && !csFile[1]))
! 18: return mode;
! 19:
! 20: f = open(csFile, !mode ? O_RDONLY : O_WRONLY | O_CREAT | O_TRUNC, 0644);
! 21: if (f == -1)
! 22: SETERR;
! 23:
! 24: return f;
! 25: }
! 26:
! 27: inline int syncTemp(char * __restrict psName, int len)
! 28: {
! 29: char str[] = "/tmp/ansyncXXXXXX.dlt";
! 30: int f;
! 31:
! 32: f = mkstemps(str, 4);
! 33: strlcpy(psName, str, len);
! 34:
! 35: return f;
! 36: }
! 37:
! 38: void syncClose(int f)
! 39: {
! 40: if (f > 2)
! 41: close(f);
! 42: }
! 43:
! 44: int syncEOF(int f)
! 45: {
! 46: off_t old;
! 47: int ret = 0;
! 48:
! 49: old = lseek(f, 0, SEEK_CUR);
! 50: ret = lseek(f, 0, SEEK_END) - old;
! 51: if (lseek(f, old, SEEK_SET) == -1) {
! 52: SETERR;
! 53: return -1;
! 54: }
! 55:
! 56: return !ret;
! 57: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>