src: Fix an error for the loop initialization declaration

When compile them old gcc, get the following error
mount-idmapped.c: In function 'parse_map':
mount-idmapped.c:154:2: error: 'for' loop initial declarations are only allowed in C99 mode
  for (int i = 0; i < 2; i++) {

Fix them by declaring them at the beggining instead of in loop.

Signed-off-by: Yang Xu <xuyang2018.jy@fujitsu.com>
Reviewed-by: Christian Brauner <christian.brauner@ubuntu.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
This commit is contained in:
Yang Xu
2021-04-25 18:02:38 +08:00
committed by Eryu Guan
parent 40818883ae
commit 51b3e9ece6
2 changed files with 6 additions and 5 deletions
+2 -2
View File
@@ -96,7 +96,7 @@ static const struct option longopts[] = {
int main(int argc, char *argv[])
{
int exit_code = EXIT_SUCCESS, index = 0;
int dfd, fd_tree, new_argc, ret;
int dfd, fd_tree, new_argc, ret, i;
char *base_dir;
char *const *new_argv;
char target[PATH_MAX];
@@ -147,7 +147,7 @@ int main(int argc, char *argv[])
* Having a mount table with 10000 mounts is already quite excessive
* and shoult account even for weird test systems.
*/
for (size_t i = 0; i < 10000; i++) {
for (i = 0; i < 10000; i++) {
fd_tree = sys_open_tree(dfd, "detached-move-mount",
OPEN_TREE_CLONE |
OPEN_TREE_CLOEXEC |
+4 -3
View File
@@ -137,7 +137,7 @@ static int add_map_entry(__u32 id_host,
static int parse_map(char *map)
{
char types[2] = {'u', 'g'};
int ret;
int ret, i;
__u32 id_host, id_ns, range;
char which;
@@ -151,7 +151,7 @@ static int parse_map(char *map)
if (which != 'b' && which != 'u' && which != 'g')
return -1;
for (int i = 0; i < 2; i++) {
for (i = 0; i < 2; i++) {
idmap_type_t map_type;
if (which != types[i] && which != 'b')
@@ -230,8 +230,9 @@ static int map_ids_from_idmap(struct list *idmap, pid_t pid)
int fill, left;
char mapbuf[4096] = {};
bool had_entry = false;
idmap_type_t map_type, u_or_g;
for (idmap_type_t map_type = ID_TYPE_UID, u_or_g = 'u';
for (map_type = ID_TYPE_UID, u_or_g = 'u';
map_type <= ID_TYPE_GID; map_type++, u_or_g = 'g') {
char *pos = mapbuf;
int ret;