summaryrefslogtreecommitdiffstats
path: root/src/common.h
diff options
context:
space:
mode:
authorChristophe Grenier <[email protected]>2024-01-07 17:59:41 +0100
committerChristophe Grenier <[email protected]>2024-01-07 17:59:41 +0100
commitfed0b0c917d2b8e713980e6fdb4fffec0474d5f2 (patch)
tree74241baeff7819b631cb536937ccf78560264a17 /src/common.h
parent74f856f511ba40334c4eab173f7f30af9018e635 (diff)
src/common.[ch]: improve Frama-C annotations
Diffstat (limited to 'src/common.h')
-rw-r--r--src/common.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/common.h b/src/common.h
index 6e643783..3b2397a4 100644
--- a/src/common.h
+++ b/src/common.h
@@ -529,7 +529,9 @@ void *MALLOC(size_t size);
@ requires \valid(partition);
@ requires valid_partition(partition);
@ requires \valid_read(src + (0 .. max_size-1));
- @ requires \separated(partition, src);
+ @ requires \separated(partition, src + (..));
+ @ terminates \true;
+ @ ensures valid_string((char *)&partition->fsname);
@*/
void set_part_name(partition_t *partition, const char *src, const unsigned int max_size);
@@ -538,11 +540,14 @@ void set_part_name(partition_t *partition, const char *src, const unsigned int m
@ requires valid_partition(partition);
@ requires \valid_read(src + (0 .. max_size-1));
@ requires \separated(partition, src);
+ @ terminates \true;
+ @ ensures valid_string((char *)&partition->fsname);
@*/
void set_part_name_chomp(partition_t *partition, const char *src, const unsigned int max_size);
/*@
@ requires valid_read_string(str);
+ @ terminates \true;
@ ensures \result == \null || valid_read_string(\result);
@*/
char* strip_dup(char* str);
@@ -556,7 +561,10 @@ time_t date_dos2unix(const unsigned short f_time,const unsigned short f_date);
void set_secwest(void);
-/*@ assigns \nothing; */
+/*@
+ @ terminates \true;
+ @ assigns \nothing;
+ @*/
time_t td_ntfs2utc (int64_t ntfstime);
#ifndef BSD_MAXPARTITIONS
#define BSD_MAXPARTITIONS 8
@@ -649,6 +657,7 @@ struct tm *localtime_r(const time_t *timep, struct tm *result);
@ requires valid_read_string(cmd);
@ requires \separated(cmd+(..), current_cmd, *current_cmd);
@ requires strlen(cmd) == n;
+ @ terminates \true;
@ assigns *current_cmd;
@ ensures valid_read_string(*current_cmd);
@ ensures \result != 0 ==> *current_cmd == \old(*current_cmd);
@@ -670,6 +679,7 @@ void skip_comma_in_command(char **current_cmd);
@ requires \valid(current_cmd);
@ requires valid_read_string(*current_cmd);
@ requires \separated(current_cmd, *current_cmd);
+ @ terminates \true;
@ assigns *current_cmd;
@ ensures valid_read_string(*current_cmd);
@*/