diff options
Diffstat (limited to 'src/main/extractor.c')
-rw-r--r-- | src/main/extractor.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/main/extractor.c b/src/main/extractor.c index 26540ec..9024a0c 100644 --- a/src/main/extractor.c +++ b/src/main/extractor.c | |||
@@ -1323,7 +1323,7 @@ start_process (struct EXTRACTOR_PluginList *plugin) | |||
1323 | 1323 | ||
1324 | itoa(p1[0], arg1, 10); | 1324 | itoa(p1[0], arg1, 10); |
1325 | itoa(p2[1], arg2, 10); | 1325 | itoa(p2[1], arg2, 10); |
1326 | pid = _spawnl(_P_NOWAIT, "C:\\WINDOWS\\SYSTEM32\\rundll32.exe", "C:\\WINDOWS\\SYSTEM32\\rundll32.exe", | 1326 | pid = _spawnl(_P_NOWAIT, "rundll32.exe", "rundll32.exe", |
1327 | "libextractor-3.dll,RundllEntryPoint@16", arg1, arg2, NULL); | 1327 | "libextractor-3.dll,RundllEntryPoint@16", arg1, arg2, NULL); |
1328 | #endif | 1328 | #endif |
1329 | if (pid == -1) | 1329 | if (pid == -1) |
@@ -2052,6 +2052,9 @@ EXTRACTOR_extract (struct EXTRACTOR_PluginList *plugins, | |||
2052 | int eno; | 2052 | int eno; |
2053 | off_t offset; | 2053 | off_t offset; |
2054 | long pg; | 2054 | long pg; |
2055 | #ifdef WINDOWS | ||
2056 | SYSTEM_INFO sys; | ||
2057 | #endif | ||
2055 | 2058 | ||
2056 | fd = -1; | 2059 | fd = -1; |
2057 | buffer = NULL; | 2060 | buffer = NULL; |
@@ -2089,7 +2092,12 @@ EXTRACTOR_extract (struct EXTRACTOR_PluginList *plugins, | |||
2089 | (fstatbuf.st_size > fsize) && | 2092 | (fstatbuf.st_size > fsize) && |
2090 | (fstatbuf.st_size > MAX_READ) ) | 2093 | (fstatbuf.st_size > MAX_READ) ) |
2091 | { | 2094 | { |
2092 | pg = sysconf (_SC_PAGE_SIZE); | 2095 | #ifndef WINDOWS |
2096 | pg = sysconf (_SC_PAGE_SIZE); | ||
2097 | #else | ||
2098 | GetSystemInfo(&sys); | ||
2099 | pg = sys.dwPageSize; | ||
2100 | #endif | ||
2093 | if ( (pg > 0) && | 2101 | if ( (pg > 0) && |
2094 | (pg < MAX_READ) ) | 2102 | (pg < MAX_READ) ) |
2095 | { | 2103 | { |