source: trunk/libs/newlib/src/libgloss/ft32/sbrk.c @ 499

Last change on this file since 499 was 444, checked in by satin@…, 7 years ago

add newlib,libalmos-mkh, restructure shared_syscalls.h and mini-libc

File size: 1.2 KB
Line 
1/* sbrk.c -- allocate memory dynamically.
2 *
3 *
4 * Copyright (C) 2015 FTDI (support@ftdichip.com)
5 *
6 * The authors hereby grant permission to use, copy, modify, distribute,
7 * and license this software and its documentation for any purpose, provided
8 * that existing copyright notices are retained in all copies and that this
9 * notice is included verbatim in any distributions. No written agreement,
10 * license, or royalty fee is required for any of the authorized uses.
11 * Modifications to this software may be copyrighted by their authors
12 * and need not follow the licensing terms described here, provided that
13 * the new terms are clearly indicated on the first page of each file where
14 * they apply.
15 */
16#include <errno.h>
17#include "glue.h"
18
19char *__heap_ptr = (char *)&_end;
20
21/*
22 * sbrk -- changes heap size size. Get nbytes more
23 *         RAM. We just increment a pointer in what's
24 *         left of memory on the board.
25 */
26char *
27_sbrk (nbytes)
28     int nbytes;
29{
30  char *base;
31  char *sp;
32  char canary;
33
34  if ((__heap_ptr + nbytes) < (&canary - 2000))
35    {
36      base = __heap_ptr;
37      __heap_ptr += nbytes;
38      return base;
39    }
40    else
41    {
42      errno = ENOMEM;
43      return ((char *)-1);
44    }
45}
Note: See TracBrowser for help on using the repository browser.