* POSSIBILITY OF SUCH DAMAGE.
*/
+#define _GNU_SOURCE
+
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
perror("");
exit(1);
}
-
- char *out_name = malloc(strlen(arguments.args[0]) - 3);
- snprintf(out_name, strlen(arguments.args[0]) - 3, "%s", arguments.args[0]);
+ char *base_name = basename(arguments.args[0]);
+ char *out_name = malloc(strlen(base_name) - 3);
+ snprintf(out_name, strlen(base_name) - 3, "%s", base_name);
int dst_fd = STDOUT_FILENO;
if(!arguments.stdout) {
* POSSIBILITY OF SUCH DAMAGE.
*/
+#define _GNU_SOURCE
+
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
zck_set_log_level(arguments.log_level);
- char *out_name;
- out_name = malloc(strlen(arguments.args[0]) + 5);
- snprintf(out_name, strlen(arguments.args[0]) + 5, "%s.zck",
- arguments.args[0]);
+ char *base_name = basename(arguments.args[0]);
+ char *out_name = malloc(strlen(base_name) + 5);
+ snprintf(out_name, strlen(base_name) + 5, "%s.zck", base_name);
/* Set dictionary if available */
char *dict = NULL;
* POSSIBILITY OF SUCH DAMAGE.
*/
+#define _GNU_SOURCE
+
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
-#include <libgen.h>
#include <errno.h>
#include <argp.h>
#include <zck.h>
exit(10);
}
- char *outname_full = calloc(1, strlen(arguments.args[0])+1);
- memcpy(outname_full, arguments.args[0], strlen(arguments.args[0]));
- char *outname = basename(outname_full);
+ char *outname = basename(arguments.args[0]);
int dst_fd = open(outname, O_RDWR | O_CREAT, 0644);
if(dst_fd < 0) {
printf("Unable to open %s: %s\n", outname, strerror(errno));
- free(outname_full);
exit(10);
}
zckCtx *zck_tgt = zck_create();
break;
}
out:
- free(outname_full);
zck_dl_free(&dl);
zck_free(&zck_tgt);
zck_free(&zck_src);