Freeciv-3.1
Loading...
Searching...
No Matches
client
gui-sdl2
utf8string.c
Go to the documentation of this file.
1
/***********************************************************************
2
Freeciv - Copyright (C) 1996 - A Kjeldberg, L Gregersen, P Unold
3
This program is free software; you can redistribute it and/or modify
4
it under the terms of the GNU General Public License as published by
5
the Free Software Foundation; either version 2, or (at your option)
6
any later version.
7
8
This program is distributed in the hope that it will be useful,
9
but WITHOUT ANY WARRANTY; without even the implied warranty of
10
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
GNU General Public License for more details.
12
***********************************************************************/
13
14
#ifdef HAVE_CONFIG_H
15
#include <fc_config.h>
16
#endif
17
18
#include <string.h>
19
20
/* SDL2 */
21
#ifdef SDL2_PLAIN_INCLUDE
22
#include <SDL_types.h>
23
#else
/* SDL2_PLAIN_INCLUDE */
24
#include <SDL2/SDL_types.h>
25
#endif
/* SDL2_PLAIN_INCLUDE */
26
27
/* utility */
28
#include "
mem.h
"
29
30
#include "
utf8string.h
"
31
32
/**********************************************************************/
35
char
**
create_new_line_utf8strs
(
const
char
*pstr)
36
{
37
static
char
*buf[512];
38
const
char
*start = pstr;
39
size_t
len
= 0, count = 0;
40
41
while
(*start !=
'\0'
) {
42
if
(*pstr ==
'\n'
) {
/* find a new line char */
43
if
(
len
) {
44
buf[count] =
fc_calloc
(
len
+ 1, 1);
45
memcpy(buf[count], start,
len
);
46
}
else
{
47
buf[count] =
fc_calloc
(2, 1);
48
buf[count][0] =
' '
;
49
}
50
start = pstr + 1;
51
len
= 0;
52
count++;
53
}
else
{
54
len
++;
55
}
56
57
pstr++;
58
59
if
(*pstr ==
'\0'
) {
60
if
(
len
!= 0) {
61
buf[count] =
fc_calloc
(
len
+ 1, 1);
62
memcpy(buf[count], start,
len
);
63
count++;
64
}
65
66
buf[count] = NULL;
67
start = pstr;
68
}
69
}
70
71
return
buf;
72
}
mem.h
fc_calloc
#define fc_calloc(n, esz)
Definition
mem.h:38
len
int len
Definition
packhand.c:125
create_new_line_utf8strs
char ** create_new_line_utf8strs(const char *pstr)
Definition
utf8string.c:35
utf8string.h
Generated on Sun Jan 5 2025 22:00:34 for Freeciv-3.1 by
1.9.8