projects
/
project
/
luci.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
760b917
)
libs/lmo: fix po2lmo to cope with new po format
author
Jo-Philipp Wich
<jow@openwrt.org>
Sat, 31 Oct 2009 16:46:13 +0000
(16:46 +0000)
committer
Jo-Philipp Wich
<jow@openwrt.org>
Sat, 31 Oct 2009 16:46:13 +0000
(16:46 +0000)
libs/lmo/src/lmo_po2lmo.c
patch
|
blob
|
history
diff --git
a/libs/lmo/src/lmo_po2lmo.c
b/libs/lmo/src/lmo_po2lmo.c
index
9f78ff2
..
9b7b097
100644
(file)
--- a/
libs/lmo/src/lmo_po2lmo.c
+++ b/
libs/lmo/src/lmo_po2lmo.c
@@
-99,7
+99,7
@@
int main(int argc, char *argv[])
memset(key, 0, sizeof(val));
memset(val, 0, sizeof(val));
memset(key, 0, sizeof(val));
memset(val, 0, sizeof(val));
- while( (NULL != fgets(line, sizeof(line), in)) || (state >=
2
&& feof(in)) )
+ while( (NULL != fgets(line, sizeof(line), in)) || (state >=
3
&& feof(in)) )
{
if( state == 0 && strstr(line, "msgid \"") == line )
{
{
if( state == 0 && strstr(line, "msgid \"") == line )
{
@@
-108,36
+108,52
@@
int main(int argc, char *argv[])
case -1:
die("Syntax error in msgid");
case 0:
case -1:
die("Syntax error in msgid");
case 0:
- continue;
- default:
state = 1;
state = 1;
+ break;
+ default:
+ state = 2;
}
}
}
}
- else if( state == 1
&& strstr(line, "msgstr \"") == line
)
+ else if( state == 1
|| state == 2
)
{
{
-
switch(extract_string(line, val, sizeof(val))
)
+
if( strstr(line, "msgstr \"") == line || state == 2
)
{
{
- case -1:
- die("Syntax error in msgstr");
- case 0:
- state = 2;
- break;
- default:
- state = 3;
+ switch(extract_string(line, val, sizeof(val)))
+ {
+ case -1:
+ state = 4;
+ break;
+ case 0:
+ state = 2;
+ break;
+ default:
+ state = 3;
+ }
+ }
+ else
+ {
+ switch(extract_string(line, tmp, sizeof(tmp)))
+ {
+ case -1:
+ state = 4;
+ break;
+ default:
+ strcat(key, tmp);
+ }
}
}
}
}
- else if( state ==
2
)
+ else if( state ==
3
)
{
switch(extract_string(line, tmp, sizeof(tmp)))
{
case -1:
{
switch(extract_string(line, tmp, sizeof(tmp)))
{
case -1:
- state =
3
;
+ state =
4
;
break;
default:
strcat(val, tmp);
}
}
break;
default:
strcat(val, tmp);
}
}
- else if( state ==
3
)
+ else if( state ==
4
)
{
if( strlen(key) > 0 && strlen(val) > 0 )
{
{
if( strlen(key) > 0 && strlen(val) > 0 )
{