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