mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-08 08:28:09 +02:00
--- Merging r32449 into '.':
U packages/gmp/src/gmp.pas --- Recording mergeinfo for merge of r32449 into '.': U . --- Merging r32452 into '.': U packages/winunits-base/src/shlobj.pp --- Recording mergeinfo for merge of r32452 into '.': G . --- Merging r32490 into '.': U packages/paszlib/src/gzio.pas --- Recording mergeinfo for merge of r32490 into '.': G . # revisions: 32449,32452,32490 git-svn-id: branches/fixes_3_0@33365 -
This commit is contained in:
parent
f91b665e37
commit
7d34696853
@ -125,22 +125,27 @@ type
|
||||
// ---- ext types with automatic mem mngmt & cow, ~ fpc string type style -----
|
||||
|
||||
IMPBase = interface
|
||||
['{390336B5-6B78-47E0-BB0B-48F3AF9D5CCC}']
|
||||
function refs: longint;
|
||||
end;
|
||||
|
||||
MPInteger = interface(IMPBase)
|
||||
['{F6A977E7-B5E6-42BB-981F-E1A7C7EE0D30}']
|
||||
function ptr: mpz_ptr;
|
||||
end;
|
||||
|
||||
MPFloat = interface(IMPBase)
|
||||
['{73F21043-CC71-425E-9825-1EF0FF4B9B85}']
|
||||
function ptr: mpf_ptr;
|
||||
end;
|
||||
|
||||
MPRational = interface(IMPBase)
|
||||
['{0ACDDB76-5C1A-48E5-96EF-EA8647680FC1}']
|
||||
function ptr: mpq_ptr;
|
||||
end;
|
||||
|
||||
MPRandState = interface(IMPBase)
|
||||
['{0E7EDBB9-E009-4A29-8BAC-8B967404B7B7}']
|
||||
function ptr: randstate_ptr;
|
||||
end;
|
||||
|
||||
|
@ -136,6 +136,7 @@ var
|
||||
doseek,
|
||||
exists,
|
||||
writing : boolean;
|
||||
old_file_mode: byte;
|
||||
begin
|
||||
|
||||
if (path='') or (mode='') then begin
|
||||
@ -227,20 +228,22 @@ begin
|
||||
GetFAttr(s^.gzfile, Attr);
|
||||
exists:=(DosError= 0);
|
||||
{$endif}
|
||||
|
||||
|
||||
doseek:=false;
|
||||
if ((s^.mode='a') and not exists) or (s^.mode='w') then
|
||||
begin
|
||||
|
||||
ReWrite (s^.gzfile,1)
|
||||
ReWrite (s^.gzfile,1)
|
||||
end
|
||||
else
|
||||
begin
|
||||
Reset (s^.gzfile,1);
|
||||
old_file_mode := FileMode;
|
||||
FileMode := 0;
|
||||
Reset (s^.gzfile,1);
|
||||
FileMode := old_file_mode;
|
||||
if s^.mode='a' then
|
||||
doseek:=true; // seek AFTER I/O check.
|
||||
end;
|
||||
|
||||
|
||||
{$POP}
|
||||
if (IOResult <> 0) then begin
|
||||
destroy(s);
|
||||
|
@ -2546,7 +2546,10 @@ type
|
||||
function SHGetMalloc(out ppmalloc: IMalloc):HResult;StdCall; external 'shell32' name 'SHGetMalloc';
|
||||
function SHGetDesktopFolder(out ppshf:IShellFolder):HResult;StdCall; external 'shell32' name 'SHGetDesktopFolder';
|
||||
|
||||
type LPPCITEMIDLIST = ^LPCITEMIDLIST;
|
||||
|
||||
function SHOpenFolderAndSelectItems(pidlFolder:LPCITEMIDLIST;cidl:UINT;var apidl: LPCITEMIDLIST; dwflags: DWORD):HResult;StdCall; external 'shell32' name 'SHOpenFolderAndSelectItems';
|
||||
function SHOpenFolderAndSelectItems(pidlFolder:LPCITEMIDLIST;cidl:UINT; apidl: LPPCITEMIDLIST; dwflags: DWORD):HResult;StdCall; external 'shell32' name 'SHOpenFolderAndSelectItems';
|
||||
//function SHCreateShellItem( pidlParent:LPCITEMIDLIST; psfparent:IShellFolder; pidl: LPCITEMIDLIST pidl; out ppsi: IShellItem):HResult;StdCall; external 'shell32' name 'SHCreateShellItem';
|
||||
function SHGetSpecialFolderLocation( hwnd:HWND; csidl:longint;out ppidl: LPITEMIDLIST):HResult;StdCall; external 'shell32' name 'SHGetSpecialFolderLocation';
|
||||
procedure SHFlushSFCache;StdCall; external 'shell32' name 'SHFlushSFCache';
|
||||
|
Loading…
Reference in New Issue
Block a user