On 02/01/05 12:58 PM, Michael C. Shultz sat at the `puter and typed: > On Tuesday 01 February 2005 11:35 am, Louis LeBlanc wrote: > > I know there might be a better place for this question, but here > > goes. > > > > I'm working on a utility that has to, among many other things, create > > directory paths, often with a series of parent directories that may > > not already exist. Solaris has mkdirp(3GEN) in the libgen library, > > but I can't find a library call that will do this in FreeBSD. Kind > > of like `mkdir -p` would. > > > > I know it would be pretty trivial to roll my own, and if I can't find > > it I will. I'm just curious if anyone knows of an *existing* library > > call that would do this. > > > > TIA > > Lou > > Assuming your working in C what is wrong with: > > char command[] = "mkdir -p /path/to/whatever"; > > system( command );
Nothing, except that calling a system command from C when you can roll your own method in about 18 lines of code is usually not ideal. Particularly when speed is important. And yes, it is definitely important - disk access can be an insurmountable bottleneck for high volume systems if it is neglected at the implemenation stage. I only wanted a system lib call because I trust FreeBSDs implementation to be faster than my quick throw together. I've already written it. It's not pretty, and probably not as fast as a system lib would be (it has to make 1 system call per directory in the path, rather than just one system call for the whole path). It is, however, much faster than a call to system() would be. Thanks all the same Lou -- Louis LeBlanc FreeBSD-at-keyslapper-DOT-net Fully Funded Hobbyist, KeySlapper Extrordinaire :) This is a list only address, and the return address is a black hole! Send off-list email to: leblanc at keyslapper d.t net Key fingerprint = C5E7 4762 F071 CE3B ED51 4FB8 AF85 A2FE 80C8 D9A2 Armadillo: To provide weapons to a Spanish pickle.
pgpwSlY2mdHLd.pgp
Description: PGP signature