Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
I
iproute2
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
iproute2
Commits
68ef5072
Commit
68ef5072
authored
Nov 29, 2015
by
Stephen Hemminger
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
rt_names: style cleanup
Cleanup all checkpatch complaints about whitespace in rt_names.
parent
13ada95d
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
60 additions
and
54 deletions
+60
-54
lib/rt_names.c
lib/rt_names.c
+60
-54
No files found.
lib/rt_names.c
View file @
68ef5072
...
@@ -32,7 +32,7 @@
...
@@ -32,7 +32,7 @@
struct
rtnl_hash_entry
{
struct
rtnl_hash_entry
{
struct
rtnl_hash_entry
*
next
;
struct
rtnl_hash_entry
*
next
;
const
char
*
name
;
const
char
*
name
;
unsigned
int
id
;
unsigned
int
id
;
};
};
...
@@ -82,7 +82,7 @@ rtnl_hash_initialize(const char *file, struct rtnl_hash_entry **hash, int size)
...
@@ -82,7 +82,7 @@ rtnl_hash_initialize(const char *file, struct rtnl_hash_entry **hash, int size)
return
;
return
;
}
}
if
(
id
<
0
)
if
(
id
<
0
)
continue
;
continue
;
entry
=
malloc
(
sizeof
(
*
entry
));
entry
=
malloc
(
sizeof
(
*
entry
));
...
@@ -112,7 +112,7 @@ static void rtnl_tab_initialize(const char *file, char **tab, int size)
...
@@ -112,7 +112,7 @@ static void rtnl_tab_initialize(const char *file, char **tab, int size)
fclose
(
fp
);
fclose
(
fp
);
return
;
return
;
}
}
if
(
id
<
0
||
id
>
size
)
if
(
id
<
0
||
id
>
size
)
continue
;
continue
;
tab
[
id
]
=
strdup
(
namebuf
);
tab
[
id
]
=
strdup
(
namebuf
);
...
@@ -120,9 +120,9 @@ static void rtnl_tab_initialize(const char *file, char **tab, int size)
...
@@ -120,9 +120,9 @@ static void rtnl_tab_initialize(const char *file, char **tab, int size)
fclose
(
fp
);
fclose
(
fp
);
}
}
static
char
*
rtnl_rtprot_tab
[
256
]
=
{
static
char
*
rtnl_rtprot_tab
[
256
]
=
{
[
RTPROT_UNSPEC
]
=
"none"
,
[
RTPROT_UNSPEC
]
=
"none"
,
[
RTPROT_REDIRECT
]
=
"redirect"
,
[
RTPROT_REDIRECT
]
=
"redirect"
,
[
RTPROT_KERNEL
]
=
"kernel"
,
[
RTPROT_KERNEL
]
=
"kernel"
,
[
RTPROT_BOOT
]
=
"boot"
,
[
RTPROT_BOOT
]
=
"boot"
,
[
RTPROT_STATIC
]
=
"static"
,
[
RTPROT_STATIC
]
=
"static"
,
...
@@ -130,7 +130,7 @@ static char * rtnl_rtprot_tab[256] = {
...
@@ -130,7 +130,7 @@ static char * rtnl_rtprot_tab[256] = {
[
RTPROT_GATED
]
=
"gated"
,
[
RTPROT_GATED
]
=
"gated"
,
[
RTPROT_RA
]
=
"ra"
,
[
RTPROT_RA
]
=
"ra"
,
[
RTPROT_MRT
]
=
"mrt"
,
[
RTPROT_MRT
]
=
"mrt"
,
[
RTPROT_ZEBRA
]
=
"zebra"
,
[
RTPROT_ZEBRA
]
=
"zebra"
,
[
RTPROT_BIRD
]
=
"bird"
,
[
RTPROT_BIRD
]
=
"bird"
,
[
RTPROT_BABEL
]
=
"babel"
,
[
RTPROT_BABEL
]
=
"babel"
,
[
RTPROT_DNROUTED
]
=
"dnrouted"
,
[
RTPROT_DNROUTED
]
=
"dnrouted"
,
...
@@ -149,9 +149,9 @@ static void rtnl_rtprot_initialize(void)
...
@@ -149,9 +149,9 @@ static void rtnl_rtprot_initialize(void)
rtnl_rtprot_tab
,
256
);
rtnl_rtprot_tab
,
256
);
}
}
const
char
*
rtnl_rtprot_n2a
(
int
id
,
char
*
buf
,
int
len
)
const
char
*
rtnl_rtprot_n2a
(
int
id
,
char
*
buf
,
int
len
)
{
{
if
(
id
<
0
||
id
>=
256
)
{
if
(
id
<
0
||
id
>=
256
)
{
snprintf
(
buf
,
len
,
"%u"
,
id
);
snprintf
(
buf
,
len
,
"%u"
,
id
);
return
buf
;
return
buf
;
}
}
...
@@ -167,7 +167,7 @@ const char * rtnl_rtprot_n2a(int id, char *buf, int len)
...
@@ -167,7 +167,7 @@ const char * rtnl_rtprot_n2a(int id, char *buf, int len)
int
rtnl_rtprot_a2n
(
__u32
*
id
,
const
char
*
arg
)
int
rtnl_rtprot_a2n
(
__u32
*
id
,
const
char
*
arg
)
{
{
static
char
*
cache
=
NULL
;
static
char
*
cache
;
static
unsigned
long
res
;
static
unsigned
long
res
;
char
*
end
;
char
*
end
;
int
i
;
int
i
;
...
@@ -180,7 +180,7 @@ int rtnl_rtprot_a2n(__u32 *id, const char *arg)
...
@@ -180,7 +180,7 @@ int rtnl_rtprot_a2n(__u32 *id, const char *arg)
if
(
!
rtnl_rtprot_init
)
if
(
!
rtnl_rtprot_init
)
rtnl_rtprot_initialize
();
rtnl_rtprot_initialize
();
for
(
i
=
0
;
i
<
256
;
i
++
)
{
for
(
i
=
0
;
i
<
256
;
i
++
)
{
if
(
rtnl_rtprot_tab
[
i
]
&&
if
(
rtnl_rtprot_tab
[
i
]
&&
strcmp
(
rtnl_rtprot_tab
[
i
],
arg
)
==
0
)
{
strcmp
(
rtnl_rtprot_tab
[
i
],
arg
)
==
0
)
{
cache
=
rtnl_rtprot_tab
[
i
];
cache
=
rtnl_rtprot_tab
[
i
];
...
@@ -197,8 +197,13 @@ int rtnl_rtprot_a2n(__u32 *id, const char *arg)
...
@@ -197,8 +197,13 @@ int rtnl_rtprot_a2n(__u32 *id, const char *arg)
return
0
;
return
0
;
}
}
static
char
*
rtnl_rtscope_tab
[
256
]
=
{
"global"
,
static
char
*
rtnl_rtscope_tab
[
256
]
=
{
[
RT_SCOPE_UNIVERSE
]
=
"global"
,
[
RT_SCOPE_NOWHERE
]
=
"nowhere"
,
[
RT_SCOPE_HOST
]
=
"host"
,
[
RT_SCOPE_LINK
]
=
"link"
,
[
RT_SCOPE_SITE
]
=
"site"
,
};
};
static
int
rtnl_rtscope_init
;
static
int
rtnl_rtscope_init
;
...
@@ -206,33 +211,32 @@ static int rtnl_rtscope_init;
...
@@ -206,33 +211,32 @@ static int rtnl_rtscope_init;
static
void
rtnl_rtscope_initialize
(
void
)
static
void
rtnl_rtscope_initialize
(
void
)
{
{
rtnl_rtscope_init
=
1
;
rtnl_rtscope_init
=
1
;
rtnl_rtscope_tab
[
RT_SCOPE_NOWHERE
]
=
"nowhere"
;
rtnl_rtscope_tab
[
RT_SCOPE_HOST
]
=
"host"
;
rtnl_rtscope_tab
[
RT_SCOPE_LINK
]
=
"link"
;
rtnl_rtscope_tab
[
RT_SCOPE_SITE
]
=
"site"
;
rtnl_tab_initialize
(
CONFDIR
"/rt_scopes"
,
rtnl_tab_initialize
(
CONFDIR
"/rt_scopes"
,
rtnl_rtscope_tab
,
256
);
rtnl_rtscope_tab
,
256
);
}
}
const
char
*
rtnl_rtscope_n2a
(
int
id
,
char
*
buf
,
int
len
)
const
char
*
rtnl_rtscope_n2a
(
int
id
,
char
*
buf
,
int
len
)
{
{
if
(
id
<
0
||
id
>=
256
)
{
if
(
id
<
0
||
id
>=
256
)
{
snprintf
(
buf
,
len
,
"%d"
,
id
);
snprintf
(
buf
,
len
,
"%d"
,
id
);
return
buf
;
return
buf
;
}
}
if
(
!
rtnl_rtscope_tab
[
id
])
{
if
(
!
rtnl_rtscope_tab
[
id
])
{
if
(
!
rtnl_rtscope_init
)
if
(
!
rtnl_rtscope_init
)
rtnl_rtscope_initialize
();
rtnl_rtscope_initialize
();
}
}
if
(
rtnl_rtscope_tab
[
id
])
if
(
rtnl_rtscope_tab
[
id
])
return
rtnl_rtscope_tab
[
id
];
return
rtnl_rtscope_tab
[
id
];
snprintf
(
buf
,
len
,
"%d"
,
id
);
snprintf
(
buf
,
len
,
"%d"
,
id
);
return
buf
;
return
buf
;
}
}
int
rtnl_rtscope_a2n
(
__u32
*
id
,
const
char
*
arg
)
int
rtnl_rtscope_a2n
(
__u32
*
id
,
const
char
*
arg
)
{
{
static
const
char
*
cache
=
NULL
;
static
const
char
*
cache
;
static
unsigned
long
res
;
static
unsigned
long
res
;
char
*
end
;
char
*
end
;
int
i
;
int
i
;
...
@@ -245,7 +249,7 @@ int rtnl_rtscope_a2n(__u32 *id, const char *arg)
...
@@ -245,7 +249,7 @@ int rtnl_rtscope_a2n(__u32 *id, const char *arg)
if
(
!
rtnl_rtscope_init
)
if
(
!
rtnl_rtscope_init
)
rtnl_rtscope_initialize
();
rtnl_rtscope_initialize
();
for
(
i
=
0
;
i
<
256
;
i
++
)
{
for
(
i
=
0
;
i
<
256
;
i
++
)
{
if
(
rtnl_rtscope_tab
[
i
]
&&
if
(
rtnl_rtscope_tab
[
i
]
&&
strcmp
(
rtnl_rtscope_tab
[
i
],
arg
)
==
0
)
{
strcmp
(
rtnl_rtscope_tab
[
i
],
arg
)
==
0
)
{
cache
=
rtnl_rtscope_tab
[
i
];
cache
=
rtnl_rtscope_tab
[
i
];
...
@@ -263,7 +267,7 @@ int rtnl_rtscope_a2n(__u32 *id, const char *arg)
...
@@ -263,7 +267,7 @@ int rtnl_rtscope_a2n(__u32 *id, const char *arg)
}
}
static
char
*
rtnl_rtrealm_tab
[
256
]
=
{
static
char
*
rtnl_rtrealm_tab
[
256
]
=
{
"unknown"
,
"unknown"
,
};
};
...
@@ -278,7 +282,7 @@ static void rtnl_rtrealm_initialize(void)
...
@@ -278,7 +282,7 @@ static void rtnl_rtrealm_initialize(void)
const
char
*
rtnl_rtrealm_n2a
(
int
id
,
char
*
buf
,
int
len
)
const
char
*
rtnl_rtrealm_n2a
(
int
id
,
char
*
buf
,
int
len
)
{
{
if
(
id
<
0
||
id
>=
256
)
{
if
(
id
<
0
||
id
>=
256
)
{
snprintf
(
buf
,
len
,
"%d"
,
id
);
snprintf
(
buf
,
len
,
"%d"
,
id
);
return
buf
;
return
buf
;
}
}
...
@@ -295,7 +299,7 @@ const char *rtnl_rtrealm_n2a(int id, char *buf, int len)
...
@@ -295,7 +299,7 @@ const char *rtnl_rtrealm_n2a(int id, char *buf, int len)
int
rtnl_rtrealm_a2n
(
__u32
*
id
,
const
char
*
arg
)
int
rtnl_rtrealm_a2n
(
__u32
*
id
,
const
char
*
arg
)
{
{
static
char
*
cache
=
NULL
;
static
char
*
cache
;
static
unsigned
long
res
;
static
unsigned
long
res
;
char
*
end
;
char
*
end
;
int
i
;
int
i
;
...
@@ -308,7 +312,7 @@ int rtnl_rtrealm_a2n(__u32 *id, const char *arg)
...
@@ -308,7 +312,7 @@ int rtnl_rtrealm_a2n(__u32 *id, const char *arg)
if
(
!
rtnl_rtrealm_init
)
if
(
!
rtnl_rtrealm_init
)
rtnl_rtrealm_initialize
();
rtnl_rtrealm_initialize
();
for
(
i
=
0
;
i
<
256
;
i
++
)
{
for
(
i
=
0
;
i
<
256
;
i
++
)
{
if
(
rtnl_rtrealm_tab
[
i
]
&&
if
(
rtnl_rtrealm_tab
[
i
]
&&
strcmp
(
rtnl_rtrealm_tab
[
i
],
arg
)
==
0
)
{
strcmp
(
rtnl_rtrealm_tab
[
i
],
arg
)
==
0
)
{
cache
=
rtnl_rtrealm_tab
[
i
];
cache
=
rtnl_rtrealm_tab
[
i
];
...
@@ -330,7 +334,7 @@ static struct rtnl_hash_entry dflt_table_entry = { .name = "default" };
...
@@ -330,7 +334,7 @@ static struct rtnl_hash_entry dflt_table_entry = { .name = "default" };
static
struct
rtnl_hash_entry
main_table_entry
=
{
.
name
=
"main"
};
static
struct
rtnl_hash_entry
main_table_entry
=
{
.
name
=
"main"
};
static
struct
rtnl_hash_entry
local_table_entry
=
{
.
name
=
"local"
};
static
struct
rtnl_hash_entry
local_table_entry
=
{
.
name
=
"local"
};
static
struct
rtnl_hash_entry
*
rtnl_rttable_hash
[
256
]
=
{
static
struct
rtnl_hash_entry
*
rtnl_rttable_hash
[
256
]
=
{
[
RT_TABLE_DEFAULT
]
=
&
dflt_table_entry
,
[
RT_TABLE_DEFAULT
]
=
&
dflt_table_entry
,
[
RT_TABLE_MAIN
]
=
&
main_table_entry
,
[
RT_TABLE_MAIN
]
=
&
main_table_entry
,
[
RT_TABLE_LOCAL
]
=
&
local_table_entry
,
[
RT_TABLE_LOCAL
]
=
&
local_table_entry
,
...
@@ -370,13 +374,14 @@ static void rtnl_rttable_initialize(void)
...
@@ -370,13 +374,14 @@ static void rtnl_rttable_initialize(void)
if
(
strcmp
(
de
->
d_name
+
len
-
5
,
".conf"
))
if
(
strcmp
(
de
->
d_name
+
len
-
5
,
".conf"
))
continue
;
continue
;
snprintf
(
path
,
sizeof
(
path
),
CONFDIR
"/rt_tables.d/%s"
,
de
->
d_name
);
snprintf
(
path
,
sizeof
(
path
),
CONFDIR
"/rt_tables.d/%s"
,
de
->
d_name
);
rtnl_hash_initialize
(
path
,
rtnl_rttable_hash
,
256
);
rtnl_hash_initialize
(
path
,
rtnl_rttable_hash
,
256
);
}
}
closedir
(
d
);
closedir
(
d
);
}
}
const
char
*
rtnl_rttable_n2a
(
__u32
id
,
char
*
buf
,
int
len
)
const
char
*
rtnl_rttable_n2a
(
__u32
id
,
char
*
buf
,
int
len
)
{
{
struct
rtnl_hash_entry
*
entry
;
struct
rtnl_hash_entry
*
entry
;
...
@@ -397,7 +402,7 @@ const char * rtnl_rttable_n2a(__u32 id, char *buf, int len)
...
@@ -397,7 +402,7 @@ const char * rtnl_rttable_n2a(__u32 id, char *buf, int len)
int
rtnl_rttable_a2n
(
__u32
*
id
,
const
char
*
arg
)
int
rtnl_rttable_a2n
(
__u32
*
id
,
const
char
*
arg
)
{
{
static
const
char
*
cache
=
NULL
;
static
const
char
*
cache
;
static
unsigned
long
res
;
static
unsigned
long
res
;
struct
rtnl_hash_entry
*
entry
;
struct
rtnl_hash_entry
*
entry
;
char
*
end
;
char
*
end
;
...
@@ -411,7 +416,7 @@ int rtnl_rttable_a2n(__u32 *id, const char *arg)
...
@@ -411,7 +416,7 @@ int rtnl_rttable_a2n(__u32 *id, const char *arg)
if
(
!
rtnl_rttable_init
)
if
(
!
rtnl_rttable_init
)
rtnl_rttable_initialize
();
rtnl_rttable_initialize
();
for
(
i
=
0
;
i
<
256
;
i
++
)
{
for
(
i
=
0
;
i
<
256
;
i
++
)
{
entry
=
rtnl_rttable_hash
[
i
];
entry
=
rtnl_rttable_hash
[
i
];
while
(
entry
&&
strcmp
(
entry
->
name
,
arg
))
while
(
entry
&&
strcmp
(
entry
->
name
,
arg
))
entry
=
entry
->
next
;
entry
=
entry
->
next
;
...
@@ -431,7 +436,7 @@ int rtnl_rttable_a2n(__u32 *id, const char *arg)
...
@@ -431,7 +436,7 @@ int rtnl_rttable_a2n(__u32 *id, const char *arg)
}
}
static
char
*
rtnl_rtdsfield_tab
[
256
]
=
{
static
char
*
rtnl_rtdsfield_tab
[
256
]
=
{
"0"
,
"0"
,
};
};
...
@@ -446,7 +451,7 @@ static void rtnl_rtdsfield_initialize(void)
...
@@ -446,7 +451,7 @@ static void rtnl_rtdsfield_initialize(void)
const
char
*
rtnl_dsfield_n2a
(
int
id
,
char
*
buf
,
int
len
)
const
char
*
rtnl_dsfield_n2a
(
int
id
,
char
*
buf
,
int
len
)
{
{
if
(
id
<
0
||
id
>=
256
)
{
if
(
id
<
0
||
id
>=
256
)
{
snprintf
(
buf
,
len
,
"%d"
,
id
);
snprintf
(
buf
,
len
,
"%d"
,
id
);
return
buf
;
return
buf
;
}
}
...
@@ -463,7 +468,7 @@ const char *rtnl_dsfield_n2a(int id, char *buf, int len)
...
@@ -463,7 +468,7 @@ const char *rtnl_dsfield_n2a(int id, char *buf, int len)
int
rtnl_dsfield_a2n
(
__u32
*
id
,
const
char
*
arg
)
int
rtnl_dsfield_a2n
(
__u32
*
id
,
const
char
*
arg
)
{
{
static
char
*
cache
=
NULL
;
static
char
*
cache
;
static
unsigned
long
res
;
static
unsigned
long
res
;
char
*
end
;
char
*
end
;
int
i
;
int
i
;
...
@@ -476,7 +481,7 @@ int rtnl_dsfield_a2n(__u32 *id, const char *arg)
...
@@ -476,7 +481,7 @@ int rtnl_dsfield_a2n(__u32 *id, const char *arg)
if
(
!
rtnl_rtdsfield_init
)
if
(
!
rtnl_rtdsfield_init
)
rtnl_rtdsfield_initialize
();
rtnl_rtdsfield_initialize
();
for
(
i
=
0
;
i
<
256
;
i
++
)
{
for
(
i
=
0
;
i
<
256
;
i
++
)
{
if
(
rtnl_rtdsfield_tab
[
i
]
&&
if
(
rtnl_rtdsfield_tab
[
i
]
&&
strcmp
(
rtnl_rtdsfield_tab
[
i
],
arg
)
==
0
)
{
strcmp
(
rtnl_rtdsfield_tab
[
i
],
arg
)
==
0
)
{
cache
=
rtnl_rtdsfield_tab
[
i
];
cache
=
rtnl_rtdsfield_tab
[
i
];
...
@@ -494,9 +499,11 @@ int rtnl_dsfield_a2n(__u32 *id, const char *arg)
...
@@ -494,9 +499,11 @@ int rtnl_dsfield_a2n(__u32 *id, const char *arg)
}
}
static
struct
rtnl_hash_entry
dflt_group_entry
=
{
.
id
=
0
,
.
name
=
"default"
};
static
struct
rtnl_hash_entry
dflt_group_entry
=
{
.
id
=
0
,
.
name
=
"default"
};
static
struct
rtnl_hash_entry
*
rtnl_group_hash
[
256
]
=
{
static
struct
rtnl_hash_entry
*
rtnl_group_hash
[
256
]
=
{
[
0
]
=
&
dflt_group_entry
,
[
0
]
=
&
dflt_group_entry
,
};
};
...
@@ -511,7 +518,7 @@ static void rtnl_group_initialize(void)
...
@@ -511,7 +518,7 @@ static void rtnl_group_initialize(void)
int
rtnl_group_a2n
(
int
*
id
,
const
char
*
arg
)
int
rtnl_group_a2n
(
int
*
id
,
const
char
*
arg
)
{
{
static
const
char
*
cache
=
NULL
;
static
const
char
*
cache
;
static
unsigned
long
res
;
static
unsigned
long
res
;
struct
rtnl_hash_entry
*
entry
;
struct
rtnl_hash_entry
*
entry
;
char
*
end
;
char
*
end
;
...
@@ -525,7 +532,7 @@ int rtnl_group_a2n(int *id, const char *arg)
...
@@ -525,7 +532,7 @@ int rtnl_group_a2n(int *id, const char *arg)
if
(
!
rtnl_group_init
)
if
(
!
rtnl_group_init
)
rtnl_group_initialize
();
rtnl_group_initialize
();
for
(
i
=
0
;
i
<
256
;
i
++
)
{
for
(
i
=
0
;
i
<
256
;
i
++
)
{
entry
=
rtnl_group_hash
[
i
];
entry
=
rtnl_group_hash
[
i
];
while
(
entry
&&
strcmp
(
entry
->
name
,
arg
))
while
(
entry
&&
strcmp
(
entry
->
name
,
arg
))
entry
=
entry
->
next
;
entry
=
entry
->
next
;
...
@@ -552,12 +559,11 @@ const char *rtnl_group_n2a(int id, char *buf, int len)
...
@@ -552,12 +559,11 @@ const char *rtnl_group_n2a(int id, char *buf, int len)
if
(
!
rtnl_group_init
)
if
(
!
rtnl_group_init
)
rtnl_group_initialize
();
rtnl_group_initialize
();
for
(
i
=
0
;
i
<
256
;
i
++
)
{
for
(
i
=
0
;
i
<
256
;
i
++
)
{
entry
=
rtnl_group_hash
[
i
];
entry
=
rtnl_group_hash
[
i
];
if
(
entry
&&
entry
->
id
==
id
)
{
if
(
entry
&&
entry
->
id
==
id
)
return
entry
->
name
;
return
entry
->
name
;
}
}
}
snprintf
(
buf
,
len
,
"%d"
,
id
);
snprintf
(
buf
,
len
,
"%d"
,
id
);
return
buf
;
return
buf
;
...
@@ -615,7 +621,7 @@ const char *nl_proto_n2a(int id, char *buf, int len)
...
@@ -615,7 +621,7 @@ const char *nl_proto_n2a(int id, char *buf, int len)
int
nl_proto_a2n
(
__u32
*
id
,
const
char
*
arg
)
int
nl_proto_a2n
(
__u32
*
id
,
const
char
*
arg
)
{
{
static
char
*
cache
=
NULL
;
static
char
*
cache
;
static
unsigned
long
res
;
static
unsigned
long
res
;
char
*
end
;
char
*
end
;
int
i
;
int
i
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment