Commit Graph
100 Commits
Author SHA1 Message Date
Oliver Tappe 323b65468e Filtered flat import of Oliver's svn package management branch
Bring the changes that aren't package management related and the ones
that are but don't take effect as long as they are ignored by the build
system into the master.

Summary of changes:
* Introduce private header <directories.h> with constants for a good
  deal of paths that should usually be retrieved via find_directory().
* Replace hard-coded paths by using find_directory() or the
  <directories.h> constants (e.g. in drivers and the kernel).
* Add find_directory() constants needed for package management.
* Add __HAIKU_ABI_NAME and B_HAIKU_ABI_NAME macros.
* src/apps/deskbar: BeMenu.* -> DeskbarMenu.*,
  DeskBarUtils.* -> DeskbarUtils.*
* Change deskbar menu settings directory from ~/config/be to
  ~/config/settings/deskbar.
* Other smaller cleanups, changes, and fixes.
2011-11-25 06:17:07 +01:00
Oliver Tappe 8fd51c0819 Use ErrnoMaintainer in setlocale() to protect errno.
* this avoids spurious errno changes leaking into application code,
  which could become confused - i.e. 'rm' on a gcc4 build would always
  prompt for confirmation

I spend a couple of hours hunting down the behavioural difference
between gcc2- and gcc4-builds and it turns out that the reason for that
is that gcc4's libstdc++-code initializes its own locale data via the
POSIX calls, which trigger (correct) errno value changes, which were the
ones leaking into application code.
2011-11-24 23:48:19 +01:00
Oliver Tappe 59e43b2ac9 Add tracing to some locale backend functions. 2011-11-24 23:48:18 +01:00
Oliver Tappe ae90193596 Introduce __set_errno() throughout libroot.
* add errno_private.h, which defines the __set_errno() macro with
  and without tracing
* instead of setting errno manually, all libroot's code now invokes
  __set_errno(), which makes it much easier to trace changes to errno
* redirect glibc's use of __set_errno() to our own version
2011-11-24 23:48:18 +01:00
Oliver Tappe 1f84898190 Let ErrnoMaintainer restore errno unconditionally.
* we never want to let ICU calls change the errno at all, so we always
  restore it to the value it had before entering ICU (not just if it
  was 0)
2011-11-24 23:48:18 +01:00
Oliver Tappe 210361191d Update gcc4 optional package. 2011-11-24 00:26:10 +01:00
Oliver Tappe c33232c167 Update optional gcc2 package. 2011-11-23 20:19:33 +01:00
Oliver Tappe c894d1868e Bring rewritten multibyte-support into repository.
* update copyrights of locale backend files

Multibyte-support has been rewritten to use ICU as backend.
While this does not necessarily work properly in every aspect
(e.g. the shell still has [different] problems with multibyte-
characters now), it does fix #6263 and #7700.
2011-11-23 19:55:34 +01:00
Oliver Tappe 53c09cffcb Actually store & use our assigned TLS-key (OOPS!) 2011-11-23 19:32:17 +01:00
Oliver Tappe 5c112a16ff Reset mbstate to initial in wcrtomb() with 0 wchar. 2011-11-23 19:31:13 +01:00
Oliver Tappe cdb7744bc7 Avoid warning about missing math.h.
* Apparently caused by the fact that we no longer run fixincludes,
  math.h is not being generated anymore. I haven't removed the rm
  from the script in order to be compatible with older compilers.
2011-11-23 17:02:23 +01:00
Oliver Tappe 9161a59746 Fix build of libroot-addon-icu with gcc4. 2011-11-22 23:27:17 +01:00
Oliver Tappe 25389523bd Touch c-gperf.h before building legacy gcc. 2011-11-22 22:28:09 +01:00
Oliver Tappe c51014771d Adjust required legacy gcc version. 2011-11-22 19:00:22 +01:00
Oliver Tappe bb79d18614 Drop no longer needed multibyte stuff from glibc. 2011-11-22 18:56:41 +01:00
Oliver Tappe b4435552a7 Drop our old, limited multibyte implementation. 2011-11-22 18:38:43 +01:00
Oliver Tappe cc5eca7554 Activate our new multibyte implementation.
* add implementations for the following multibyte-related
  functions:
    btwoc()
    mblen()
    mbrlen()
    mbrtowc()
    mbsinit()
    mbtowc()
    wcrtomb()
    wcswidth()
    wctob()
    wctomb()
* the implementation of the above function live in a symbol
  named __<name>, the above symbol names are defined as a weak
  alias to the internal ones - TODO: we need to make sure to
  only invoked the internal functions (i.e. prepended with __)
  in order to avoid problems with symbol preemption.
* deactivate the limited mb implementation we provided before,
  as well as respective stuff from glibc
2011-11-22 18:31:27 +01:00
Oliver Tappe 32a04e8721 Formatting cleanup of B_DEFINE_WEAK_ALIAS macro.
* This doesn't necessarily belong here, but we're going to make use
  of it in the next changeset. Additionally, this change to BeBuild.h
  will trigger a rebuild of nearly all files, and applying it during
  the multibyte-related work will skip another full rebuild ...
2011-11-22 18:19:28 +01:00
Oliver Tappe 28ae43d033 Add multibyte-support to ctype-locale backend.
* add actual converter methods MultibyteToWchar() and WcharToMultibyte()
  to locale backend and implement them in the ctype subpart
* add management code for maintaining converters referenced by mbstate_t
2011-11-22 18:17:58 +01:00
Oliver Tappe 0f21cf0ca0 Define MB_LEN_MAX to 16.
* we follow glibc's example and allow 16 bytes as maximum multibyte
  character length (ICU's data currently shows an actual maximum
  of 8 bytes)
2011-11-22 17:40:45 +01:00
Oliver Tappe e0eb1d38c4 Let MB_CUR_LEN lookup the actual value.
* instead of yielding 1, MB_CUR_LEN now looks up the correct
  value in the ctype data provided by the locale backend
2011-11-22 17:32:39 +01:00
Oliver Tappe fa02fc6907 Adjust mbstate_t to what we need.
* we maintain the character count and the ID of the corresponding
  ICU converter in mbstate_t
2011-11-22 17:23:04 +01:00
Oliver Tappe bf5ff48092 Use TLS and converter manager in locale backend. 2011-11-22 17:17:18 +01:00
Oliver Tappe bcadc4ca66 Start work on multibyte-support in locale backend.
* add ICUThreadLocaleStorageValue, which will be used to maintain
  per-thread ICU converters
* add ICUConverterManager
2011-11-22 16:55:39 +01:00
Oliver Tappe 02606f712c Provide BReferenceable in libreferenceable.a, too.
* the upcoming multibyte-implementation in libroot's ICU locale
  backend is going to use this, so it's not good enough to provide
  BReferenceable only in libbe.so
2011-11-22 16:43:53 +01:00
Oliver Tappe 3a57f54e4d Glibc-features: protect against existing __STDC_ISO_10646__.
* we define it in our compilers now, but glibc expects to define
  this itself - we let our own version overrule
2011-11-22 16:34:18 +01:00
Oliver Tappe 489c0689ec Fix typo in build_cross_tools. 2011-11-22 16:21:06 +01:00
Oliver Tappe fc4fa46848 Fix charset and drop debug output in gnulib-test-btwoc. 2011-11-22 16:21:03 +01:00
Oliver Tappe a1721a7c30 Remove superfluous link to changelog.txt of bonnie++ testsuite.
* Eclipse's Git-plugin chokes on symlinks, and since this is the
  only one in our repo and it isn't needed at all, it has to go
2011-11-19 13:27:30 +01:00
Oliver Tappe e67294d567 Update ReadMe to reflect our switch to Git. 2011-11-12 15:02:42 +01:00
Oliver Tappe acbd89984d Add more tests for wchar/multibyte converter functions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43091 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-02 00:10:54 +00:00
Oliver Tappe 3063b5a05e Add private headers for internal versions of wchar/multibye-functions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43090 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-02 00:09:52 +00:00
Oliver Tappe 3cb4f94295 Add macro to BeBuild.h for declaring a weak alias.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43089 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-02 00:06:53 +00:00
Oliver Tappe cddcc2bea9 Fix MutableLocaleRoster::GetSystemCatalog()
* Using a hardcoded path is bad, since the library folder might
  change and/or the /system/lib/libbe.so may not be the libbe.so
  actually in use. Instead, we now lookup the loaded libbe-image
  and get the entry_ref from its image_info.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43029 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-31 11:00:01 +00:00
Oliver Tappe 312e961c5d Closing #8063:
* touch all .info files before trying to build the gcc4
  buildtools in order to avoid the dependency on makeinfo.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43012 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-30 19:39:12 +00:00
Oliver Tappe 4d9b54c175 Some cleanup in Backround preflet:
* rename a couple of members for imroved clarity
* adjust formatting in header

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42971 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-29 17:12:44 +00:00
Oliver Tappe e54b10160f Close #3223 with patch provided by Humdinger (which I adjusted to the current state of the code).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42964 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-29 16:06:08 +00:00
Oliver Tappe 6846765fbf Work on #7947 (CalendarView not respecting locale's start of week)
* support all weekdays as start of week, not only Sunday and Monday
  (at least Saturday is used for real, too)
* introduce BWeekday as enumeration of weekdays (currently in Locale.h,
  may be moved somewhere else later)
* change CalendarView to use BDate as its model, not individual values
  for day, month and year, such that no more date computation is done 
  in CalendarView itself
* some more style cleanups in CalendarView along the way
* add monthwise paging to CalendarView
* adjusted Deskbar and Time preflet accordingly


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42720 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-07 21:41:57 +00:00
Oliver Tappe aac8a4c3c4 Fix clamping in BDate::AddMonths():
* use _DaysInMonth() instead of DaysInMonth(), as the latter only works
  for valid dates, which we do not have if the day needs to be clamped
  to the maximum value for the current month


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42719 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-07 21:31:06 +00:00
Oliver Tappe 87663db420 Minor cleanup: respect 80-chars line length limit
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42698 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-28 10:15:41 +00:00
Oliver Tappe 1e07062b40 Apply patch by Hamish, closing #7947 - thanks!
* determine first day of week and draw calendarview accordingly
* some cleanup: drop superfluous DateTimeView::Draw()
* automatic whitespace cleanup

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42697 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-27 21:19:56 +00:00
Oliver Tappe 00912ff317 * fix ICU-devel optional package to include link-time libraries (as links to the
actual libs in /system/lib)
* adjust installation code for ICU-devel to generate link for the non-versioned
  form (libicu*.so) and one matching the soname (libicu*.so.48)

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42691 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-26 19:28:39 +00:00
Oliver Tappe a3ab429e07 * improve look of drop target indicator in Locale prefs, as it was too ugly even for
my not so visually inclined taste - we now use a gradient which IMHO gives much
  more pleasant results
* add TODO about whether or not code for drawing drop target inidicators should be
  added to ControlLook (or some other class with similar purpose)


  

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42689 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-25 20:20:32 +00:00
Oliver Tappe f6102c6fba Improve drag'n'drop in Locale preflet:
* following a hint by Stephan: implement drawing of a drop target indicator,
  a global one (bounds) for the available languages and an individual drop target 
  indicator ("between" the items) for the preferred languages
* fix drag'n'drop within preferred languages listview
* finish support for manipulating multiple items in preferred languages listview


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42686 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-24 22:06:24 +00:00
Oliver Tappe 04c60f4472 * fix stuck loops in Replace...() on single chars in case the old and new character
are the same (Eclipse was complaining about 'assignment to self', which got me 
  looking at the code ...)

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42682 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-23 19:59:50 +00:00
Oliver Tappe 56a2d99762 * add tests for BString that expose a problem in the looping Replace() implementations
on single chars
* automatic whitespace cleanup

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42681 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-23 19:55:46 +00:00
Oliver Tappe 886b38122b Fix icu library extraction for ppc (and unite that jam-block with x86)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42676 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-22 21:15:34 +00:00
Oliver Tappe dd1bc982f2 Follow hint by Marcus and make colors static *const*.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42672 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-21 21:30:24 +00:00
Oliver Tappe bafd229765 Fix typo that (suprisingly only) broke the gcc4 build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42671 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-21 21:28:24 +00:00
Oliver Tappe ed32703038 Fix drawing artefacts in Locale prefs (and IMHO improve the look):
* separate LanguageListItemWithFlag from LanguageListItem
* draw the flag in front of the text instead of at wherever the right bounds happen to
  be, fixing the drawing artefacts when scrolling
* size the flag to match the size of the list item, which looks much better when
  using a largish default font
* use StringItem::BaselineOffset() instead of manually computed (and wrong) offset
  when drawing the text


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42667 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-21 17:24:27 +00:00
Oliver Tappe e267238ff1 * add predicate FormattingConventions::AreCountrySpecific()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42666 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-21 17:18:31 +00:00
Oliver Tappe 7ba0381def * add protected accessor for baseline offset to StringItem, as that value is of
interest to derived classes

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42665 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-21 17:17:13 +00:00
Oliver Tappe 5b059ce378 Drop TODO since the commented code doesn't have any effect and nothing else seems to be
missing either.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42655 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-21 10:20:15 +00:00
Oliver Tappe e32a379a72 Minor cleanup: match indentation level with styleguide.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42654 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-21 10:03:51 +00:00
Oliver Tappe e621fc3198 * minor formatting cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42651 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-20 20:36:41 +00:00
Oliver Tappe fefa98aaf8 Translate all regions in Time prefs
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42649 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-20 18:38:20 +00:00
Oliver Tappe 480a26bc39 Update icu packages again:
* update icu packages for x86 in order to incorporate a fix
* add updated icu package for ppc, too

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42646 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-20 13:56:43 +00:00
Oliver Tappe 45f2f22b52 * update (not-so-)optional package ICU to 4.8.1, which contains interesting stuff
for message formatting
* adjust LocaleKit to use namespace 'icu', as ICU has been configured to no longer
  use a version specific namespace
* adjust LocaleKit to general API changes in ICU 4.8
Note: all software using ICU (like WebPositive) needs to be rebuilt!
Note: the ICU package for PPC needs to be updated before it can be used!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42638 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-18 22:13:06 +00:00
Oliver Tappe 8d22d5a76b * fix build of Debugger with gcc2
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42197 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-15 20:25:50 +00:00
Oliver Tappe 1b3d2b0c46 Simplify haiku-revision for git, now that we provide revision-tags in our central git repo:
* instead of describing the changeset from perspective of the current branch's root,
  we describe it relative to the last reachable hrev-tag


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41979 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-06 18:20:38 +00:00
Oliver Tappe d9a26469df Fix #6969 (hopefully for real this time):
* move all the isw... functions from wchar.h to wctype.h (just following version 7
  of the POSIX base specs)
* remove all declarations from wchar.h that are in wctype.h, too


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41832 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-30 18:44:22 +00:00
Oliver Tappe 38f67a9da3 Update ICU packages for r1a3.
+alpha3

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41819 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-29 22:10:41 +00:00
Oliver Tappe 2fe19bf6ac Adjusted code for determining the revision in order to hopefully work on FreeBSD, too
* convert determine_haiku_revision to only contain functions and now pass the arguments 
  via function call


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41539 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 16:11:42 +00:00
Oliver Tappe 8ff44a4329 Fix and improve code for determining Haiku revision from a git repo
* break out most of the CopySetHaikuRevision action into a separate script:
  determine_haiku_revision
* fix git branch detection such that it'll actually work for local branches (thanks to 
  Andreas Färber for the hint)
* add some sanity checks


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41520 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-15 22:45:43 +00:00
Oliver Tappe 6a5ce30120 Move functions declared in private/system/system_info.h out of the public namespace.
* prepend private functions get_system_info_etc(), start_watching_system() and 
  stop_watching_system() with '__'
* adjust callers accordingly


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41517 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-15 17:02:36 +00:00
Oliver Tappe 22a7fe9695 Cleanup system-revision stuff.
* move system_revision.h to headers/private/libroot
* unify libroot's get_system_revision() (the one I introduced recently) with kernel's
  get_haiku_revision(), the function is now called get_haiku_revision() in the kernel
  and __get_haiku_revision() in libroot
* system_revision.c is now being built as part of libroot and as part of the kernel
* adjusted all callers of get_system_revision() accordingly


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41516 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-15 16:33:30 +00:00
Oliver Tappe 9160cdc297 * adjust AboutSystem to fetch the system revision via
get_system_revision() instead of parsing it from utsname

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41480 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-13 20:38:19 +00:00
Oliver Tappe a961bbc69d * move sHaikuRevision from uname.c into new system_revision.c
* add private function get_system_revision() for accessing the
  revision string
* adjust uname to use get_system_revision

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41479 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-13 20:38:14 +00:00
Oliver Tappe 64c5bc6323 * add support for generating a useful haiku-revision from a
git repository

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41478 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-13 20:38:02 +00:00
Oliver Tappe af2da315dc Fix the larger problem that was hiding behind the build problem of set_haiku_revsion on FreeBSD:
* the length of the sHaikuRevision character array symbol needs to be set explicitly,
  as using either _SYS_NAMELEN or sizeof(utsname::version) will only return the values
  for the host, which may not match ours, thus potentially causing problems when using
  sHaikuRevision
* add headers/private/system_revision.h which defines SYSTEM_REVISION_LENGTH to 128
* adjust definitions of sHaikuRevision in libroot and kernel accordingly
utsname::version is shorter than SYSTEM_REVISION_LENGTH, but that doesn't cause any harm
until we have indeed switched to a DVCS (in which case longer revision strings will be 
cut off by 'uname').


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41421 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-10 15:35:04 +00:00
Oliver Tappe cb666277a7 Revert part of r41389 that injured binary compatibility (rightly pointed out by Axel)
* length of utsname members must stay at length of 32
This will work just the same for now. When using a DVCS yields longer revisions, we need to adjust AboutSystem to fetch the full revision directly from the ELF section '_haiku_revision' (as found in libroot.so or libbe.so).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41392 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-08 21:51:58 +00:00
Oliver Tappe 6250297a08 Switch haiku-revision from uint32 to string, as that's going to be required soon, no matter if we switch to Git or Mercurial
* increase _SYS_NAMELEN defined in sys/utsname.h to 128 to allow long(ish) revisions
* sHaikuRevision is now a static character array (in both libroot and kernel)
* adjust build tool set_haiku_revision to write the revision as string


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41389 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-08 20:02:42 +00:00
Oliver Tappe 2a06b5bdba Closing #6721: avoid unescaping when linking catalogs together
* add SetRawString() to both implementations of DefaultCatalog which sets
  the translated string as given
* use SetRawString() in both (standard- and build-)versions of linkcatkeys


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41167 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-02 13:37:59 +00:00
Oliver Tappe e8226ce48d * fix support for influencing tzset() via TZ environment variable
(now at least <std> and <offset> are supported properly)
* instead of creating a TimeZone object whenever needed, we now
  create it in tzset() and keep it around
* add tests for TZ to locale_test

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40788 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-03 00:34:51 +00:00
Oliver Tappe a04f2e614a * fix out-of-bounds access to fFieldsPositions when drawing separator
(found by running the preflet with debug heap and guard pages)
* avoid leaking of field- and field-position-arrays when fetching them
  via BLocale-method

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40538 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-16 19:25:19 +00:00
Oliver Tappe 90433c431e * minor cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40537 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-16 19:22:43 +00:00
Oliver Tappe fff761afab Closing #7227:
* fix debug-heap's handling of page-guarded allocations in realloc()
* let calloc() use page-guarded allocations, too, if requested


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40533 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-16 17:42:23 +00:00
Oliver Tappe 1d8dff0197 * improve locale roster to no longer rely on static object
initialization order
This was meant to fix #7227, but just seems to have bypassed it - the crash is now somewhere else ... needs more investigation

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40529 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-16 15:27:33 +00:00
Oliver Tappe 51974c5df0 Make libbind buildable in DEBUG mode, too:
* fix strange overloads of functions via macros that doesn't work
  (and I can't see how it ever would, but what the heck)
* don't force-define DEBUG in libbind/resolv, follow our build system's
  idea of DEBUG instead
* fix libbind/isc/tree.c expecting DEBUG to contain a string

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40528 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-16 15:24:22 +00:00
Oliver Tappe efccf04aaf Second (and last) part of fixing #7226:
* fix most obvious problems in parseQuotedChars()
* drop separate HashMapCatalog in tools-folder, which isn't much 
  different from the original one (we now just use that one instead)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40527 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-16 10:53:46 +00:00
Oliver Tappe 8a990d5228 Part of fixing #7226:
* the libbe_build version of BString was broken, at least with respect
  to LockBuffer() on an empty string - replaced the implementation and
  header with our current version (keeping the type-related changes
  required by the build-version)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40526 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-16 10:13:12 +00:00
Oliver Tappe 9f209e77b8 Fix minor issue in BString I noticed when researching #7226:
* if _MakeWritable() fails, LockBuffer() must return NULL, not what
  happens to be in fPrivateData

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40525 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-16 10:11:49 +00:00
Oliver Tappe f5644b8d3b * prefer HashSet and HashMap to respective std-classes where possible
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40518 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-15 18:52:03 +00:00
Oliver Tappe 07b37bb0a0 * fix value of all enumeration types that are stored as part of a
package or repository file

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40517 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-15 18:33:19 +00:00
Oliver Tappe ead4d20c7a * 'pkgman list-repo -v' now shows more detailed info (from repo-cache)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40510 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-15 15:48:02 +00:00
Oliver Tappe c9acc4f8cd * implemented reading of package-infos in BRepositoryCache
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40509 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-15 15:47:20 +00:00
Oliver Tappe 2b6e6760b6 * add listing of repository attributes to 'package_repo list'
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40508 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-15 12:48:02 +00:00
Oliver Tappe 34d56c1bf5 * implemented repository reader and fixed some bugs in writer that
have been exposed during testing of reader

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40494 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-14 20:25:10 +00:00
Oliver Tappe c2388992ec * added embedding of license texts that need approval into repository
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40491 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-14 17:24:50 +00:00
Oliver Tappe 36d702ec79 * read package attributes before reading the TOC, as that allows to
take action in the content-handler that depend on the values of
  package attributes

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40490 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-14 17:23:43 +00:00
Oliver Tappe d662b8345f * moved BlockBufferCacheNoLock into package kit
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40489 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-14 17:22:31 +00:00
Oliver Tappe c823de957b * minor whitespace cleanup, no functional change
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40488 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-14 17:20:14 +00:00
Oliver Tappe ad6a8dbe2b Pulled reusable stuff from PackageReaderImpl into new class ReaderImplBase.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40485 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-14 13:09:09 +00:00
Oliver Tappe 05b101b223 Cleanup following up on r40466:
* remove commented methods no longer being used


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40471 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-12 22:09:47 +00:00
Oliver Tappe 33bc4425be Largish adjustments to PackagerReaderImpl and package attribute
handling:
* package attributes are now compatible with the low level attribute
  handling of other HPKG attributes (such that 'package dump' now shows 
  package attributes, too)
* dropped type names from hpkg format, the attributes were identified
  by IDs already and this simplifies the code considerably. Type names
  are now handled in BLowLevelPackageHandler only.
* instead of rolling their own mechanism, high-level package attributes 
  handling is now implemented via a corresonding set of 
  AttributeHandler-subclasses
* adjusted package writer to only write package attributes that are
  needed (empty ones are left out)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40466 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-12 19:21:37 +00:00
Oliver Tappe 129e6b943f Disallow the use of 'any' as repository architecture
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40430 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-10 19:40:38 +00:00
Oliver Tappe 45d9aa68ff Fix header guard (in comment)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40428 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-10 19:09:14 +00:00
Oliver Tappe 84d9977244 * add support to storing names and texts of licenses that require
approval to repository-info

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40427 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-10 19:07:21 +00:00
Oliver Tappe 4dcc52327b Fix problems in repository writer
* actually write the checksum
* compress the repository info archive, too (handle it as separate
  section)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40426 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-10 19:05:35 +00:00
Oliver Tappe 91ebce663d Some cleanup, no functional change
* typedef base classes as 'inherited' and use that instead of the
  explicit base class name
* remove superfluous scopes in case blocks


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40420 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-10 17:16:35 +00:00