naev 0.10.4
nstring.h
1/*
2 * See Licensing and Copyright notice in naev.h
3 */
4#pragma once
5
7#include <stdio.h>
8#include <stdlib.h>
9#include <string.h>
12#include "attributes.h"
13#include "ncompat.h"
14
15#ifdef __MINGW_PRINTF_FORMAT
16 #define BUILTIN_PRINTF_FORMAT __MINGW_PRINTF_FORMAT
17#else
18 #define BUILTIN_PRINTF_FORMAT printf
19#endif
20
25#define PRINTF_FORMAT( i, j ) FORMAT( BUILTIN_PRINTF_FORMAT, i, j)
26
27/*const*/ char *strnstr( const char *haystack, const char *needle, size_t size );
28/*const*/ char *strcasestr( const char *haystack, const char *needle );
29char* strndup( const char *s, size_t n );
30
31PRINTF_FORMAT( 2, 3 ) int asprintf( char** strp, const char* fmt, ... );
32PRINTF_FORMAT( 2, 0 ) int vasprintf( char** strp, const char* fmt, va_list ap );
33PRINTF_FORMAT( 3, 4 ) int scnprintf( char* text, size_t maxlen, const char* fmt, ... );
34
35int strsort( const void *p1, const void *p2 );
36int strsort_reverse( const void *p1, const void *p2 );
37
38#define NUM2STRLEN 16
39int num2str( char dest[NUM2STRLEN], double n, int decimals );
40const char* num2strU( double n, int decimals );
int asprintf(char **strp, const char *fmt,...)
Like sprintf(), but it allocates a large-enough string and returns the pointer in the first argument....
Definition: nstring.c:161
int num2str(char dest[NUM2STRLEN], double n, int decimals)
Converts an electronic warfare value to a string.
Definition: nstring.c:199
int vasprintf(char **strp, const char *fmt, va_list ap)
Like vsprintf(), but it allocates a large-enough string and returns the pointer in the first argument...
Definition: nstring.c:132
char * strnstr(const char *haystack, const char *needle, size_t size)
A bounded version of strstr. Conforms to BSD semantics.
Definition: nstring.c:26
int strsort(const void *p1, const void *p2)
Sort function for sorting strings with qsort().
Definition: nstring.c:108
char * strcasestr(const char *haystack, const char *needle)
Finds a string inside another string case insensitively.
Definition: nstring.c:68
int scnprintf(char *text, size_t maxlen, const char *fmt,...)
Like snprintf(), but returns the number of characters ACTUALLY "printed" into the buffer....
Definition: nstring.c:178
int strsort_reverse(const void *p1, const void *p2)
Order-reversed version of strsort().
Definition: nstring.c:116
char * strndup(const char *s, size_t n)
Return a pointer to a new string, which is a duplicate of the string s (or, if necessary,...
Definition: nstring.c:94
const char * num2strU(double n, int decimals)
Unsafe version of num2str that uses an internal buffer. Every call overwrites the return value.
Definition: nstring.c:230