From 44445734ba4a0f05564f808c2fd34a7f23c6fafb Mon Sep 17 00:00:00 2001 From: Nathan Reiner Date: Wed, 20 May 2026 10:16:50 +0200 Subject: Let's do a rewrite! Created project structure and changed `build.zig` and added licence. --- src/storage/image-manager/exif.zig | 57 -------------------------------------- 1 file changed, 57 deletions(-) delete mode 100644 src/storage/image-manager/exif.zig (limited to 'src/storage/image-manager/exif.zig') diff --git a/src/storage/image-manager/exif.zig b/src/storage/image-manager/exif.zig deleted file mode 100644 index 88e9b48..0000000 --- a/src/storage/image-manager/exif.zig +++ /dev/null @@ -1,57 +0,0 @@ -const std = @import("std"); -const exif = @cImport(@cInclude("libexif/exif-data.h")); -const cstd = @cImport(@cInclude("time.h")); - -const tags = [_]c_uint { - exif.EXIF_TAG_DATE_TIME, - exif.EXIF_TAG_DATE_TIME_ORIGINAL, - exif.EXIF_TAG_DATE_TIME_DIGITIZED, -}; - -pub fn get_date_time(path: [*:0]const u8) ?i64 { - const exif_data = exif.exif_data_new_from_file(path); - defer exif.exif_data_unref(exif_data); - - if (exif_data == 0) { - return null; - } - - var entry: ?[*c]exif.struct__ExifEntry = null; - for (0..exif.EXIF_IFD_COUNT) |index| { - for (tags) |tag| { - entry = exif.exif_content_get_entry((exif_data.*).ifd[index], tag); - - if (entry) |_| { break; } - } - - if (entry) |_| { break; } - } - - if (entry == 0) { - return null; - } - - if (entry) |e| { - const c_data = (e.*).data; - return parse_date(c_data); - } - - return null; -} - -extern fn strptime( - s: [*c]const u8, - format: [*c]const u8, - tm: *cstd.tm, -) ?*const u8; - -extern fn mktime(tm: *cstd.tm) i64; - -fn parse_date(date: [*:0]const u8) ?i64 { - var tm: cstd.tm = std.mem.zeroes(cstd.tm); - if (strptime(date, "%Y:%m:%d %H:%M:%S", &tm)) |_| { - return mktime(&tm); - } - - return null; -} -- cgit v1.2.3-70-g09d2