Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Sunxi Tools
Commits
b416803e
Commit
b416803e
authored
May 30, 2016
by
NiteHawk
Browse files
Merge pull request #49 from n1tehawk/20160518_fexc-fixes
fexc fixes
parents
aff86a5e
7a0a7012
Changes
3
Show whitespace changes
Inline
Side-by-side
script.h
View file @
b416803e
...
...
@@ -19,7 +19,7 @@
#include "list.h"
#define GPIO_BANK_MAX 1
3
/* N */
#define GPIO_BANK_MAX 1
4
/* N
, (zero-based) index 13
*/
/** head of the data tree */
struct
script
{
...
...
script_bin.c
View file @
b416803e
...
...
@@ -17,6 +17,7 @@
#include "common.h"
#include <ctype.h>
#include <errno.h>
#include <stdlib.h>
#include <stdint.h>
...
...
@@ -240,6 +241,13 @@ static int decompile_section(void *bin, size_t bin_size,
type
=
(
entry
->
pattern
>>
16
)
&
0xffff
;
words
=
(
entry
->
pattern
>>
0
)
&
0xffff
;
for
(
char
*
p
=
entry
->
name
;
*
p
;
p
++
)
if
(
!
(
isalnum
(
*
p
)
||
*
p
==
'_'
))
{
pr_info
(
"Warning: Malformed entry key
\"
%s
\"\n
"
,
entry
->
name
);
break
;
}
switch
(
type
)
{
case
SCRIPT_VALUE_TYPE_SINGLE_WORD
:
{
uint32_t
*
v
=
data
;
...
...
@@ -269,9 +277,12 @@ static int decompile_section(void *bin, size_t bin_size,
}
else
if
(
gpio
->
port
==
0xffff
)
{
;
/* port:power */
}
else
if
(
gpio
->
port
<
1
||
gpio
->
port
>
GPIO_BANK_MAX
)
{
pr_err
(
"%s: %s.%s: unknown GPIO port bank %c (%u)
\n
"
,
filename
,
section
->
name
,
entry
->
name
,
'A'
+
gpio
->
port
,
gpio
->
port
);
pr_err
(
"%s: %s.%s: unknown GPIO port bank "
,
filename
,
section
->
name
,
entry
->
name
);
char
c
=
'A'
+
gpio
->
port
-
1
;
if
(
c
>=
'A'
&&
c
<=
'Z'
)
pr_err
(
"%c "
,
c
);
pr_err
(
"(%u)
\n
"
,
gpio
->
port
);
goto
failure
;
}
v
[
0
]
=
gpio
->
mul_sel
;
...
...
@@ -315,7 +326,7 @@ int script_decompile_bin(void *bin, size_t bin_size,
unsigned
int
i
;
struct
script_bin_head
*
head
=
bin
;
if
((
head
->
version
[
0
]
>
SCRIPT_BIN_VERSION_LIMIT
)
||
if
((
(
head
->
version
[
0
]
&
0x3FFF
)
>
SCRIPT_BIN_VERSION_LIMIT
)
||
(
head
->
version
[
1
]
>
SCRIPT_BIN_VERSION_LIMIT
)
||
(
head
->
version
[
2
]
>
SCRIPT_BIN_VERSION_LIMIT
))
{
pr_err
(
"Malformed data: version %u.%u.%u.
\n
"
,
...
...
@@ -330,7 +341,7 @@ int script_decompile_bin(void *bin, size_t bin_size,
}
pr_info
(
"%s: version: %u.%u.%u
\n
"
,
filename
,
head
->
version
[
0
],
head
->
version
[
1
],
head
->
version
[
2
]);
head
->
version
[
0
]
&
0x3FFF
,
head
->
version
[
1
],
head
->
version
[
2
]);
pr_info
(
"%s: size: %zu (%u sections)
\n
"
,
filename
,
bin_size
,
head
->
sections
);
...
...
script_fex.c
View file @
b416803e
...
...
@@ -202,7 +202,13 @@ int script_parse_fex(FILE *in, const char *filename, struct script *script)
if
(
pe
==
s
||
*
s
==
';'
||
*
s
==
'#'
)
continue
;
/* empty */
else
if
(
*
s
==
'['
)
{
if
(
*
s
==
':'
)
{
/* see https://github.com/linux-sunxi/sunxi-boards/issues/50 */
errf
(
"Warning: %s:%zu: invalid line, suspecting typo/malformed comment.
\n
"
,
filename
,
line
);
continue
;
/* ignore this line */
}
if
(
*
s
==
'['
)
{
/* section */
char
*
p
=
++
s
;
while
(
isalnum
(
*
p
)
||
*
p
==
'_'
)
...
...
@@ -344,6 +350,8 @@ int script_parse_fex(FILE *in, const char *filename, struct script *script)
}
else
{
goto
invalid_char_at_p
;
}
errf
(
"E: %s:%zu: parse error at %zu.
\n
"
,
filename
,
line
,
p
-
buffer
+
1
);
goto
parse_error
;
invalid_char_at_p:
errf
(
"E: %s:%zu: invalid character at %zu.
\n
"
,
...
...
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