Cleanup: remove code related to picture-storage in git repositories

Saving of pictures to git repositories was disabled. Finally remove
this code and the corresponding load code.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2018-05-23 18:01:39 +02:00 committed by Dirk Hohndel
parent 0958592ee6
commit 21ee440e5f
4 changed files with 1 additions and 107 deletions

View file

@ -29,14 +29,6 @@
const char *saved_git_id = NULL;
struct picture_entry_list {
void *data;
int len;
const char *hash;
struct picture_entry_list *next;
};
struct picture_entry_list *pel = NULL;
struct keyword_action {
const char *keyword;
void (*fn)(char *, struct membuffer *, void *);
@ -46,23 +38,6 @@ struct keyword_action {
extern degrees_t parse_degrees(char *buf, char **end);
git_blob *git_tree_entry_blob(git_repository *repo, const git_tree_entry *entry);
static void save_picture_from_git(struct picture *picture)
{
struct picture_entry_list *pic_entry = pel;
while (pic_entry) {
char *hash = hashstring(picture->filename);
if (same_string(pic_entry->hash, hash)) {
savePictureLocal(picture, hash, pic_entry->data, pic_entry->len);
free(hash);
return;
}
free(hash);
pic_entry = pic_entry->next;
}
fprintf(stderr, "didn't find picture entry for %s\n", picture->filename);
}
static char *get_utf8(struct membuffer *b)
{
int len = b->len;
@ -1217,18 +1192,6 @@ static void finish_active_dive(void)
struct dive *dive = active_dive;
if (dive) {
/* check if we need to save pictures */
FOR_EACH_PICTURE(dive) {
if (!picture_exists(picture))
save_picture_from_git(picture);
}
/* free any memory we allocated to track pictures */
while (pel) {
free(pel->data);
void *lastone = pel;
pel = pel->next;
free(lastone);
}
active_dive = NULL;
record_dive(dive);
}
@ -1590,26 +1553,6 @@ static int parse_settings_entry(git_repository *repo, const git_tree_entry *entr
return 0;
}
static int parse_picture_file(git_repository *repo, const git_tree_entry *entry, const char *name)
{
/* remember the picture data so we can handle it when all dive data has been loaded
* the name of the git file is PIC-<hash> */
git_blob *blob = git_tree_entry_blob(repo, entry);
if (blob) {
const void*rawdata = git_blob_rawcontent(blob);
int len = git_blob_rawsize(blob);
struct picture_entry_list *new_pel = malloc(sizeof(struct picture_entry_list));
new_pel->next = pel;
pel = new_pel;
pel->data = malloc(len);
memcpy(pel->data, rawdata, len);
pel->len = len;
pel->hash = strdup(name + 4);
git_blob_free(blob);
}
return 0;
}
static int parse_picture_entry(git_repository *repo, const git_tree_entry *entry, const char *name)
{
git_blob *blob;
@ -1651,7 +1594,6 @@ static int walk_tree_file(const char *root, const git_tree_entry *entry, git_rep
if (verbose > 1)
fprintf(stderr, "git load handling file %s\n", name);
switch (*name) {
/* Picture file? They are saved as time offsets in the dive */
case '-': case '+':
if (dive)
return parse_picture_entry(repo, entry, name);
@ -1672,10 +1614,6 @@ static int walk_tree_file(const char *root, const git_tree_entry *entry, git_rep
if (!strcmp(name, "00-Subsurface"))
return parse_settings_entry(repo, entry);
break;
case 'P':
if (dive && !strncmp(name, "PIC-", 4))
return parse_picture_file(repo, entry, name);
break;
}
report_error("Unknown file %s%s (%p %p)", root, name, dive, trip);
return GIT_WALK_SKIP;