summaryrefslogtreecommitdiffstats
path: root/src/cite.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/cite.cpp')
-rw-r--r--src/cite.cpp32
1 files changed, 17 insertions, 15 deletions
diff --git a/src/cite.cpp b/src/cite.cpp
index 612ddc1..dac2bcd 100644
--- a/src/cite.cpp
+++ b/src/cite.cpp
@@ -94,7 +94,7 @@ void CitationManager::clear()
bool CitationManager::isEmpty() const
{
- int numFiles = Config_getList(CITE_BIB_FILES).count();
+ uint numFiles = Config_getList(CITE_BIB_FILES).count();
return (numFiles==0 || p->entries.empty());
}
@@ -135,15 +135,15 @@ void CitationManager::generatePage()
err("could not open file %s for reading\n",bibFile.data());
}
QCString doc;
- QFileInfo fi(bibFile);
QCString input(fi.size()+1);
f.readBlock(input.rawData(),fi.size());
f.close();
input.at(fi.size())='\0';
- int pos=0,s;
+ int pos=0;
+ int s;
while ((s=input.find('\n',pos))!=-1)
{
- QCString line = input.mid(pos,s-pos);
+ QCString line = input.mid((uint)pos,(uint)(s-pos));
pos=s+1;
int i;
@@ -153,7 +153,7 @@ void CitationManager::generatePage()
int k=line.find("}",i);
if (j!=-1 && k!=-1)
{
- QCString label = line.mid(j+1,k-j-1);
+ QCString label = line.mid((uint)(j+1),(uint)(k-j-1));
if (p->entries.find(label.data())==p->entries.end()) // not found yet
{
insert(label);
@@ -246,25 +246,25 @@ void CitationManager::generatePage()
{
err("could not open file %s for reading\n",citeListFile.data());
}
- bool insideBib=FALSE;
-
+
QCString doc;
QFileInfo fi(citeListFile);
QCString input(fi.size()+1);
f.readBlock(input.rawData(),fi.size());
f.close();
input.at(fi.size())='\0';
+
+ bool insideBib=FALSE;
int pos=0,s;
//printf("input=[%s]\n",input.data());
while ((s=input.find('\n',pos))!=-1)
{
- QCString line = input.mid(pos,s-pos);
+ QCString line = input.mid((uint)pos,(uint)(s-pos));
//printf("pos=%d s=%d line=[%s]\n",pos,s,line.data());
pos=s+1;
if (line.find("<!-- BEGIN BIBLIOGRAPHY")!=-1) insideBib=TRUE;
else if (line.find("<!-- END BIBLIOGRAPH")!=-1) insideBib=FALSE;
- int i;
// determine text to use at the location of the @cite command
if (insideBib && (i=line.find("name=\"CITEREF_"))!=-1)
{
@@ -272,10 +272,13 @@ void CitationManager::generatePage()
int k=line.find("]</a>");
if (j!=-1 && k!=-1)
{
- QCString label = line.mid(i+14,j-i-14);
- QCString number = line.mid(j+2,k-j-1);
+ uint ui=(uint)i;
+ uint uj=(uint)j;
+ uint uk=(uint)k;
+ QCString label = line.mid(ui+14,uj-ui-14);
+ QCString number = line.mid(uj+2,uk-uj-1);
label = substitute(substitute(label,"&ndash;","--"),"&mdash;","---");
- line = line.left(i+14) + label + line.right(line.length()-j);
+ line = line.left(ui+14) + label + line.right(line.length()-uj);
auto it = p->entries.find(label.data());
//printf("label='%s' number='%s' => %p\n",label.data(),number.data(),it->second.get());
if (it!=p->entries.end())
@@ -296,15 +299,14 @@ void CitationManager::generatePage()
if (Config_getBool(GENERATE_LATEX))
{
// copy bib files to the latex output dir
- const QStrList &citeDataList = Config_getList(CITE_BIB_FILES);
QCString latexOutputDir = Config_getString(LATEX_OUTPUT)+"/";
- int i = 0;
+ i = 0;
for (li.toFirst() ; (bibdata = li.current()) ; ++li)
{
QCString bibFile = bibdata;
// Note: file can now have multiple dots
if (!bibFile.isEmpty() && bibFile.right(4)!=".bib") bibFile+=".bib";
- QFileInfo fi(bibFile);
+ fi.setFile(bibFile);
if (fi.exists())
{
if (!bibFile.isEmpty())