git.asbjorn.biz
/
swftools.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
5c59d82
)
fix for negative coordinates.
author
kramm
<kramm>
Tue, 29 Apr 2003 19:08:42 +0000
(19:08 +0000)
committer
kramm
<kramm>
Tue, 29 Apr 2003 19:08:42 +0000
(19:08 +0000)
src/parser.lex
patch
|
blob
|
history
src/swfc.c
patch
|
blob
|
history
diff --git
a/src/parser.lex
b/src/parser.lex
index
beca943
..
4ccf2c0
100644
(file)
--- a/
src/parser.lex
+++ b/
src/parser.lex
@@
-163,8
+163,8
@@
void handleInclude(char*text, int len)
%x BINARY
NAME [a-zA-Z_./](-*[a-zA-Z0-9_./])*
%x BINARY
NAME [a-zA-Z_./](-*[a-zA-Z0-9_./])*
-TWIP ([0-9]+(\.([0-9]([05])?)?)?)
-NUMBER [0-9]+(\.[0-9]*)?
+TWIP (-?[0-9]+(\.([0-9]([05])?)?)?)
+NUMBER -?[0-9]+(\.[0-9]*)?
PERCENT {NUMBER}%
STRING (\\.|[^\\"\n])*
S [ \n\r\t]
PERCENT {NUMBER}%
STRING (\\.|[^\\"\n])*
S [ \n\r\t]
diff --git
a/src/swfc.c
b/src/swfc.c
index
db12bd7
..
aa8fe6b
100644
(file)
--- a/
src/swfc.c
+++ b/
src/swfc.c
@@
-1051,11
+1051,18
@@
int parseInt(char*str)
}
int parseTwip(char*str)
{
}
int parseTwip(char*str)
{
- char*dot = strchr(str, '.');
+ char*dot;
+ int sign=1;
+ if(str[0]=='+' || str[0]=='-') {
+ if(str[0]=='-')
+ sign = -1;
+ str++;
+ }
+ dot = strchr(str, '.');
if(!dot) {
int l=strlen(str);
int t;
if(!dot) {
int l=strlen(str);
int t;
- return parseInt(str)*20;
+ return sign*parseInt(str)*20;
} else {
int l=strlen(++dot);
char*s;
} else {
int l=strlen(++dot);
char*s;
@@
-1072,11
+1079,11
@@
int parseTwip(char*str)
l=2;
}
if(l==0)
l=2;
}
if(l==0)
- return atoi(str)*20;
+ return sign*atoi(str)*20;
if(l==1)
if(l==1)
- return atoi(str)*20+atoi(dot)*2;
+ return sign*atoi(str)*20+atoi(dot)*2;
if(l==2)
if(l==2)
- return atoi(str)*20+atoi(dot)/5;
+ return sign*atoi(str)*20+atoi(dot)/5;
}
return 0;
}
}
return 0;
}