summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Jamfile3
-rw-r--r--apps/pdfmerge.c20
-rw-r--r--apps/pdfrip.c2
-rw-r--r--base/cpudep.c4
4 files changed, 21 insertions, 8 deletions
diff --git a/Jamfile b/Jamfile
index ee9b1e34..af49ce18 100644
--- a/Jamfile
+++ b/Jamfile
@@ -244,5 +244,6 @@ if $(HAVE_GTK)
Main pdfclean : apps/pdfclean.c ;
Main pdfdebug : apps/pdfdebug.c ;
Main pdfrip : apps/pdfrip.c ;
-LinkLibraries pdfclean pdfdebug pdfrip : libmupdf libfitz ;
+Main pdfmerge : apps/pdfmerge.c ;
+LinkLibraries pdfclean pdfdebug pdfrip pdfmerge : libmupdf libfitz ;
diff --git a/apps/pdfmerge.c b/apps/pdfmerge.c
index 3bb7c868..5ad161f0 100644
--- a/apps/pdfmerge.c
+++ b/apps/pdfmerge.c
@@ -66,10 +66,14 @@ int main(int argc, char **argv)
* Create new blank xref table
*/
- error = pdf_newpdf(&dst);
+ error = pdf_newxref(&dst);
if (error)
fz_abort(error);
+ error = pdf_initxref(dst);
+ if (error)
+ fz_abort(error);
+
error = fz_newarray(&dstrefs, 100);
if (error)
fz_abort(error);
@@ -80,11 +84,15 @@ int main(int argc, char **argv)
for (i = optind; i < argc; i++)
{
- error = pdf_openpdf(&src, argv[i]);
+ error = pdf_newxref(&src);
+ if (error)
+ fz_abort(error);
+
+ error = pdf_loadxref(src, argv[i]);
if (error)
fz_abort(error);
- error = pdf_decryptpdf(src);
+ error = pdf_decryptxref(src);
if (error)
fz_abort(error);
@@ -137,7 +145,7 @@ int main(int argc, char **argv)
pdf_droppagetree(srcpages);
- pdf_closepdf(src);
+ pdf_closexref(src);
}
/*
@@ -218,12 +226,12 @@ int main(int argc, char **argv)
fz_dropobj(id);
}
- error = pdf_savepdf(dst, savename, encrypt);
+ error = pdf_savexref(dst, savename, encrypt);
if (error)
fz_abort(error);
fz_dropobj(dstrefs);
- pdf_closepdf(dst);
+ pdf_closexref(dst);
return 0;
}
diff --git a/apps/pdfrip.c b/apps/pdfrip.c
index 4f5930d1..c9c761ce 100644
--- a/apps/pdfrip.c
+++ b/apps/pdfrip.c
@@ -69,7 +69,7 @@ void showpage(pdf_xref *xref, fz_obj *pageobj, int pagenum)
h = bbox.max.y - bbox.min.y;
bh = h / nbands;
- fd = open(namebuf, O_BINARY|O_WRONLY|O_CREAT|O_TRUNC);
+ fd = open(namebuf, O_BINARY|O_WRONLY|O_CREAT|O_TRUNC, 0666);
if (fd < 0)
fz_abort(fz_throw("open %s failed: %s", namebuf, strerror(errno)));
sprintf(buf, "P6\n%d %d\n255\n", w, bh * nbands);
diff --git a/base/cpudep.c b/base/cpudep.c
index 632ce203..0db2e331 100644
--- a/base/cpudep.c
+++ b/base/cpudep.c
@@ -205,6 +205,10 @@ void fz_cpudetect(void)
fz_cpuflags = flags;
+#if defined(ARCH_X86) || defined(ARCH_X86_64)
+ __asm__ __volatile__ ("emms\n\t");
+#endif
+
dumpflags();
}