Replace single value enums with constexpr <type>
[geeqie.git] / scripts / enum-check.sh
1 #!/bin/sh
2 #**********************************************************************
3 # Copyright (C) 2024 - The Geeqie Team
4 #
5 # Author: Colin Clark
6 #
7 # This program is free software; you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 2 of the License, or
10 # (at your option) any later version.
11 #
12 # This program is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 # GNU General Public License for more details.
16 #
17 # You should have received a copy of the GNU General Public License along
18 # with this program; if not, write to the Free Software Foundation, Inc.,
19 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20 #**********************************************************************
21
22 ## @file
23 ## @brief Check for single value enums
24 ##
25 ## $1 Source file to check
26 ##
27 ## The expected format is: \n
28 ## enum { \n
29 ##  bookmark_drop_types_n = 3 \n
30 ## }; \n
31 ##
32 ## The grep operation prepends line numbers so resulting in: \n
33 ## 123:enum { \n
34 ## 124- bookmark_drop_types_n = 3 \n
35 ## 125-};
36 ##
37
38 res=$(grep --line-number --after-context=2 'enum\ {$' "$1" | grep --before-context=2 '^[[:digit:]]\+\-};')
39
40 if [ -z "$res" ]
41 then
42         exit 0
43 else
44         printf "%s\n" "$res"
45         exit 1
46 fi
47