18c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania/* 28c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania * Copyright (C) 2009 The Android Open Source Project 38c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania * All rights reserved. 48c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania * 58c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania * Redistribution and use in source and binary forms, with or without 68c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania * modification, are permitted provided that the following conditions 78c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania * are met: 88c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania * * Redistributions of source code must retain the above copyright 98c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania * notice, this list of conditions and the following disclaimer. 108c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania * * Redistributions in binary form must reproduce the above copyright 118c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania * notice, this list of conditions and the following disclaimer in 128c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania * the documentation and/or other materials provided with the 138c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania * distribution. 148c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania * 158c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 168c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 178c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 188c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 198c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 208c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 218c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS 228c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 238c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 248c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 258c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 268c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania * SUCH DAMAGE. 278c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania */ 288c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania 298c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania#include <cstring> 30b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turner#if defined BIONIC && !defined BIONIC_LIBSTDCPP_INCLUDE_CSTRING__ 318c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania#error "Wrong header file included!!" 328c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania#endif 338c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania 348c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catanianamespace { 358c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniaconst int kPassed = 0; 368c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniaconst int kFailed = 1; 378c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania#define FAIL_UNLESS(f) if (!android::f()) return kFailed; 388c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania} // anonymous namespace 398c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania 408c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catanianamespace android 418c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania{ 428c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::memchr; 438c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::memcmp; 448c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::memcpy; 458c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::memmove; 468c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::memset; 478c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::strcat; 488c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::strchr; 498c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::strcmp; 508c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::strcoll; 518c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::strcpy; 528c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::strcspn; 538c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::strerror; 548c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::strlen; 558c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::strncat; 568c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::strncmp; 578c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::strncpy; 588c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::strpbrk; 598c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::strrchr; 608c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::strspn; 618c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::strstr; 628c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::strtok; 638c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::strxfrm; 648c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania 658c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania#ifndef NULL 668c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania#error "NULL must be a macro" 678c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania#endif 688c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania 698c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniavolatile std::size_t size; 708c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania 718c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania} // namespace android 728c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania 738c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniaint main(int argc, char **argv) 748c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania{ 758c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania return kPassed; 768c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania} 77