mirror of
				https://github.com/simon987/sist2.git
				synced 2025-11-04 09:36:53 +00:00 
			
		
		
		
	Compare commits
	
		
			9 Commits
		
	
	
		
			a4ecce363c
			...
			52466d5d8a
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 52466d5d8a | |||
| 5f73fc024b | |||
| f2fd7ccf41 | |||
| d87fee8e00 | |||
| 
						 | 
					672d1344d7 | ||
| 27e32db1ed | |||
| bb91139ffb | |||
| 70cfa8c37c | |||
| 7493dedc8c | 
							
								
								
									
										30
									
								
								.drone.yml
									
									
									
									
									
								
							
							
						
						
									
										30
									
								
								.drone.yml
									
									
									
									
									
								
							@ -11,21 +11,6 @@ steps:
 | 
				
			|||||||
    image: simon987/sist2-build
 | 
					    image: simon987/sist2-build
 | 
				
			||||||
    commands:
 | 
					    commands:
 | 
				
			||||||
      - ./scripts/build.sh
 | 
					      - ./scripts/build.sh
 | 
				
			||||||
  - name: docker
 | 
					 | 
				
			||||||
    image: plugins/docker
 | 
					 | 
				
			||||||
    settings:
 | 
					 | 
				
			||||||
      username:
 | 
					 | 
				
			||||||
        from_secret: DOCKER_USER
 | 
					 | 
				
			||||||
      password:
 | 
					 | 
				
			||||||
        from_secret: DOCKER_PASSWORD
 | 
					 | 
				
			||||||
      repo: simon987/sist2
 | 
					 | 
				
			||||||
      context: ./
 | 
					 | 
				
			||||||
      dockerfile: ./Dockerfile
 | 
					 | 
				
			||||||
      auto_tag: true
 | 
					 | 
				
			||||||
      auto_tag_suffix: x64-linux
 | 
					 | 
				
			||||||
      when:
 | 
					 | 
				
			||||||
        event:
 | 
					 | 
				
			||||||
          - tag
 | 
					 | 
				
			||||||
  - name: scp files
 | 
					  - name: scp files
 | 
				
			||||||
    image: appleboy/drone-scp
 | 
					    image: appleboy/drone-scp
 | 
				
			||||||
    settings:
 | 
					    settings:
 | 
				
			||||||
@ -42,6 +27,21 @@ steps:
 | 
				
			|||||||
        - ./VERSION
 | 
					        - ./VERSION
 | 
				
			||||||
        - ./sist2-x64-linux
 | 
					        - ./sist2-x64-linux
 | 
				
			||||||
        - ./sist2-x64-linux-debug
 | 
					        - ./sist2-x64-linux-debug
 | 
				
			||||||
 | 
					  - name: docker
 | 
				
			||||||
 | 
					    image: plugins/docker
 | 
				
			||||||
 | 
					    settings:
 | 
				
			||||||
 | 
					      username:
 | 
				
			||||||
 | 
					        from_secret: DOCKER_USER
 | 
				
			||||||
 | 
					      password:
 | 
				
			||||||
 | 
					        from_secret: DOCKER_PASSWORD
 | 
				
			||||||
 | 
					      repo: simon987/sist2
 | 
				
			||||||
 | 
					      context: ./
 | 
				
			||||||
 | 
					      dockerfile: ./Dockerfile
 | 
				
			||||||
 | 
					      auto_tag: true
 | 
				
			||||||
 | 
					      auto_tag_suffix: x64-linux
 | 
				
			||||||
 | 
					      when:
 | 
				
			||||||
 | 
					        event:
 | 
				
			||||||
 | 
					          - tag
 | 
				
			||||||
 | 
					
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
kind: pipeline
 | 
					kind: pipeline
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										3
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
								
							@ -1,6 +1,3 @@
 | 
				
			|||||||
[submodule "third-party/libscan"]
 | 
					 | 
				
			||||||
	path = third-party/libscan
 | 
					 | 
				
			||||||
	url = https://github.com/simon987/libscan
 | 
					 | 
				
			||||||
[submodule "third-party/argparse"]
 | 
					[submodule "third-party/argparse"]
 | 
				
			||||||
	path = third-party/argparse
 | 
						path = third-party/argparse
 | 
				
			||||||
	url = https://github.com/simon987/argparse
 | 
						url = https://github.com/simon987/argparse
 | 
				
			||||||
 | 
				
			|||||||
@ -7,7 +7,7 @@ RUN cmake -DSIST_PLATFORM=arm64_linux -DSIST_DEBUG=off -DBUILD_TESTS=off -DCMAKE
 | 
				
			|||||||
RUN make -j$(nproc)
 | 
					RUN make -j$(nproc)
 | 
				
			||||||
RUN strip sist2
 | 
					RUN strip sist2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
FROM --platform linux/arm64/v8 ubuntu:21.10
 | 
					FROM --platform="linux/arm64/v8" ubuntu:21.10
 | 
				
			||||||
 | 
					
 | 
				
			||||||
RUN apt update && apt install -y curl libasan5 && rm -rf /var/lib/apt/lists/*
 | 
					RUN apt update && apt install -y curl libasan5 && rm -rf /var/lib/apt/lists/*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -51,7 +51,7 @@ sist2 (Simple incremental search tool)
 | 
				
			|||||||
    1. Download the [latest sist2 release](https://github.com/simon987/sist2/releases) *
 | 
					    1. Download the [latest sist2 release](https://github.com/simon987/sist2/releases) *
 | 
				
			||||||
    1. *(or)* Download a [development snapshot](https://files.simon987.net/.gate/sist2/simon987_sist2/) *(Not
 | 
					    1. *(or)* Download a [development snapshot](https://files.simon987.net/.gate/sist2/simon987_sist2/) *(Not
 | 
				
			||||||
       recommended!)*
 | 
					       recommended!)*
 | 
				
			||||||
    1. *(or)* `docker pull simon987/sist2:2.11.4-x64-linux`
 | 
					    1. *(or)* `docker pull simon987/sist2:2.11.6-x64-linux`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
1. See [Usage guide](docs/USAGE.md)
 | 
					1. See [Usage guide](docs/USAGE.md)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -143,7 +143,7 @@ docker run --rm my-sist2-image cat /root/sist2 > sist2-x64-linux
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    ```bash
 | 
					    ```bash
 | 
				
			||||||
    vcpkg install curl[core,openssl]
 | 
					    vcpkg install curl[core,openssl]
 | 
				
			||||||
    vcpkg install lmdb cjson glib brotli libarchive[core,bzip2,libxml2,lz4,lzma,lzo] pthread tesseract libxml2 libmupdf gtest mongoose libuuid libmagic libraw jasper lcms gumbo
 | 
					    vcpkg install lmdb cjson glib brotli libarchive[core,bzip2,libxml2,lz4,lzma,lzo] pthread tesseract libxml2 libmupdf gtest mongoose libmagic libraw jasper lcms gumbo
 | 
				
			||||||
    ```
 | 
					    ```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
1. Build
 | 
					1. Build
 | 
				
			||||||
 | 
				
			|||||||
@ -85,7 +85,7 @@ Exec-script options
 | 
				
			|||||||
### Scan options
 | 
					### Scan options
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* `-t, --threads` 
 | 
					* `-t, --threads` 
 | 
				
			||||||
      Number of threads for file parsing. **Do not set a number higher than `$(nproc)` or `$(Get-WmiObject Win32_ComputerSystem).NumberOfLogicalProcessors` in Windows!**
 | 
					      Number of threads for file parsing. **Do not set a number higher than `$(nproc)` or `$(Get-CimInstance Win32_ComputerSystem).NumberOfLogicalProcessors` in Windows!**
 | 
				
			||||||
* `-q, --quality` 
 | 
					* `-q, --quality` 
 | 
				
			||||||
    Thumbnail quality, on a scale of 1.0 to 31.0, 1.0 being the best.
 | 
					    Thumbnail quality, on a scale of 1.0 to 31.0, 1.0 being the best.
 | 
				
			||||||
* `--size` 
 | 
					* `--size` 
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										2
									
								
								sist2-vue/dist/css/index.css
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								sist2-vue/dist/css/index.css
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										2
									
								
								sist2-vue/dist/js/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								sist2-vue/dist/js/index.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							@ -133,6 +133,11 @@ export default Vue.extend({
 | 
				
			|||||||
  font-size: 80%;
 | 
					  font-size: 80%;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.theme-black .version-badge {
 | 
				
			||||||
 | 
					  color: #eee !important;
 | 
				
			||||||
 | 
					  background: none;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.version-badge {
 | 
					.version-badge {
 | 
				
			||||||
  color: #222 !important;
 | 
					  color: #222 !important;
 | 
				
			||||||
  background: none;
 | 
					  background: none;
 | 
				
			||||||
 | 
				
			|||||||
@ -22,6 +22,7 @@
 | 
				
			|||||||
const char *TESS_DATAPATHS[] = {
 | 
					const char *TESS_DATAPATHS[] = {
 | 
				
			||||||
        "/usr/share/tessdata/",
 | 
					        "/usr/share/tessdata/",
 | 
				
			||||||
        "/usr/share/tesseract-ocr/tessdata/",
 | 
					        "/usr/share/tesseract-ocr/tessdata/",
 | 
				
			||||||
 | 
					        "/usr/share/tesseract-ocr/4.00/tessdata/",
 | 
				
			||||||
        "./",
 | 
					        "./",
 | 
				
			||||||
        NULL
 | 
					        NULL
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
				
			|||||||
@ -57,10 +57,11 @@ int handle_entry(const char *filepath, const struct stat *info, int typeflag, st
 | 
				
			|||||||
            pthread_mutex_lock(&ScanCtx.dbg_file_counts_mu);
 | 
					            pthread_mutex_lock(&ScanCtx.dbg_file_counts_mu);
 | 
				
			||||||
            ScanCtx.dbg_excluded_files_count += 1;
 | 
					            ScanCtx.dbg_excluded_files_count += 1;
 | 
				
			||||||
            pthread_mutex_unlock(&ScanCtx.dbg_file_counts_mu);
 | 
					            pthread_mutex_unlock(&ScanCtx.dbg_file_counts_mu);
 | 
				
			||||||
            return 0;
 | 
					 | 
				
			||||||
        } else if (typeflag == FTW_D) {
 | 
					        } else if (typeflag == FTW_D) {
 | 
				
			||||||
            return FTW_SKIP_SUBTREE;
 | 
					            return FTW_SKIP_SUBTREE;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        return FTW_CONTINUE;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (typeflag == FTW_F && S_ISREG(info->st_mode)) {
 | 
					    if (typeflag == FTW_F && S_ISREG(info->st_mode)) {
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										20
									
								
								src/log.c
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								src/log.c
									
									
									
									
									
								
							@ -55,10 +55,14 @@ void vsist_logf(const char *filepath, int level, char *format, va_list ap) {
 | 
				
			|||||||
        log_len += 1;
 | 
					        log_len += 1;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    int ret = write(STDERR_FILENO, log_str, log_len);
 | 
					    if (PrintingProgressBar) {
 | 
				
			||||||
    if (ret == -1) {
 | 
					        PrintingProgressBar = FALSE;
 | 
				
			||||||
        LOG_FATALF("serialize.c", "Could not write index descriptor: %s", strerror(errno))
 | 
					        memmove(log_str + 1, log_str, log_len);
 | 
				
			||||||
 | 
					        log_str[0] = '\n';
 | 
				
			||||||
 | 
					        log_len += 1;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    write(STDERR_FILENO, log_str, log_len);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void sist_logf(const char *filepath, int level, char *format, ...) {
 | 
					void sist_logf(const char *filepath, int level, char *format, ...) {
 | 
				
			||||||
@ -104,8 +108,12 @@ void sist_log(const char *filepath, int level, char *str) {
 | 
				
			|||||||
        );
 | 
					        );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    int ret = write(STDERR_FILENO, log_str, log_len);
 | 
					    if (PrintingProgressBar) {
 | 
				
			||||||
    if (ret == -1) {
 | 
					        PrintingProgressBar = FALSE;
 | 
				
			||||||
        LOG_FATALF("serialize.c", "Could not write index descriptor: %s", strerror(errno));
 | 
					        memmove(log_str + 1, log_str, log_len);
 | 
				
			||||||
 | 
					        log_str[0] = '\n';
 | 
				
			||||||
 | 
					        log_len += 1;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    write(STDERR_FILENO, log_str, log_len);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -433,7 +433,7 @@ void sist2_index(index_args_t *args) {
 | 
				
			|||||||
        cleanup = elastic_cleanup;
 | 
					        cleanup = elastic_cleanup;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    IndexCtx.pool = tpool_create(args->threads, cleanup, FALSE, TRUE);
 | 
					    IndexCtx.pool = tpool_create(args->threads, cleanup, FALSE, args->print == 0);
 | 
				
			||||||
    tpool_start(IndexCtx.pool);
 | 
					    tpool_start(IndexCtx.pool);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    struct dirent *de;
 | 
					    struct dirent *de;
 | 
				
			||||||
@ -518,8 +518,8 @@ void sist2_web(web_args_t *args) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int main(int argc, const char *argv[]) {
 | 
					int main(int argc, const char *argv[]) {
 | 
				
			||||||
//    sigsegv_handler = signal(SIGSEGV, sig_handler);
 | 
					    sigsegv_handler = signal(SIGSEGV, sig_handler);
 | 
				
			||||||
//    sigabrt_handler = signal(SIGABRT, sig_handler);
 | 
					    sigabrt_handler = signal(SIGABRT, sig_handler);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    setlocale(LC_ALL, "");
 | 
					    setlocale(LC_ALL, "");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -53,7 +53,7 @@
 | 
				
			|||||||
#include <ctype.h>
 | 
					#include <ctype.h>
 | 
				
			||||||
#include "git_hash.h"
 | 
					#include "git_hash.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define VERSION "2.11.4"
 | 
					#define VERSION "2.11.6"
 | 
				
			||||||
static const char *const Version = VERSION;
 | 
					static const char *const Version = VERSION;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef SIST_PLATFORM
 | 
					#ifndef SIST_PLATFORM
 | 
				
			||||||
 | 
				
			|||||||
@ -191,7 +191,9 @@ void tpool_wait(tpool_t *pool) {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					    if (pool->print_progress) {
 | 
				
			||||||
        progress_bar_print(1.0, ScanCtx.stat_tn_size, ScanCtx.stat_index_size);
 | 
					        progress_bar_print(1.0, ScanCtx.stat_tn_size, ScanCtx.stat_index_size);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    pthread_mutex_unlock(&(pool->work_mutex));
 | 
					    pthread_mutex_unlock(&(pool->work_mutex));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    LOG_INFO("tpool.c", "Worker threads finished")
 | 
					    LOG_INFO("tpool.c", "Worker threads finished")
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										14
									
								
								src/util.c
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								src/util.c
									
									
									
									
									
								
							@ -84,6 +84,8 @@ char *expandpath(const char *path) {
 | 
				
			|||||||
    return expanded;
 | 
					    return expanded;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int PrintingProgressBar = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void progress_bar_print(double percentage, size_t tn_size, size_t index_size) {
 | 
					void progress_bar_print(double percentage, size_t tn_size, size_t index_size) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    static int last_val = -1;
 | 
					    static int last_val = -1;
 | 
				
			||||||
@ -114,13 +116,21 @@ void progress_bar_print(double percentage, size_t tn_size, size_t index_size) {
 | 
				
			|||||||
        index_unit = 'M';
 | 
					        index_unit = 'M';
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    printf(
 | 
					    if (tn_size == 0 && index_size == 0) {
 | 
				
			||||||
 | 
					        fprintf(stderr,
 | 
				
			||||||
 | 
					                "\r%3d%%[%.*s>%*s]",
 | 
				
			||||||
 | 
					                val, lpad, PBSTR, rpad, ""
 | 
				
			||||||
 | 
					        );
 | 
				
			||||||
 | 
					    } else {
 | 
				
			||||||
 | 
					        fprintf(stderr,
 | 
				
			||||||
                "\r%3d%%[%.*s>%*s] TN:%3d%c IDX:%3d%c",
 | 
					                "\r%3d%%[%.*s>%*s] TN:%3d%c IDX:%3d%c",
 | 
				
			||||||
                val, lpad, PBSTR, rpad, "",
 | 
					                val, lpad, PBSTR, rpad, "",
 | 
				
			||||||
                (int) tn_size, tn_unit,
 | 
					                (int) tn_size, tn_unit,
 | 
				
			||||||
                (int) index_size, index_unit
 | 
					                (int) index_size, index_unit
 | 
				
			||||||
        );
 | 
					        );
 | 
				
			||||||
    fflush(stdout);
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    PrintingProgressBar = TRUE;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
GHashTable *incremental_get_table() {
 | 
					GHashTable *incremental_get_table() {
 | 
				
			||||||
 | 
				
			|||||||
@ -19,6 +19,8 @@ char *expandpath(const char *path);
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
dyn_buffer_t url_escape(char *str);
 | 
					dyn_buffer_t url_escape(char *str);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					extern int PrintingProgressBar;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void progress_bar_print(double percentage, size_t tn_size, size_t index_size);
 | 
					void progress_bar_print(double percentage, size_t tn_size, size_t index_size);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
GHashTable *incremental_get_table();
 | 
					GHashTable *incremental_get_table();
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										10
									
								
								src/web/static_generated.c
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								src/web/static_generated.c
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										10
									
								
								third-party/libscan/libscan/raw/raw.c
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								third-party/libscan/libscan/raw/raw.c
									
									
									
									
										vendored
									
									
								
							@ -143,7 +143,7 @@ void parse_raw(scan_raw_ctx_t *ctx, vfile_t *f, document_t *doc) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    libraw_gps_info_t gps = libraw_lib->other.parsed_gps;
 | 
					    libraw_gps_info_t gps = libraw_lib->other.parsed_gps;
 | 
				
			||||||
    double gps_longitude_dec =
 | 
					    double gps_longitude_dec =
 | 
				
			||||||
            (gps.longtitude[0] + gps.longtitude[1] / 60 + gps.longtitude[2] / 3600) * DMS_REF(gps.longref);
 | 
					            (gps.longitude[0] + gps.longitude[1] / 60 + gps.longitude[2] / 3600) * DMS_REF(gps.longref);
 | 
				
			||||||
    snprintf(tmp, sizeof(tmp), "%.15f", gps_longitude_dec);
 | 
					    snprintf(tmp, sizeof(tmp), "%.15f", gps_longitude_dec);
 | 
				
			||||||
    if (gps_longitude_dec != 0.0) {
 | 
					    if (gps_longitude_dec != 0.0) {
 | 
				
			||||||
        APPEND_STR_META(doc, MetaExifGpsLongitudeDec, tmp)
 | 
					        APPEND_STR_META(doc, MetaExifGpsLongitudeDec, tmp)
 | 
				
			||||||
@ -163,7 +163,13 @@ void parse_raw(scan_raw_ctx_t *ctx, vfile_t *f, document_t *doc) {
 | 
				
			|||||||
        return;
 | 
					        return;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    libraw_unpack_thumb(libraw_lib);
 | 
					    int unpack_ret = libraw_unpack_thumb(libraw_lib);
 | 
				
			||||||
 | 
					    if (unpack_ret != 0) {
 | 
				
			||||||
 | 
					        CTX_LOG_ERRORF(f->filepath, "libraw_unpack_thumb returned error code %d", unpack_ret)
 | 
				
			||||||
 | 
					        free(buf);
 | 
				
			||||||
 | 
					        libraw_close(libraw_lib);
 | 
				
			||||||
 | 
					        return;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    int errc = 0;
 | 
					    int errc = 0;
 | 
				
			||||||
    libraw_processed_image_t *thumb = libraw_dcraw_make_mem_thumb(libraw_lib, &errc);
 | 
					    libraw_processed_image_t *thumb = libraw_dcraw_make_mem_thumb(libraw_lib, &errc);
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										13
									
								
								third-party/libscan/test/main.cpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								third-party/libscan/test/main.cpp
									
									
									
									
										vendored
									
									
								
							@ -780,6 +780,19 @@ TEST(Arc, EncryptedZip) {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* RAW */
 | 
					/* RAW */
 | 
				
			||||||
 | 
					TEST(RAW, Segfault1) {
 | 
				
			||||||
 | 
					    vfile_t f;
 | 
				
			||||||
 | 
					    document_t doc;
 | 
				
			||||||
 | 
					    load_doc_file("libscan-test-files/test_files/raw/segfault1.dng", &f, &doc);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    parse_raw(&raw_ctx, &f, &doc);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ASSERT_EQ(get_meta(&doc, MetaWidth)->long_val, 3840);
 | 
				
			||||||
 | 
					    ASSERT_EQ(get_meta(&doc, MetaHeight)->long_val, 7680);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    cleanup(&doc, &f);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
TEST(RAW, Panasonic) {
 | 
					TEST(RAW, Panasonic) {
 | 
				
			||||||
    vfile_t f;
 | 
					    vfile_t f;
 | 
				
			||||||
    document_t doc;
 | 
					    document_t doc;
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user