ConfigureChecks.cmake | 2 config.h.cmake | 6 test/perf-test.cc | 371 -------------------------------------------------- 3 files changed, 3 insertions(+), 376 deletions(-)
New commits: commit 691866a3e3de15774fbe825609ae472199573e9b Author: Albert Astals Cid <[email protected]> Date: Fri Nov 27 14:53:53 2020 +0100 perf-test: Remove a bunch of code that was windows only I'm 99% sure no-one uses this and could be removed completely, but let's leave the part that actually works on linux too. diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake index 2532f805..e672abbe 100644 --- a/ConfigureChecks.cmake +++ b/ConfigureChecks.cmake @@ -38,8 +38,6 @@ check_function_exists(gettimeofday HAVE_GETTIMEOFDAY) check_function_exists(localtime_r HAVE_LOCALTIME_R) check_function_exists(popen HAVE_POPEN) check_function_exists(mkstemp HAVE_MKSTEMP) -check_function_exists(strcpy_s HAVE_STRCPY_S) -check_function_exists(strcat_s HAVE_STRCAT_S) check_function_exists(strtok_r HAVE_STRTOK_R) macro(CHECK_FOR_DIR include var) diff --git a/config.h.cmake b/config.h.cmake index c92fc352..5b25f778 100644 --- a/config.h.cmake +++ b/config.h.cmake @@ -82,12 +82,6 @@ /* Define to 1 if you have the `mkstemp' function. */ #cmakedefine HAVE_MKSTEMP 1 -/* Define to 1 if you have the `strcpy_s' function. */ -#cmakedefine HAVE_STRCPY_S 1 - -/* Define to 1 if you have the `strcat_s' function. */ -#cmakedefine HAVE_STRCAT_S 1 - /* Defines if strtok_r is available on your system */ #cmakedefine HAVE_STRTOK_R 1 diff --git a/test/perf-test.cc b/test/perf-test.cc index a8fbc109..36e21bb0 100644 --- a/test/perf-test.cc +++ b/test/perf-test.cc @@ -1,6 +1,6 @@ /* Copyright Krzysztof Kowalczyk 2006-2007 Copyright Hib Eris <[email protected]> 2008, 2013 - Copyright 2018 Albert Astals Cid <[email protected]> 2018 + Copyright 2018, 2020 Albert Astals Cid <[email protected]> 2018 Copyright 2019 Oliver Sander <[email protected]> Copyright 2020 Adam Reichold <[email protected]> License: GPLv2 */ @@ -197,14 +197,6 @@ static bool gfLoadOnly = false; #define UNIX_NEWLINE "\x0a" #define UNIX_NEWLINE_C 0xa -#ifdef _WIN32 -# define DIR_SEP_CHAR '\\' -# define DIR_SEP_STR "\\" -#else -# define DIR_SEP_CHAR '/' -# define DIR_SEP_STR "/" -#endif - static void memzero(void *data, size_t len) { memset(data, 0, len); @@ -334,34 +326,6 @@ static void sleep_milliseconds(int milliseconds) #endif } -#ifndef HAVE_STRCPY_S -static void strcpy_s(char *dst, size_t dst_size, const char *src) -{ - size_t src_size = strlen(src) + 1; - if (src_size <= dst_size) - memcpy(dst, src, src_size); - else { - if (dst_size > 0) { - memcpy(dst, src, dst_size); - dst[dst_size - 1] = 0; - } - } -} -#endif - -#ifndef HAVE_STRCAT_S -static void strcat_s(char *dst, size_t dst_size, const char *src) -{ - size_t dst_len = strlen(dst); - if (dst_len >= dst_size) { - if (dst_size > 0) - dst[dst_size - 1] = 0; - return; - } - strcpy_s(dst + dst_len, dst_size - dst_len, src); -} -#endif - static SplashColorMode gSplashColorMode = splashModeBGR8; static SplashColor splashColRed; @@ -459,196 +423,6 @@ SplashBitmap *PdfEnginePoppler::renderBitmap(int pageNo, double zoomReal, int ro return bmp; } -struct FindFileState -{ - char path[MAX_FILENAME_SIZE]; - char dirpath[MAX_FILENAME_SIZE]; /* current dir path */ - char pattern[MAX_FILENAME_SIZE]; /* search pattern */ - const char *bufptr; -#ifdef _WIN32 - WIN32_FIND_DATA fileinfo; - HANDLE dir; -#else - DIR *dir; -#endif -}; - -#ifdef _WIN32 -# include <sys/timeb.h> -# include <direct.h> - -__inline char *getcwd(char *buffer, int maxlen) -{ - return _getcwd(buffer, maxlen); -} - -static int fnmatch(const char *pattern, const char *string, int flags) -{ - int prefix_len; - const char *star_pos = strchr(pattern, '*'); - if (!star_pos) - return strcmp(pattern, string) != 0; - - prefix_len = (int)(star_pos - pattern); - if (0 == prefix_len) - return 0; - - if (0 == _strnicmp(pattern, string, prefix_len)) - return 0; - - return 1; -} - -#else -# include <fnmatch.h> -#endif - -#ifdef _WIN32 -/* on windows to query dirs we need foo\* to get files in this directory. - foo\ always fails and foo will return just info about foo directory, - not files in this directory */ -static void win_correct_path_for_FindFirstFile(char *path, int path_max_len) -{ - int path_len = strlen(path); - if (path_len >= path_max_len - 4) - return; - if (DIR_SEP_CHAR != path[path_len]) - path[path_len++] = DIR_SEP_CHAR; - path[path_len++] = '*'; - path[path_len] = 0; -} -#endif - -static FindFileState *find_file_open(const char *path, const char *pattern) -{ - FindFileState *s; - - s = (FindFileState *)malloc(sizeof(FindFileState)); - if (!s) - return nullptr; - strcpy_s(s->path, sizeof(s->path), path); - strcpy_s(s->dirpath, sizeof(s->path), path); -#ifdef _WIN32 - win_correct_path_for_FindFirstFile(s->path, sizeof(s->path)); -#endif - strcpy_s(s->pattern, sizeof(s->pattern), pattern); - s->bufptr = s->path; -#ifdef _WIN32 - s->dir = INVALID_HANDLE_VALUE; -#else - s->dir = nullptr; -#endif - return s; -} - -#if 0 /* re-enable if we #define USE_OWN_GET_AUTH_DATA */ -void *StandardSecurityHandler::getAuthData() -{ - return NULL; -} -#endif - -static char *makepath(char *buf, int buf_size, const char *path, const char *filename) -{ - strcpy_s(buf, buf_size, path); - int len = strlen(path); - if (len > 0 && path[len - 1] != DIR_SEP_CHAR && len + 1 < buf_size) { - buf[len++] = DIR_SEP_CHAR; - buf[len] = '\0'; - } - strcat_s(buf, buf_size, filename); - return buf; -} - -#ifdef _WIN32 -static int skip_matching_file(const char *filename) -{ - if (0 == strcmp(".", filename)) - return 1; - if (0 == strcmp("..", filename)) - return 1; - return 0; -} -#endif - -static int find_file_next(FindFileState *s, char *filename, int filename_size_max) -{ -#ifdef _WIN32 - int fFound; - if (INVALID_HANDLE_VALUE == s->dir) { - s->dir = FindFirstFile(s->path, &(s->fileinfo)); - if (INVALID_HANDLE_VALUE == s->dir) - return -1; - goto CheckFile; - } - - while (1) { - fFound = FindNextFile(s->dir, &(s->fileinfo)); - if (!fFound) - return -1; - CheckFile: - if (skip_matching_file(s->fileinfo.cFileName)) - continue; - if (0 == fnmatch(s->pattern, s->fileinfo.cFileName, 0)) { - makepath(filename, filename_size_max, s->dirpath, s->fileinfo.cFileName); - return 0; - } - } -#else - struct dirent *dirent; - const char *p; - char *q; - - if (s->dir == nullptr) - goto redo; - - for (;;) { - dirent = readdir(s->dir); - if (dirent == nullptr) { - redo: - if (s->dir) { - closedir(s->dir); - s->dir = nullptr; - } - p = s->bufptr; - if (*p == '\0') - return -1; - /* CG: get_str(&p, s->dirpath, sizeof(s->dirpath), ":") */ - q = s->dirpath; - while (*p != ':' && *p != '\0') { - if ((q - s->dirpath) < (int)sizeof(s->dirpath) - 1) - *q++ = *p; - p++; - } - *q = '\0'; - if (*p == ':') - p++; - s->bufptr = p; - s->dir = opendir(s->dirpath); - if (!s->dir) - goto redo; - } else { - if (fnmatch(s->pattern, dirent->d_name, 0) == 0) { - makepath(filename, filename_size_max, s->dirpath, dirent->d_name); - return 0; - } - } - } -#endif -} - -static void find_file_close(FindFileState *s) -{ -#ifdef _WIN32 - if (INVALID_HANDLE_VALUE != s->dir) - FindClose(s->dir); -#else - if (s->dir) - closedir(s->dir); -#endif - free(s); -} - static int StrList_Len(StrList **root) { int len = 0; @@ -698,21 +472,6 @@ static int StrList_Insert(StrList **root, char *txt) return true; } -static StrList *StrList_RemoveHead(StrList **root) -{ - StrList *tmp; - assert(root); - if (!root) - return nullptr; - - if (!*root) - return nullptr; - tmp = *root; - *root = tmp->next; - tmp->next = nullptr; - return tmp; -} - static void StrList_FreeElement(StrList *el) { if (!el) @@ -1081,92 +840,6 @@ static void ParseCommandLine(int argc, char **argv) } } -#if 0 -void RenderFileList(char *pdfFileList) -{ - char *data = NULL; - char *dataNormalized = NULL; - char *pdfFileName; - uint64_t fileSize; - - assert(pdfFileList); - if (!pdfFileList) - return; - data = file_read_all(pdfFileList, &fileSize); - if (!data) { - error(-1, "couldn't load file '%s'", pdfFileList); - return; - } - dataNormalized = str_normalize_newline(data, UNIX_NEWLINE); - if (!dataNormalized) { - error(-1, "couldn't normalize data of file '%s'", pdfFileList); - goto Exit; - } - for (;;) { - pdfFileName = str_split_iter(&dataNormalized, UNIX_NEWLINE_C); - if (!pdfFileName) - break; - str_strip_ws_both(pdfFileName); - if (str_empty(pdfFileName)) { - free((void*)pdfFileName); - continue; - } - RenderFile(pdfFileName); - free((void*)pdfFileName); - } -Exit: - free((void*)dataNormalized); - free((void*)data); -} -#endif - -#ifdef _WIN32 -# include <sys/types.h> -# include <sys/stat.h> - -static bool IsDirectoryName(char *path) -{ - struct _stat buf; - int result; - - result = _stat(path, &buf); - if (0 != result) - return false; - - if (buf.st_mode & _S_IFDIR) - return true; - - return false; -} - -static bool IsFileName(char *path) -{ - struct _stat buf; - int result; - - result = _stat(path, &buf); - if (0 != result) - return false; - - if (buf.st_mode & _S_IFREG) - return true; - - return false; -} -#else -static bool IsDirectoryName(char *path) -{ - /* TODO: implement me */ - return false; -} - -static bool IsFileName(char *path) -{ - /* TODO: implement me */ - return true; -} -#endif - static bool IsPdfFileName(char *path) { if (str_endswith(path, ".pdf")) @@ -1174,54 +847,16 @@ static bool IsPdfFileName(char *path) return false; } -static void RenderDirectory(char *path) -{ - FindFileState *ffs; - char filename[MAX_FILENAME_SIZE]; - StrList *dirList = nullptr; - StrList *el; - - StrList_Insert(&dirList, path); - - while (0 != StrList_Len(&dirList)) { - el = StrList_RemoveHead(&dirList); - ffs = find_file_open(el->str, "*"); - while (!find_file_next(ffs, filename, sizeof(filename))) { - if (IsDirectoryName(filename)) { - if (gfRecursive) { - StrList_Insert(&dirList, filename); - } - } else if (IsFileName(filename)) { - if (IsPdfFileName(filename)) { - RenderFile(filename); - } - } - } - find_file_close(ffs); - StrList_FreeElement(el); - } - StrList_Destroy(&dirList); -} - /* Render 'cmdLineArg', which can be: - - directory name - name of PDF file - - name of text file with names of PDF files */ static void RenderCmdLineArg(char *cmdLineArg) { assert(cmdLineArg); if (!cmdLineArg) return; - if (IsDirectoryName(cmdLineArg)) { - RenderDirectory(cmdLineArg); - } else if (IsFileName(cmdLineArg)) { - if (IsPdfFileName(cmdLineArg)) - RenderFile(cmdLineArg); -#if 0 - else - RenderFileList(cmdLineArg); -#endif + if (IsPdfFileName(cmdLineArg)) { + RenderFile(cmdLineArg); } else { error(errCommandLine, -1, "unexpected argument '{0:s}'", cmdLineArg); } _______________________________________________ poppler mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/poppler
