#!/usr/local/bin/cz -- use b cstr version = "1.0" cstr description = "install - Sam Watkins, 2009" cstr usage[] = "[-m=mode] [file...] directory", "--help", NULL cstr options[][3] = { "V", "version", "" }, { "v", "verbose", "" }, { "m", "mode", "set mode" }, { "d", "directory", "create directories" }, { NULL, NULL, NULL } opts *O Main() O = get_options(options) long mode = 0755 if opt("verbose") is_verbose = 1 if opt("mode") cstr mode_str = opt("mode")->arg[0] if !mode_str error("missing mode") mode = STRTOL(mode_str, 8) if opt("directory") eacharg(dir) Verbose("mkdirs %s", dir) Mkdirs(dir) else rargs(cstr, target) Mkdirs(target) eacharg(file) Verbose("install %s %s", file, target) cstr tmp = Strdup(file) cstr dest = path_cat(target, base_name(tmp)) remove(dest) cp(file, dest) Chmod(dest, mode) Free(dest) ; Free(tmp)