13d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby/* 23d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * Copyright (C) 2014 The Android Open Source Project 33d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * 43d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * Licensed under the Apache License, Version 2.0 (the "License"); 53d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * you may not use this file except in compliance with the License. 63d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * You may obtain a copy of the License at 73d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * 83d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * http://www.apache.org/licenses/LICENSE-2.0 93d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * 103d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * Unless required by applicable law or agreed to in writing, software 113d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * distributed under the License is distributed on an "AS IS" BASIS, 123d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 133d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * See the License for the specific language governing permissions and 143d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * limitations under the License. 153d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby */ 163d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 173d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#ifndef XPL_STRINGUTIL_H 183d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#define XPL_STRINGUTIL_H 193d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 203d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby/** 213d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby \file xpl_StringUtil.h 223d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby \brief The xpl_StringUtil.h header file contains function prototypes for basic string operations. 233d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby <b>Warning:</b> All functions, structures, and classes from this header file are for internal usage only!!! 243d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby*/ 253d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 263d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby/************** HEADER FILE INCLUDES *****************************************/ 273d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#include "stdlib.h" 283d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#include "string.h" 293d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#include "stdio.h" 303d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#include "xpl_Types.h" 313d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 323d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby/************** FUNCTIONS ****************************************************/ 333d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 343d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby/** Definition function xplStrlen for cross platform support*/ 353d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#define xplStrlen(str) ((str!=XPL_NULL)? strlen(str):0) 363d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 373d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby/** Definition function xplStrcpy for cross platform support*/ 383d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#define xplStrcpy(target, source) strcpy(target, source) 393d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 403d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby/** Definition function xplStrncpy for cross platform support*/ 413d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#define xplStrncpy(target, source, count) strncpy(target, source, count) 423d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 433d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby/** Definition function xplStrcat for cross platform support*/ 443d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#define xplStrcat(target, source) strcat(target, source) 453d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 463d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby/** Definition function xplStrncat for cross platform support*/ 473d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#define xplStrncat(target, source, count) strncat(target, source, count) 483d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 493d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby/** Definition function xplStrcmp for cross platform support*/ 503d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#define xplStrcmp(target, source) strcmp(target, source) 513d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 523d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby/** Definition function xplStrncmp for cross platform support*/ 533d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#define xplStrncmp(target, source, count) strncmp(target, source, count) 543d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 553d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby/** Definition function xplStrchr for cross platform support*/ 563d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#define xplStrchr(source, target) strchr(source, target) 573d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 583d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby/** Definition function xplStrrchr for cross platform support*/ 593d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#define xplStrrchr(source, target) strrchr(source, target) 603d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 613d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby/** Definition function xplStrstr for cross platform support*/ 623d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#define xplStrstr(source, target) strstr(source, target) 633d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 643d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby/** Definition function xplTolower for cross platform support*/ 653d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#define xplTolower(source) tolower(source) 663d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 673d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby/** Definition function xplAtoi for cross platform support*/ 683d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#define xplAtoi(source) atoi(source) 693d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 703d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby/** Definition function xplAtol for cross platform support*/ 713d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#define xplAtol(source) atol(source) 723d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 733d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby/** Definition function xplAtoll for cross platform support*/ 743d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#define xplAtoll(source) atoll(source) 753d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 763d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby/** Definition function xplSprintf for cross platform support*/ 773d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#define xplSprintf sprintf 783d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 793d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby/** Definition function xplSnprintf for cross platform support*/ 803d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#define xplSnprintf snprintf 813d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 823d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby/** Definition function xplSscanf for cross platform support*/ 833d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#define xplSscanf sscanf 843d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 853d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#endif /* XPL_STRINGUTIL_H */ 86