summaryrefslogtreecommitdiff
path: root/base/gp_win32.c
Commit message (Collapse)AuthorAgeFilesLines
* Update postal address in file headersChris Liddell2023-04-041-3/+3
|
* Allow @file syntax to include files in the ROM file systemKen Sharp2022-11-211-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This started as a customer request, where the customer wanted to store a file in the ROM file system with a bunch of command line parameters in it, and then use the @file syntax to run that file and setup the interpreter. In essence a 'canned' setup stored in the ROM file system. That didn't work, at all, because of a dichotomy in the logic of argument processing. The code used 'lib_file_open' in order to find the file using the search path which, on Ghostscript, includes all the iodevices, Rom file system, RAM file system etc. That function returns a stream which the calling function 'lib_fopen' would then reach inside and pull out the pointer to the underlying gp__file *, and return, because the argument processing was written to use a gp_file *, not a stream *. But.... For the ROM file system, what we store in the 'file' member of the stream is not a gp_file *, its a 'node' *. Trying to use that as a gp_file * rapidly leads to a seg fault. So this commit reworks the argument processing to use a stream * instead of a gp_file *. In reality there is no real difference to the logic we simply use a different call. There are a lot of fiddly references to change unfortunately. There are some consequences; we need to pass stream * around instead of gp_file *, and in particular the 'encoding' functions, which are OS-specific need to use a stream *. This isn't a problem for the interpreters and graphics library, but mkromfs *also* uses those OS-specific files, and it does not have the stream library available. Rather than trying to include it, we note that we don't actually need to use these functions for mkromfs and we do the same hackery as for other missing functionality; we define a stub function that does nothing but will permit the compile to complete.
* Update copyright to 2021Chris Liddell2021-03-151-1/+1
|
* Bug 700404: Make Windows usertime be CPU time, not elapsed time.Ray Johnston2020-08-271-15/+7
| | | | | | | | | Thanks to Peter Cherepanov for this patch (and his patience in having it accepted). Tested with VS 2005, 2008, 2015 and 2019. WIth this change Windows operates like linux. Note that usertime always returns 0 the first time it is called (refer to commit cc156631). This is a bit confusing, but is intentional.
* Update copyright to 2020Chris Liddell2020-04-101-1/+1
|
* Move FILE * operations behind new gp_file * API.Robin Watts2019-05-291-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (squash of commits from filesec branch) Most of this commit is donkeywork conversions of calls from FILE * -> gp_file *, fwrite -> gp_fwrite etc. Pretty much every device is touched, along with the clist and parsing code. The more interesting changes are within gp.h (where the actual new API is defined), gpmisc.c (where the basic implementations live), and the platform specific levels (gp_mswin.c, gp_unifs.c etc where the platform specific implementations have been tweaked/renamed). File opening path validation All file opening routines now call a central routine for path validation. This then consults new entries in gs_lib_ctx to see if validation is enabled or not. If so, it validates the paths by seeing if they match. Simple C level functions for adding/removing/clearing paths, exposed through the gsapi level. Add 2 postscript operators for path control. <name> <string> .addcontrolpath - Add the given <string> (path) to the list of paths for controlset <name>, where <name> can be: /PermitFileReading /PermitFileWriting /PermitFileControl (Anything else -> rangecheck) - .activatepathcontrol - Enable path control. At this point PS cannot make any more changes, and all file access is checked.
* Update source/header file copyright notice to 2019Chris Liddell2019-01-161-1/+1
|
* Update copyright notice with new head office address.Ken Sharp2018-01-301-3/+3
| | | | | | | | | Also update copyright dates. Remove gs_cmdl.ps as we no longer use it, and remove its entry from psfiles.htm. Remove xfonts.htm as this feature (xfont support) is long, long gone.
* Revert the use of gp_get_realtime in pdfwriteKen Sharp2016-05-131-11/+20
|
* Make pdfwrite use the OS-agnostic gp_get_realtime () functionKen Sharp2016-05-121-20/+11
| | | | | | | | | | Also fix the Windows go_get_realtime() function so that it returns the same values as the other OS's The change in time_.h is to prevent the definition of timeval if we have already included windows.h (_WINDOWS_ is defined) as this also defines timeval (actually in winsock.h, claims to be copied from a BSD header).
* VS2015 builds: Tweak to fix bool problems.Robin Watts2016-02-021-1/+1
| | | | | | Always include windows_.h first, wherever we include it. This gets the windows definition of 'bool' in, and we can then override it with our own.
* Commit of build_consolidation branchChris Liddell2015-07-201-0/+182
Squashed into one commit (see branch for details of the evolution of the branch). This brings gpcl6 and gxps into the Ghostscript build system, and a shared set of graphics library object files for all the interpreters. Also, brings the same configuration options to the pcl and xps products as we have for Ghostscript.