summaryrefslogtreecommitdiffstats
path: root/dive.c
diff options
context:
space:
mode:
authorGravatar Robert C. Helling <helling@atdotde.de>2015-02-26 14:39:42 +0100
committerGravatar Dirk Hohndel <dirk@hohndel.org>2015-02-27 06:29:44 +0100
commitb02bf002a677e45dbaa4d28edadbaafc89a7badc (patch)
tree86f26c0dc8edbf66999e602277a15bb6a09dc38e /dive.c
parentea00fdb36ab727b2f403a9feed5e8d96fb6659fc (diff)
downloadsubsurface-b02bf002a677e45dbaa4d28edadbaafc89a7badc.tar.gz
Add hashes to images
Upon successfull reading an image file, this computes a SHA1 hash of the image and saves it with the picture tag in the log file. When a file is not successfully loaded (for example because the log was created on a different computer) we look up the hash in a dictionary that maps hashes to local file names. That dictionary (actually two for both directions), is loaded on startup and saved upon destruction of the main window. Signed-off-by: Robert C. Helling <helling@atdotde.de> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'dive.c')
-rw-r--r--dive.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/dive.c b/dive.c
index 758368615..fc0fbb855 100644
--- a/dive.c
+++ b/dive.c
@@ -392,6 +392,7 @@ static void copy_pl(struct picture *sp, struct picture *dp)
{
*dp = *sp;
dp->filename = copy_string(sp->filename);
+ dp->hash = copy_string(sp->hash);
}
/* copy an element in a list of tags */
@@ -2936,6 +2937,7 @@ static void picture_free(struct picture *p)
if (!p)
return;
free(p->filename);
+ free(p->hash);
free(p);
}
void dive_remove_picture(char *filename)