Root/
Source at commit 1079 created 13 years 1 month ago. By meklort, began implimenting Bios disk changes. Code taken from biosfn.c | |
---|---|
1 | /*␉Copyright (C) 2004 Garrett A. Kajmowicz␊ |
2 | ␊ |
3 | ␉This file is part of the uClibc++ Library.␊ |
4 | ␊ |
5 | ␉This library is free software; you can redistribute it and/or␊ |
6 | ␉modify it under the terms of the GNU Lesser General Public␊ |
7 | ␉License as published by the Free Software Foundation; either␊ |
8 | ␉version 2.1 of the License, or (at your option) any later version.␊ |
9 | ␊ |
10 | ␉This library is distributed in the hope that it will be useful,␊ |
11 | ␉but WITHOUT ANY WARRANTY; without even the implied warranty of␊ |
12 | ␉MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU␊ |
13 | ␉Lesser General Public License for more details.␊ |
14 | ␊ |
15 | ␉You should have received a copy of the GNU Lesser General Public␊ |
16 | ␉License along with this library; if not, write to the Free Software␊ |
17 | ␉Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA␊ |
18 | */␊ |
19 | #include <new>␊ |
20 | #include <cstdlib>␊ |
21 | #include <func_exception>␊ |
22 | ␊ |
23 | extern "C" {␊ |
24 | #include "libsaio.h"␊ |
25 | };␊ |
26 | ␊ |
27 | _UCXXEXPORT void* operator new(std::size_t numBytes) throw(std::bad_alloc){␊ |
28 | ␉//C++ stardard 5.3.4.8 requires that a valid pointer be returned for␊ |
29 | ␉//a call to new(0). Thus:␊ |
30 | ␉if(numBytes == 0){␊ |
31 | ␉␉numBytes = 1;␊ |
32 | ␉}␊ |
33 | ␉void * p = malloc(numBytes);␊ |
34 | ␉if(p == 0){␊ |
35 | ␉␉std::__throw_bad_alloc();␊ |
36 | ␉}␊ |
37 | ␉return p;␊ |
38 | }␊ |
39 |