Sun, 10 Nov 2024 13:54:17 +0100
fix zero-terminator written to wrong position when encountering too long lines - fixes #490
10 | 1 | /* |
34
fa9bda32de17
moved src files to src subdirectory and added licence text
Mike Becker <universe@uap-core.de>
parents:
23
diff
changeset
|
2 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. |
57
68018eac46c3
adds simple tiny test suite and updates license headers
Mike Becker <universe@uap-core.de>
parents:
48
diff
changeset
|
3 | * Copyright 2018 Mike Becker. All rights reserved. |
34
fa9bda32de17
moved src files to src subdirectory and added licence text
Mike Becker <universe@uap-core.de>
parents:
23
diff
changeset
|
4 | * |
fa9bda32de17
moved src files to src subdirectory and added licence text
Mike Becker <universe@uap-core.de>
parents:
23
diff
changeset
|
5 | * Redistribution and use in source and binary forms, with or without |
fa9bda32de17
moved src files to src subdirectory and added licence text
Mike Becker <universe@uap-core.de>
parents:
23
diff
changeset
|
6 | * modification, are permitted provided that the following conditions are met: |
fa9bda32de17
moved src files to src subdirectory and added licence text
Mike Becker <universe@uap-core.de>
parents:
23
diff
changeset
|
7 | * |
fa9bda32de17
moved src files to src subdirectory and added licence text
Mike Becker <universe@uap-core.de>
parents:
23
diff
changeset
|
8 | * 1. Redistributions of source code must retain the above copyright |
fa9bda32de17
moved src files to src subdirectory and added licence text
Mike Becker <universe@uap-core.de>
parents:
23
diff
changeset
|
9 | * notice, this list of conditions and the following disclaimer. |
fa9bda32de17
moved src files to src subdirectory and added licence text
Mike Becker <universe@uap-core.de>
parents:
23
diff
changeset
|
10 | * |
fa9bda32de17
moved src files to src subdirectory and added licence text
Mike Becker <universe@uap-core.de>
parents:
23
diff
changeset
|
11 | * 2. Redistributions in binary form must reproduce the above copyright |
fa9bda32de17
moved src files to src subdirectory and added licence text
Mike Becker <universe@uap-core.de>
parents:
23
diff
changeset
|
12 | * notice, this list of conditions and the following disclaimer in the |
fa9bda32de17
moved src files to src subdirectory and added licence text
Mike Becker <universe@uap-core.de>
parents:
23
diff
changeset
|
13 | * documentation and/or other materials provided with the distribution. |
fa9bda32de17
moved src files to src subdirectory and added licence text
Mike Becker <universe@uap-core.de>
parents:
23
diff
changeset
|
14 | * |
fa9bda32de17
moved src files to src subdirectory and added licence text
Mike Becker <universe@uap-core.de>
parents:
23
diff
changeset
|
15 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
fa9bda32de17
moved src files to src subdirectory and added licence text
Mike Becker <universe@uap-core.de>
parents:
23
diff
changeset
|
16 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
fa9bda32de17
moved src files to src subdirectory and added licence text
Mike Becker <universe@uap-core.de>
parents:
23
diff
changeset
|
17 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
fa9bda32de17
moved src files to src subdirectory and added licence text
Mike Becker <universe@uap-core.de>
parents:
23
diff
changeset
|
18 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE |
fa9bda32de17
moved src files to src subdirectory and added licence text
Mike Becker <universe@uap-core.de>
parents:
23
diff
changeset
|
19 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
fa9bda32de17
moved src files to src subdirectory and added licence text
Mike Becker <universe@uap-core.de>
parents:
23
diff
changeset
|
20 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR |
fa9bda32de17
moved src files to src subdirectory and added licence text
Mike Becker <universe@uap-core.de>
parents:
23
diff
changeset
|
21 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER |
fa9bda32de17
moved src files to src subdirectory and added licence text
Mike Becker <universe@uap-core.de>
parents:
23
diff
changeset
|
22 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
fa9bda32de17
moved src files to src subdirectory and added licence text
Mike Becker <universe@uap-core.de>
parents:
23
diff
changeset
|
23 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
57
68018eac46c3
adds simple tiny test suite and updates license headers
Mike Becker <universe@uap-core.de>
parents:
48
diff
changeset
|
24 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
10 | 25 | */ |
26 | ||
27 | #ifndef SCANNER_H_ | |
28 | #define SCANNER_H_ | |
29 | ||
30 | #include "stdinc.h" | |
31 | #include "settings.h" | |
44
9574a181ec26
line sum per directory now displayed + directories without matching files are no longer displayed when -m is used + new buffering strategy replaces stream hack when -V is used
Mike Becker <universe@uap-core.de>
parents:
36
diff
changeset
|
32 | #include "string_list.h" |
1 | 33 | |
23
778388400f7b
encapsulated scanner arguments + enabled optimizer + empty file is no bfile
Mike Becker <universe@uap-core.de>
parents:
20
diff
changeset
|
34 | typedef struct { |
778388400f7b
encapsulated scanner arguments + enabled optimizer + empty file is no bfile
Mike Becker <universe@uap-core.de>
parents:
20
diff
changeset
|
35 | char *dir; |
66
be2084398c37
new feature: count non-whitespace characters
Mike Becker <universe@uap-core.de>
parents:
61
diff
changeset
|
36 | unsigned spaces; |
23
778388400f7b
encapsulated scanner arguments + enabled optimizer + empty file is no bfile
Mike Becker <universe@uap-core.de>
parents:
20
diff
changeset
|
37 | } scanner_t; |
778388400f7b
encapsulated scanner arguments + enabled optimizer + empty file is no bfile
Mike Becker <universe@uap-core.de>
parents:
20
diff
changeset
|
38 | |
60
69be673a4fd0
preparing changes for individual sum feature
Mike Becker <universe@uap-core.de>
parents:
57
diff
changeset
|
39 | typedef struct { |
66
be2084398c37
new feature: count non-whitespace characters
Mike Becker <universe@uap-core.de>
parents:
61
diff
changeset
|
40 | unsigned count; |
be2084398c37
new feature: count non-whitespace characters
Mike Becker <universe@uap-core.de>
parents:
61
diff
changeset
|
41 | unsigned capacity; |
61
9c8d768f0244
adds option to compute individual sums
Mike Becker <universe@uap-core.de>
parents:
60
diff
changeset
|
42 | char** extensions; |
66
be2084398c37
new feature: count non-whitespace characters
Mike Becker <universe@uap-core.de>
parents:
61
diff
changeset
|
43 | unsigned* result; |
61
9c8d768f0244
adds option to compute individual sums
Mike Becker <universe@uap-core.de>
parents:
60
diff
changeset
|
44 | } scanresult_ext_t; |
9c8d768f0244
adds option to compute individual sums
Mike Becker <universe@uap-core.de>
parents:
60
diff
changeset
|
45 | |
9c8d768f0244
adds option to compute individual sums
Mike Becker <universe@uap-core.de>
parents:
60
diff
changeset
|
46 | typedef struct { |
66
be2084398c37
new feature: count non-whitespace characters
Mike Becker <universe@uap-core.de>
parents:
61
diff
changeset
|
47 | unsigned result; |
61
9c8d768f0244
adds option to compute individual sums
Mike Becker <universe@uap-core.de>
parents:
60
diff
changeset
|
48 | scanresult_ext_t* ext; |
60
69be673a4fd0
preparing changes for individual sum feature
Mike Becker <universe@uap-core.de>
parents:
57
diff
changeset
|
49 | } scanresult_t; |
69be673a4fd0
preparing changes for individual sum feature
Mike Becker <universe@uap-core.de>
parents:
57
diff
changeset
|
50 | |
4
c3acfb3b4957
Fixed missing return statement in new_settings_t.
Mike Becker <universe@uap-core.de>
parents:
3
diff
changeset
|
51 | #ifdef _cplusplus |
c3acfb3b4957
Fixed missing return statement in new_settings_t.
Mike Becker <universe@uap-core.de>
parents:
3
diff
changeset
|
52 | extern "C" { |
c3acfb3b4957
Fixed missing return statement in new_settings_t.
Mike Becker <universe@uap-core.de>
parents:
3
diff
changeset
|
53 | #endif |
c3acfb3b4957
Fixed missing return statement in new_settings_t.
Mike Becker <universe@uap-core.de>
parents:
3
diff
changeset
|
54 | |
60
69be673a4fd0
preparing changes for individual sum feature
Mike Becker <universe@uap-core.de>
parents:
57
diff
changeset
|
55 | void scanDirectory(scanner_t scanner, settings_t* settings, |
69be673a4fd0
preparing changes for individual sum feature
Mike Becker <universe@uap-core.de>
parents:
57
diff
changeset
|
56 | string_list_t* output, scanresult_t* result); |
1 | 57 | |
61
9c8d768f0244
adds option to compute individual sums
Mike Becker <universe@uap-core.de>
parents:
60
diff
changeset
|
58 | scanresult_t* new_scanresult_t(settings_t* settings); |
9c8d768f0244
adds option to compute individual sums
Mike Becker <universe@uap-core.de>
parents:
60
diff
changeset
|
59 | void destroy_scanresult_t(scanresult_t*); |
9c8d768f0244
adds option to compute individual sums
Mike Becker <universe@uap-core.de>
parents:
60
diff
changeset
|
60 | |
9c8d768f0244
adds option to compute individual sums
Mike Becker <universe@uap-core.de>
parents:
60
diff
changeset
|
61 | |
4
c3acfb3b4957
Fixed missing return statement in new_settings_t.
Mike Becker <universe@uap-core.de>
parents:
3
diff
changeset
|
62 | #ifdef _cplusplus |
c3acfb3b4957
Fixed missing return statement in new_settings_t.
Mike Becker <universe@uap-core.de>
parents:
3
diff
changeset
|
63 | } |
c3acfb3b4957
Fixed missing return statement in new_settings_t.
Mike Becker <universe@uap-core.de>
parents:
3
diff
changeset
|
64 | #endif |
c3acfb3b4957
Fixed missing return statement in new_settings_t.
Mike Becker <universe@uap-core.de>
parents:
3
diff
changeset
|
65 | |
10 | 66 | #endif /* SCANNER_H_ */ |