This repository has been archived on 2023-10-09. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
blender-archive/source/blender/blenlib/BLI_string.h
Brecht Van Lommel 985a4c1e5e RNA:
* Test with constructing RNA paths from pointer + property, based on
  a callback per struct. For animato we'll need to be able to do this,
  for keyframing from buttons, unless we can somehow derive the paths
  from the interface code, which seems like an unnecessary burden.

  However constructing such paths is not always quick, and we need a
  fast way to find out if a property is animated for drawing buttons,
  so this may not be the best solution.

  See rna_mesh.c for some callbacks created as a test.

* Added BLI_sprintfN to mallocN a new string using printf style
  formatting.
2009-03-25 20:29:01 +00:00

107 lines
2.8 KiB
C++

/*
* $Id: BLI_blenlib.h 17433 2008-11-12 21:16:53Z blendix $
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL LICENSE BLOCK *****
*
* $Id: $
*/
#ifndef BLI_STRING_H
#define BLI_STRING_H
#ifdef __cplusplus
extern "C" {
#endif
/**
* Duplicates the cstring @a str into a newly mallocN'd
* string and returns it.
*
* @param str The string to be duplicated
* @retval Returns the duplicated string
*/
char *BLI_strdup(const char *str);
/**
* Duplicates the first @a len bytes of cstring @a str
* into a newly mallocN'd string and returns it. @a str
* is assumed to be at least len bytes long.
*
* @param str The string to be duplicated
* @param len The number of bytes to duplicate
* @retval Returns the duplicated string
*/
char *BLI_strdupn(const char *str, int len);
/**
* Like strncpy but ensures dst is always
* '\0' terminated.
*
* @param dst Destination for copy
* @param src Source string to copy
* @param maxncpy Maximum number of characters to copy (generally
* the size of dst)
* @retval Returns dst
*/
char *BLI_strncpy(char *dst, const char *src, int maxncpy);
/*
* Replacement for snprintf
*/
int BLI_snprintf(char *buffer, size_t count, const char *format, ...);
/*
* Print formatted string into a newly mallocN'd string
* and return it.
*/
char *BLI_sprintfN(const char *format, ...);
/**
* Compare two strings
*
* @retval True if the strings are equal, false otherwise.
*/
int BLI_streq(char *a, char *b);
/**
* Compare two strings without regard to case.
*
* @retval True if the strings are equal, false otherwise.
*/
int BLI_strcaseeq(char *a, char *b);
char *BLI_strcasestr(const char *s, const char *find);
int BLI_strcasecmp(const char *s1, const char *s2);
int BLI_strncasecmp(const char *s1, const char *s2, int n);
void BLI_timestr(double _time, char *str); /* time var is global */
#ifdef __cplusplus
}
#endif
#endif