mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
bug fixes, enhancements to handle weird QIF formats
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@326 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
parent
bad4394866
commit
ce94c29335
34
src/QIFIO.c
34
src/QIFIO.c
@ -107,6 +107,14 @@ char * xaccReadQIFDiscard( int fd )
|
||||
qifline = xaccReadQIFLine (fd);
|
||||
return qifline;
|
||||
} else
|
||||
if (NSTRNCMP(qifline, "^\n")) {
|
||||
qifline = xaccReadQIFLine (fd);
|
||||
return qifline;
|
||||
} else
|
||||
if (NSTRNCMP(qifline, "^\r")) {
|
||||
qifline = xaccReadQIFLine (fd);
|
||||
return qifline;
|
||||
} else
|
||||
if ('!' == qifline [0]) return qifline;
|
||||
qifline = xaccReadQIFLine (fd);
|
||||
}
|
||||
@ -187,6 +195,12 @@ char * xaccReadQIFCategory (int fd, Account * acc)
|
||||
if (NSTRNCMP(qifline, "^^")) {
|
||||
break;
|
||||
} else
|
||||
if (NSTRNCMP(qifline, "^\n")) {
|
||||
break;
|
||||
} else
|
||||
if (NSTRNCMP(qifline, "^\r")) {
|
||||
break;
|
||||
} else
|
||||
if ('!' == qifline [0]) break;
|
||||
|
||||
qifline = xaccReadQIFLine (fd);
|
||||
@ -262,6 +276,12 @@ char * xaccReadQIFAccount (int fd, Account * acc)
|
||||
if (NSTRNCMP (qifline, "^^")) {
|
||||
break;
|
||||
} else
|
||||
if (NSTRNCMP (qifline, "^\n")) {
|
||||
break;
|
||||
} else
|
||||
if (NSTRNCMP (qifline, "^\r")) {
|
||||
break;
|
||||
} else
|
||||
if ('!' == qifline [0]) break;
|
||||
qifline = xaccReadQIFLine (fd);
|
||||
}
|
||||
@ -740,6 +760,12 @@ char * xaccReadQIFTransaction (int fd, Account *acc)
|
||||
if (NSTRNCMP (qifline, "^^")) {
|
||||
break;
|
||||
} else
|
||||
if (NSTRNCMP (qifline, "^\n")) {
|
||||
break;
|
||||
} else
|
||||
if (NSTRNCMP (qifline, "^\r")) {
|
||||
break;
|
||||
} else
|
||||
if ('!' == qifline [0]) break;
|
||||
qifline = xaccReadQIFLine (fd);
|
||||
|
||||
@ -829,11 +855,11 @@ char * xaccReadQIFTransList (int fd, Account *acc)
|
||||
char * qifline;
|
||||
|
||||
if (!acc) return 0x0;
|
||||
do {
|
||||
qifline = xaccReadQIFTransaction (fd, acc);
|
||||
|
||||
qifline = xaccReadQIFTransaction (fd, acc);
|
||||
while (qifline) {
|
||||
if ('!' == qifline[0]) break;
|
||||
} while (qifline);
|
||||
qifline = xaccReadQIFTransaction (fd, acc);
|
||||
}
|
||||
return qifline;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user