summaryrefslogtreecommitdiffstats
path: root/src/filegen.h
diff options
context:
space:
mode:
authorChristophe Grenier <[email protected]>2019-10-12 16:58:38 +0200
committerChristophe Grenier <[email protected]>2019-10-12 16:58:38 +0200
commitc315a2a6a73e8dcea9f14485082c2ad7e9118ceb (patch)
tree5c27c6fbca8b11b64a332ed588b82199873ab6c9 /src/filegen.h
parente0e4d24cc959f4c270ebba548b8129e979dc47c7 (diff)
src/filegen.c: avoid recursive call in file_rename() and file_rename_unicode()
Diffstat (limited to 'src/filegen.h')
-rw-r--r--src/filegen.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/filegen.h b/src/filegen.h
index 352a15e6..d187fe9f 100644
--- a/src/filegen.h
+++ b/src/filegen.h
@@ -133,8 +133,23 @@ void register_header_check(const unsigned int offset, const void *value, const u
const unsigned int safe_header_only, const file_recovery_t *file_recovery, file_recovery_t *file_recovery_new),
file_stat_t *file_stat);
file_stat_t * init_file_stats(file_enable_t *files_enable);
+
+/*@
+ @ requires \valid(file_recovery);
+ @ requires valid_read_string((char*)&file_recovery->filename);
+ @ requires \valid_read((char *)buffer+(0..buffer_size-1));
+ @ requires new_ext==\null || valid_read_string(new_ext);
+ @*/
int file_rename(file_recovery_t *file_recovery, const void *buffer, const int buffer_size, const int offset, const char *new_ext, const int force_ext);
+
+/*@
+ @ requires \valid(file_recovery);
+ @ requires valid_read_string((char*)&file_recovery->filename);
+ @ requires \valid_read((char *)buffer+(0..buffer_size-1));
+ @ requires new_ext==\null || valid_read_string(new_ext);
+ @*/
int file_rename_unicode(file_recovery_t *file_recovery, const void *buffer, const int buffer_size, const int offset, const char *new_ext, const int force_ext);
+
void header_ignored_cond_reset(uint64_t start, uint64_t end);
void header_ignored(const file_recovery_t *file_recovery_new);
int header_ignored_adv(const file_recovery_t *file_recovery, const file_recovery_t *file_recovery_new);