* added some new minor deprecations (mostly unused constants that are
potentially not crossplatform, and an shortstring version of a function)
git-svn-id: trunk@21321 -
- do not compile ipc unit for android, not supported
- fix geterrnolocation external name
- implement dummy getdomainname; does not exist in android
- remove wrong 'if defined(android)' clauses
git-svn-id: branches/targetandroid@21065 -
o AIX-specific codepage names
o AIX/ppc32 uses a 16 bit wchar_t
o special support for handling cp866 on AIX: AIX only supports converting
cp866 from/to ISO8859-5 -> always use that code page as an intermediate
one on AIX (it's lossy, but better than completely failing)
* in case the default system code page cannot be detected, fall back to
UTF-8
git-svn-id: trunk@20839 -
- replace ifndef ver2_4 with ifdef FPC_HAS_CPSTRING for places with TextRec.CodePage access
- convert codepages for Read and Write text file operations
git-svn-id: trunk@19545 -
This change is required since CodePage to CodePage name conversions are required in other parts of RTL. Moreover those codepage identifiers are windows codepage identifiers and thus must be compatible with codepage identifiers used by delphi.
git-svn-id: trunk@19330 -
- fixed a platform modifier in ipc.pp
- fixed different layout sigaction record in libc. (field order)
- fixed many bad use_libc fixes in linux. Most of these were only checked
for compilation, not linking. (e.g. futex doesn't link)
git-svn-id: trunk@18042 -
* also fixes CharLengthPChar() for non-BeOS by initialising the mbstate
parameter passed to mbrlen() to 0 (otherwise its contents are interpreted
as already valid, containing information about the current shiftstate etc)
git-svn-id: trunk@16552 -
Pablo Alfaro (mantis #14075, also fixes#13363):
* ipc msgtyp is clong, not cint
* TIPC_Perm and TSEMid_ds are different on 64 bit systems
* fixed passing semun arguments (have to be passed by value, not reference)
* fixed the order of parameters to msg* syscalls, and don't use
TIPC_Kludge for msgrcv syscall (only for ipccall.inc variants)
* use new operation variants on 64 bit platforms in ipccall.inc
* introduced use kernel_mode/uid/gid_t types for use by the Linux ipc
records
* fixed type of TSEMid_ds.sem_base for Darwin
* added {$packrecords c} to ipc unit, and {$packrecords 4} around
certain structs for Darwin as in the C headers
* fixed passing semun argument to semctl for libc platforms (by
value, not reference)
git-svn-id: trunk@16336 -
cwstring (fixes webtbs/tw17591.pp on unix platforms)
* enhanced webtbs/tw17591.pp so it also (superficially) checks the
correctness of the called routines, and add cwstring for unix platforms
git-svn-id: trunk@16298 -
+ Add sched_yield to linux unit
- Remove clone for m68k from linux unit (unimplemented assembler section)
+ Add fpsigtimedwait to baseunix unit
git-svn-id: trunk@15602 -
pthread_self(), because it's a procvar under Linux and hence otherwise
the value of the procvar instead of the function result will be
taken (mantis #15821)
git-svn-id: trunk@15049 -
tested on FreeBSD (general Unix) and Windows. Note that Haiku seems
to have a native threadmgr rather than the Unix one. Will notify
maintainer (Olivier)
git-svn-id: trunk@15026 -
* Haiku's nl_langinfo implementation is now used under Haiku instead of
the BeOS stub.
* Fix linking to iconv in the iconvenc package. The prefix has change
since the previous Haiku's version.
git-svn-id: trunk@14995 -
This means it is not aliased in the body of the system unit (which causes
trouble with the delphi type of the same name), but baseunix/unix/unixtype
will containue to export the type.
git-svn-id: trunk@14584 -
race conditions in case DoTerminate can cause the thread to be freed
already. Side-effect: changing FreeOnTerminate in DoTerminate no longer
has any effects, but this is compatible with the generic code for
ThreadProc in objpas/classes/classes.inc (patch by Nikolai ZHUBR)
git-svn-id: trunk@14504 -
locked, but not when another error occurs (such as EsysNOLCK, because
this error may always be returned if the kernel doesn't support
locking, in which case programs such as fpcmake no longer work on
such systems)
git-svn-id: trunk@14350 -
on systems that force ugetrlimit, use that transparently. (since
ugetrlimit is not posix in theory or practice, we can't export it),
resolves 13916
git-svn-id: trunk@13903 -
for BeOS and Haiku.
* BeOS : the terminal is very limited. Disabling both give best result.
* Haiku : Haiku's terminal claims to be xterm but has it's own problems.
git-svn-id: trunk@13741 -
* disabled linux VCSA output in UTF-8 mode, because it does not do any translation
and assumes that the font is cp437, or similar, which looks horrible on fonts
(like fedora's default latarcyrheb-sun16), which are designed only for unicode
support and have no similarity at all to cp437. We already can display all the
cp437 characters in UTF-8 mode (including the low 32 characters), in case the
font is cp437, and the UTF-8 translation provides better approximation (e.g.
for the line drawing characters) if the font is not cp437.
* do not "restore" the linux system font in SysDoneVideo in UTF-8 mode,
since we didn't change the font on startup
* added try_grab_vcsa to try harder to open VCSA in the linux IDE user
screen restore code. While VCSA is no longer needed in the video unit on
UTF-8 systems, the IDE still needs it, because it's the only way to provide
the "restore user screen" functionality on the linux virtual console.
git-svn-id: trunk@13726 -
modern Linuxes by a patch for UTF-8 console output.
Previously, only BeOS used UTF-8. Tested with:
- the linux console
- xterm
- gnome-terminal
- konsole
- rxvt-unicode
using Fedora 11.
Tested with
- gnome-terminal
- xterm
- konsole
using Ubuntu 9.04
Known "features":
* high intensity colours were actually normal intensity, with a bold attribute set.
This worked fine under gnome-terminal, but xterm didn't have bold versions of all cp437 characters,
which screwed up the window borders in the IDE. And although konsole had them, I didn't like the font -
it converted all the double window borders to a very thick single-line border.
So I disabled the bolding of high intensity colours in all X11 terminals (TERM=xterm)
and replaced it with another ANSI attribute, that actually sets high intensity
colours, but is not (in theory) supported by all terminals. The linux console doesn't
support it - it actually wants a bold attribute, to set high intensity,
so that's why I enabled it only for X11 terminals. All the ones,
that I tried, worked fine (xterm, gnome-terminal,
konsole, rxvt-unicode, also the plain old rxvt, with a non-UTF-8 locale).
* Fedora 11 by default uses a 512-characters font, called latarcyrheb-sun16
for the linux text mode console, which disables the high intensity colours,
effectively reducing the set of available colours to only 8.
This is a hardware limitation of the VGA hardware and can be avoided by
using a 256-character font. It does not need to be cp437,
but it has to have an unicode mapping.
* I haven't tried other linux distros (and unix-like OSes, i.e. FreeBSD and Mac OS X) -
although they should work in theory, they might look bad, due to different fonts, etc.
git-svn-id: trunk@13651 -
terminals with kbAltLeft. Only applied to Haiku to stay on the safe side.
Fix use of up, down and right arrow keys in fpide under Haiku
(mantis #14491)
git-svn-id: trunk@13644 -
starts with './' (mantis #14020)
* also mark files whose name starts with '.' that are found in subdirectories
as faHidden (not reported, but was due to a similar error)
- removed some unused variables related to the Find* functionality
git-svn-id: trunk@13307 -
from byte into tcrtcoord=1..255, since all crt unit coordinates are
1-based (not for Window() procedure, see comments in crth.inc;
mantis #13788)
git-svn-id: trunk@13191 -
unit's initialization code in case we're in a library
+ implemented InquireSignal(), AbandonSignalHandler(), HookSignal() and
UnhookSignal() in the sysutils unit
* for Kylix compatibility, these routines support operating on
SIGINT and SIGQUIT as well, although they are not hooked by default
by FPC. The run time errors/exception codes for these signals are
resp. 217 and 233 (same as in Kylix; I changed ENoWideStringSupport
to 234).
* changed the BSD syscall version of fpsigaction to use pointer
rather than "var" arguments (compatible with other targets, and
required to be able to pass nil arguments inside the system unit)
-> together fixes mantis #12704
git-svn-id: trunk@13077 -
not contain wildcards + test
* don't return true from FindGetFileInfo if the file name is ok, but the
search attributes don't match (resulted in returning multiple times the
name of the previous entry that did fulfill all requirements)
git-svn-id: trunk@13074 -