Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 26 Dec 2008 18:10:23 -0800
From:      Gary Kline <kline@thought.org>
To:        FreeBSD Mailing List <freebsd-questions@FreeBSD.ORG>
Subject:   Re: how can i be certain that a file has copied exactly?
Message-ID:  <20081227021022.GD29639@thought.org>
In-Reply-To: <44bpuyh076.fsf@lowell-desk.lan>
References:  <20081227011335.GA29354@thought.org> <44bpuyh076.fsf@lowell-desk.lan>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Dec 26, 2008 at 08:32:45PM -0500, Lowell Gilbert wrote:
> Gary Kline <kline@thought.org> writes:
> 
> > 	is there a way i can be sure that my little C program has copied a
> > 	dos/win file named, say, foo.htm\;7 to simply foo.htm?
> >
> > 	my program uses fopen/fgets/fputs to copy the markup files.  of
> > 	the several i have copied, no problem.  unless i hack cmp or diff, 
> > 	i have to avoid the shell.
> >
> > 	any ideas? in other words, does anybody have a prefab cmp(oldfile, newfile)
> > 	fn?
> 
> mtree(1) handles whole ranges of files.
> 
> For a single file, you could use some kind of checksum in your program
> or externally, but in general it will be comparing against the cache of
> the file's buffers, not against what is really on disk, so if you
> suspect an operating system or hardware-write bug, you won't spot it
> immediately.
> 
> What, precisely, would you like to protect against?


	again bad copies!  mtree might work, but given the number of
	files, i'd be better off hacking usr.bin/cmp !!  

	oh-well, 

	enjoy, spring is only 90 da off:-)


> -- 
> Lowell Gilbert, embedded/networking software engineer, Boston area
> 		http://be-well.ilk.org/~lowell/

-- 
 Gary Kline  kline@thought.org  http://www.thought.org  Public Service Unix
        http://jottings.thought.org   http://transfinite.thought.org
    The 2.17a release of Jottings: http://jottings.thought.org/index.php




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20081227021022.GD29639>