133 |
printf ("Written by Ar Rakin <[email protected]>\n"); |
printf ("Written by Ar Rakin <[email protected]>\n"); |
134 |
} |
} |
135 |
|
|
136 |
|
#ifndef NDEBUG |
137 |
/* Print a debug message. */ |
/* Print a debug message. */ |
138 |
static void |
static void |
139 |
pdebug (char const *file, int line, char const *format, ...) |
pdebug (char const *file, int line, char const *format, ...) |
147 |
vfprintf (stderr, format, args); |
vfprintf (stderr, format, args); |
148 |
va_end (args); |
va_end (args); |
149 |
} |
} |
150 |
|
#endif |
151 |
|
|
152 |
/* Print a message. */ |
/* Print a message. */ |
153 |
static void |
static void |
199 |
progname = argv0; |
progname = argv0; |
200 |
} |
} |
201 |
|
|
202 |
|
static bool |
203 |
|
create_archive_callback (struct uar_file *file, |
204 |
|
const char *fullname __attribute__ ((unused)), |
205 |
|
const char *fullpath __attribute__ ((unused))) |
206 |
|
{ |
207 |
|
enum uar_file_type type = uar_get_entry_type (file); |
208 |
|
pinfo ("adding %s: %s\n", |
209 |
|
type == UF_FILE ? "file" |
210 |
|
: type == UF_DIR ? "directory" |
211 |
|
: "link", |
212 |
|
uar_get_file_name (file)); |
213 |
|
return true; |
214 |
|
} |
215 |
|
|
216 |
/* Create an archive. */ |
/* Create an archive. */ |
217 |
static void |
static void |
218 |
create_archive (void) |
create_archive (void) |
262 |
} |
} |
263 |
else if (S_ISDIR (stinfo.st_mode)) |
else if (S_ISDIR (stinfo.st_mode)) |
264 |
{ |
{ |
|
pinfo ("adding directory: %s\n", |
|
|
params.params.create.targets[i]); |
|
265 |
file = uar_add_dir ( |
file = uar_add_dir ( |
266 |
uar, basename (params.params.create.targets[i]), |
uar, basename (params.params.create.targets[i]), |
267 |
params.params.create.targets[i]); |
params.params.create.targets[i], |
268 |
|
&create_archive_callback); |
269 |
|
|
270 |
if (file == NULL) |
if (file == NULL) |
271 |
{ |
{ |