File:  [DVB] / dietlibc / lib / sbrk.c
Revision 1.4: download - view: text, annotated - select for diffs
Sat Jan 12 02:38:32 2002 UTC (22 years, 5 months ago) by fefe
Branches: MAIN
CVS tags: finnland_test_200301, branch_rc14_fieldtest_finnland, branch_rc13_fieldtest_finnland, branch_rc12_fieldtest_finnland, branch_rc10_fieldtest_finnland, RELEASE_finnland_200301_1, RC12_FIELDTEST_FINNLAND, RC10_FIELDTEST_FINNLAND, HEAD
clean up dymbols to make dynamic diet libc work again.

#include <unistd.h>

extern int __libc_brk(void *end_data_segment);

extern void* __curbrk;

void* __libc_sbrk(ptrdiff_t increment);
void* __libc_sbrk(ptrdiff_t increment) {
  void* oldbrk;
  if (__curbrk==0)
    if (__libc_brk(0) < 0)
      return (void*)-1;
  if (increment==0)
    return __curbrk;
  oldbrk=__curbrk;
  if (__libc_brk((char*)oldbrk+increment)<0)
    return (void*)-1;
  return oldbrk;
}

void* sbrk (ptrdiff_t increment) __attribute__((weak,alias("__libc_sbrk")));

LinuxTV legacy CVS <linuxtv.org/cvs>