#include "zck_private.h"
-char *snprintf_error = "Unknown error";
+static const char *empty_error = "";
void set_error_wf(zckCtx *zck, int fatal, const char *function,
const char *format, ...) {
return zck->error_state;
}
-char PUBLIC *zck_get_error(zckCtx *zck) {
+const char PUBLIC *zck_get_error(zckCtx *zck) {
if(zck == NULL)
return "zckCtx is NULL\n";
+ if(zck->msg == NULL)
+ return empty_error;
return zck->msg;
}
VALIDATE_BOOL(zck);
int retval = read_lead(zck);
- zck_clear_error(zck);
+ if(!zck_clear_error(zck))
+ return False;
free(zck->header);
free(zck->header_digest);
zck->header = NULL;
error2:
free(data);
if(!good_exit)
- printf(zck_get_error(zck));
+ printf("%s", zck_get_error(zck));
zck_free(&zck);
error1:
if(!good_exit)
}*/
if(dict_size > 0) {
if(!zck_set_soption(zck, ZCK_COMP_DICT, dict, dict_size)) {
- printf(zck_get_error(zck));
+ printf("%s\n", zck_get_error(zck));
exit(1);
}
}
free(dict);
if(arguments.manual_chunk) {
if(!zck_set_ioption(zck, ZCK_MANUAL_CHUNK, 1)) {
- printf(zck_get_error(zck));
+ printf("%s\n", zck_get_error(zck));
exit(1);
}
}
/* Buzhash rolling window */
} else {
if(zck_write(zck, data, in_size) < 0) {
- printf(zck_get_error(zck));
+ printf("%s", zck_get_error(zck));
exit(1);
}
}
free(data);
}
if(!zck_close(zck)) {
- printf(zck_get_error(zck));
+ printf("%s", zck_get_error(zck));
exit(1);
}
if(arguments.log_level <= ZCK_LOG_INFO) {
exit(10);
}
if(!zck_init_adv_read(zck_tgt, dst_fd)) {
- printf(zck_get_error(zck_tgt));
+ printf("%s", zck_get_error(zck_tgt));
exit(10);
}
ra_index++;
char *range_string = zck_get_range_char(zck_src, range);
if(range_string == NULL) {
- printf(zck_get_error(zck_src));
+ printf("%s", zck_get_error(zck_src));
exit_val = 10;
goto out;
}
exit(1);
}
if(!zck_init_read(zck, src_fd)) {
- printf(zck_get_error(zck));
+ printf("%s", zck_get_error(zck));
printf("Unable to read zchunk header\n");
exit(1);
}