summaryrefslogtreecommitdiff
path: root/goo
AgeCommit message (Collapse)AuthorFilesLines
2018-10-06Remove last use of non const GooString::getCStringAlbert Astals Cid1-1/+0
2018-10-05GooList: Be a class againAlbert Astals Cid1-1/+2
All the forward declarations we have are saying class and both MSVC and clang are unhappy about it
2018-10-05Remove GooList's reserving constructor since it has only three users and it ↵Adam Reichold1-3/+0
seems to better to be explicit whether we reserve or resize.
2018-10-05Do not use non-standard pragma once and do not change semantics of reserving ↵Adam Reichold1-2/+5
GooList constructor.
2018-10-05Remove GooList::append since the single element variant is ↵Adam Reichold1-15/+0
std::vector::push_back and the list variant is used only once.
2018-10-05Remove GooList::put as it is apparently unused.Adam Reichold1-4/+0
2018-10-05Turn deleteGooList macro into a template to improve type checking and ↵Adam Reichold1-11/+8
diagnostics.
2018-10-05Remove GooList::insert since the single caller actually needs only ↵Adam Reichold1-6/+0
std::vector::push_back.
2018-10-05Remove GooList::copy since it is apparently unused.Adam Reichold1-3/+0
2018-10-05Remove GooList::del since its few users are easily converted.Adam Reichold1-9/+0
2018-10-05Reimplement GooList as a subtype of std::vectorAdam Reichold2-187/+36
This reimplements GooList as a subtype of std::vector<void *> to facilitate porting the various places where GooList is used to STL containers. After this change, this can happen mechanically by replacing all of the GooList-specific API by their implementations at the call sites and cleaning up until at some point no more GooList-specific API is left and the type can be removed. This of course keeps the normally inefficient pattern of storing pointer to objects instead of objects inside these containers which however can then be refactoring in a separate step building on top this and as a pure optimization.
2018-09-30Do not use unsigned char to instantiate a random engine as the standard ↵Adam Reichold1-6/+3
permits only short and wider and MSVC is strict about that.
2018-09-27Use the C++ standard library facilities for thread-safe random number ↵Adam Reichold2-59/+19
generation avoiding the need for explicit configure checks.
2018-09-23Update (C)Albert Astals Cid2-2/+2
2018-09-23GooString: some more constAlbert Astals Cid2-10/+10
2018-09-23gfile: Remove a bunch of unused functionsAlbert Astals Cid2-258/+0
\o/
2018-09-23gdir: Add some constAlbert Astals Cid2-7/+7
2018-09-21Replace GooMutex by std::recursive_mutex (and plain reference counter by ↵Adam Reichold1-93/+0
std::atomic_int).
2018-09-05goo: Split GDir and GDirEntry out of gfile.hChristian Persch3-49/+92
This allows including gfile.h together with glib.h which has a conflicting GDir type. https://gitlab.freedesktop.org/poppler/poppler/issues/370
2018-08-31Replace #pragma once by standard-supported include guards and add missing ↵Adam Reichold2-2/+18
copyright preamble for new header.
2018-08-31Extend checked operations header with support for Clang in addition to ↵Adam Reichold1-2/+6
checking for GCC version 5 or later.
2018-08-31Factor out overflow-checked multiplication into a separate header for ↵Adam Reichold2-14/+34
extension and reuse.
2018-08-29fix macOS compilation due to boolean define in jpeglibEd Porras1-1/+2
typedef enum { FALSE = 0, TRUE = 1 } boolean;
2018-08-29Add (c) of the last few commitsAlbert Astals Cid1-0/+1
2018-08-29Use GCC instrinsics to perform overflow checking in the gmem allocation ↵Adam Reichold1-0/+4
functions.
2018-08-29Turn gmem into a header-only wrapper to allow unnecessary branches to be ↵Adam Reichold2-213/+143
optimized away and function call overhead to be aovided.
2018-08-29Remove generic heap debugging from gmem since external tools and compiler ↵Adam Reichold2-160/+0
instrumentation achieve the same effect.
2018-08-29Remove gmempp implementing C++ memory allocation operators using gmalloc for ↵Adam Reichold1-32/+0
heap debugging.
2018-07-21JpegWriter: Use the C++11 cascading constructorsAlbert Astals Cid1-6/+2
2018-07-20Add -jpegopt optimize option support to utilsMartin Packman2-0/+14
New option 'optimize=y' for utils that take a -jpegopt param, pdftocairo and pdftoppm. This corresponds to the cjpeg -optimize flag, and slightly reduces the size of the output jpeg but uses additional cpu and memory. New jpegOptimize boolean in splash/SplashBitmap WriteImgParams. New setOptimize method on goo/JpegWriter taking a boolean. Update manpages for new option.
2018-05-24gmallocn: move the operation after the checksAlbert Astals Cid1-3/+1
fixes oss-fuzz/8423
2018-05-23greallocn: move the operation to after the checksAlbert Astals Cid1-3/+1
fixes oss-fuzz/8484
2018-05-06Remove GooHash after replacing it by std::unordered_map.Adam Reichold2-496/+0
2018-05-06Add conversion methods between GooString and std::string.Adam Reichold1-1/+6
2018-04-06Add some more constAlbert Astals Cid2-5/+19
const is always good :)
2018-04-06GooString::insert make pointer constAlbert Astals Cid2-2/+2
2018-04-05Add some const to GooHash and GooStringAlbert Astals Cid4-12/+16
2018-04-02Fix build on some platformsMojca Miklavec2-4/+4
We need to include time.h in gfile.h Bug #105766
2018-03-20gfile: Fix windows buildAlbert Astals Cid1-0/+4
2018-03-04Use the detection idiom to handle the non-standard struct stat field name ↵Adam Reichold1-3/+37
for high-resolution mtime on Mac OS X.
2018-01-09Fix more Wmissing-field-initializerAlbert Astals Cid1-3/+3
by using the default initializer
2018-01-08Run clang-tidy with modernize nullptrAlbert Astals Cid9-64/+64
Also add two enum values in the qt5 frontend to representate no flags Also mark glib/gtk/cairo system includes so that gcc doesn't report the issues in those headers
2018-01-08Delete lots of copy constructors and copy assignment operatorsAlbert Astals Cid3-3/+13
Fixes rule-of-three and copyable-polymorphic warnings reported by clazy. The default copy constructor and copy assignment operator are only valid for simple classes so we delete them (i.e. make then not exist) when we have either a virtual class or a destructor, the code still compiles so this doesn't fix any bug, it is more a protection for when you think you can copy a class and don't realize the default copy constrcutor is not doing what you want and you get crashes. Hopefully this helps us in the future :)
2017-12-19Honor configuration for building glibc copy of strtok_rPekka Vuorela1-0/+3
config.h didn't get included and HAVE_STRTOK_R was never defined. Now getting via glibc.h.
2017-12-13Remove the extern C from glib.hAlbert Astals Cid1-4/+1
Apparently this fixes build with MSVC Bug #103621
2017-12-12windows version for Error out on save if file has changed since we opened itThomas Freitag2-3/+17
2017-12-12Error out on save if file has changed since we opened itAlbert Astals Cid2-3/+25
In poppler we keep the fd of the file open so the XRef+FileStream can locate objects. This is good since we save lots of memory for not having everything on memory all the time, but that means that when we want to save we need the file to be exactly the same as it was when we created the XRef otherwise we're going to be reading from the wrong part of the "new" file. Bug #103793
2017-11-03Update (C) for commits since last releaseAlbert Astals Cid9-4/+36
2017-10-21c++11 has long longAdrian Johnson2-49/+0
2017-10-21Move strtok_r to goo/glibcAdrian Johnson2-0/+98
Move strtok_r out of poppler-config.h as it is not used in any header files Move strtok_r.cpp to goo/glibc_strtok_r.cc to keep it with the other emulated glibc functions. But keep it in a separate file due to the different license.