X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fswfc.c;h=bdb631ab3b6fe3b260ea02d275cf82c841212161;hb=3bb9dfe334b48568c45a688a8ac5c1cce021a75d;hp=d2ef74dd839b030aebe2ea8ad92d54c58ad56341;hpb=5d0ae92bbb26452b5b84bcd99dc60a7f781d12a0;p=swftools.git diff --git a/src/swfc.c b/src/swfc.c index d2ef74d..bdb631a 100644 --- a/src/swfc.c +++ b/src/swfc.c @@ -20,7 +20,7 @@ #include "../lib/rfxswf.h" #include "../lib/log.h" #include "../lib/args.h" -#include "q.h" +#include "../lib/q.h" #include "parser.h" #include "wav.h" @@ -619,7 +619,7 @@ void s_font(char*name, char*filename) int f; SWF swf; SWFFONT* font; - f = open(filename,O_RDONLY); + f = open(filename,O_RDONLY|O_BINARY); if (f<0) { warning("Couldn't open file \"%s\": %s", filename, strerror(errno)); font = (SWFFONT*)malloc(sizeof(SWFFONT)); @@ -1051,11 +1051,18 @@ int parseInt(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; - return parseInt(str)*20; + return sign*parseInt(str)*20; } else { int l=strlen(++dot); char*s; @@ -1072,11 +1079,11 @@ int parseTwip(char*str) l=2; } if(l==0) - return atoi(str)*20; + return sign*atoi(str)*20; if(l==1) - return atoi(str)*20+atoi(dot)*2; + return sign*atoi(str)*20+atoi(dot)*2; if(l==2) - return atoi(str)*20+atoi(dot)/5; + return sign*atoi(str)*20+atoi(dot)/5; } return 0; }