diff --git a/src/zscanner/error.c b/src/zscanner/error.c index 9f65d7066e18935158acd2c732c78c703c9ac3d9..ccc43075769704332d0e0b2e0ce60b2a91bcc2f3 100644 --- a/src/zscanner/error.c +++ b/src/zscanner/error.c @@ -29,13 +29,15 @@ typedef struct { const err_table_t err_msgs[] = { ERR_ITEM( ZS_OK, "ok" ), + ERR_ITEM( ZS_SYSTEM, + "system error" ), ERR_ITEM( ZS_FILE_OPEN, "file open error" ), ERR_ITEM( ZS_FILE_PATH, "file path error" ), ERR_ITEM( ZS_FILE_FSTAT, "fstat error" ), - ERR_ITEM( ZS_FILE_DIRECTORY, + ERR_ITEM( ZS_FILE_DIR, "not zone file but directory" ), ERR_ITEM( ZS_FILE_MMAP, "file mmap error" ), diff --git a/src/zscanner/error.h b/src/zscanner/error.h index 74f98dcdf7866bbb28050ffd7f71ecde228a3a59..247bcea31f606f24f4848438dc803c79153467c6 100644 --- a/src/zscanner/error.h +++ b/src/zscanner/error.h @@ -27,10 +27,11 @@ enum err_codes { ZS_OK = 0, - ZS_FILE_OPEN = -1000, + ZS_SYSTEM = -1000, + ZS_FILE_OPEN, ZS_FILE_PATH, ZS_FILE_FSTAT, - ZS_FILE_DIRECTORY, + ZS_FILE_DIR, ZS_FILE_MMAP, ZS_DOS_NEWLINE, ZS_UNCOVERED_STATE, diff --git a/src/zscanner/scanner.c.g2 b/src/zscanner/scanner.c.g2 index 9cee51c9a2c4c98c81b6cf203eef568e852f7aea..1814ab63595c03a914e7e3114073da10a7c52239 100644 --- a/src/zscanner/scanner.c.g2 +++ b/src/zscanner/scanner.c.g2 @@ -73109,6 +73109,13 @@ int zs_scanner_parse_file(zs_scanner_t *s, return -1; } + // Getting OS page size. + page_size = sysconf(_SC_PAGESIZE); + if (page_size <= 0) { + ERR(ZS_SYSTEM); + return -1; + } + // Copying file name. s->file.name = strdup(file_name); @@ -73133,9 +73140,6 @@ int zs_scanner_parse_file(zs_scanner_t *s, return -1; } - // Getting OS page size. - page_size = sysconf(_SC_PAGESIZE); - // Getting file information. if (fstat(s->file.descriptor, &file_stat) == -1) { ERR(ZS_FILE_FSTAT); @@ -73146,7 +73150,7 @@ int zs_scanner_parse_file(zs_scanner_t *s, // Check for directory. if (S_ISDIR(file_stat.st_mode)) { - ERR(ZS_FILE_DIRECTORY); + ERR(ZS_FILE_DIR); close(s->file.descriptor); free(s->file.name); return -1; diff --git a/src/zscanner/scanner.c.t0 b/src/zscanner/scanner.c.t0 index b6d6f4de899f78583938b40c1106f82a02529240..1b6e8248b81a6bf66eeaec5b3b40f62815328828 100644 --- a/src/zscanner/scanner.c.t0 +++ b/src/zscanner/scanner.c.t0 @@ -7430,6 +7430,13 @@ int zs_scanner_parse_file(zs_scanner_t *s, return -1; } + // Getting OS page size. + page_size = sysconf(_SC_PAGESIZE); + if (page_size <= 0) { + ERR(ZS_SYSTEM); + return -1; + } + // Copying file name. s->file.name = strdup(file_name); @@ -7454,9 +7461,6 @@ int zs_scanner_parse_file(zs_scanner_t *s, return -1; } - // Getting OS page size. - page_size = sysconf(_SC_PAGESIZE); - // Getting file information. if (fstat(s->file.descriptor, &file_stat) == -1) { ERR(ZS_FILE_FSTAT); @@ -7467,7 +7471,7 @@ int zs_scanner_parse_file(zs_scanner_t *s, // Check for directory. if (S_ISDIR(file_stat.st_mode)) { - ERR(ZS_FILE_DIRECTORY); + ERR(ZS_FILE_DIR); close(s->file.descriptor); free(s->file.name); return -1; diff --git a/src/zscanner/scanner.rl b/src/zscanner/scanner.rl index e85d1b08630282eb85499a7b815c173e1f99139c..3a36dd4b3ed94f025d67aae0faec0e3adbad88a9 100644 --- a/src/zscanner/scanner.rl +++ b/src/zscanner/scanner.rl @@ -277,6 +277,13 @@ int zs_scanner_parse_file(zs_scanner_t *s, return -1; } + // Getting OS page size. + page_size = sysconf(_SC_PAGESIZE); + if (page_size <= 0) { + ERR(ZS_SYSTEM); + return -1; + } + // Copying file name. s->file.name = strdup(file_name); @@ -301,9 +308,6 @@ int zs_scanner_parse_file(zs_scanner_t *s, return -1; } - // Getting OS page size. - page_size = sysconf(_SC_PAGESIZE); - // Getting file information. if (fstat(s->file.descriptor, &file_stat) == -1) { ERR(ZS_FILE_FSTAT); @@ -314,7 +318,7 @@ int zs_scanner_parse_file(zs_scanner_t *s, // Check for directory. if (S_ISDIR(file_stat.st_mode)) { - ERR(ZS_FILE_DIRECTORY); + ERR(ZS_FILE_DIR); close(s->file.descriptor); free(s->file.name); return -1; diff --git a/src/zscanner/tests/data/06-3_INCLUDE.out b/src/zscanner/tests/data/06-3_INCLUDE.out index 8a5289b0bca31bf9482c21fa6ba07290f39d947d..ce2cc25276c405b8b242b3e53c62079e97bdcabd 100644 --- a/src/zscanner/tests/data/06-3_INCLUDE.out +++ b/src/zscanner/tests/data/06-3_INCLUDE.out @@ -1,2 +1,2 @@ -ERROR=ZS_FILE_DIRECTORY +ERROR=ZS_FILE_DIR ------