naev 0.11.5
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 );
28char* strndup( const char *s, size_t n );
29
30PRINTF_FORMAT( 3, 4 ) int scnprintf( char* text, size_t maxlen, const char* fmt, ... );
31
32int strsort( const void *p1, const void *p2 );
33int strsort_reverse( const void *p1, const void *p2 );
34
35#define NUM2STRLEN 16
36int num2str( char dest[NUM2STRLEN], double n, int decimals );
37const char* num2strU( double n, int decimals );
38
39void print_with_line_numbers( const char *str );
void print_with_line_numbers(const char *str)
Prints to stderr with line numbers.
Definition nstring.c:175
int num2str(char dest[NUM2STRLEN], double n, int decimals)
Converts a numeric value to a string.
Definition nstring.c:120
char * strnstr(const char *haystack, const char *needle, size_t size)
A bounded version of strstr. Conforms to BSD semantics.
Definition nstring.c:26
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:67
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:163