library call for directory path creation?

Louis LeBlanc FreeBSD at keyslapper.net
Tue Feb 1 13:39:06 PST 2005


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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-questions/attachments/20050201/056328ae/attachment.bin


More information about the freebsd-questions mailing list