MCPcopy Create free account
hub / github.com/NetHack/NetHack / curses_num_lines

Function curses_num_lines

win/curses/cursmisc.c:248–279  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

246 of the given width */
247
248int
249curses_num_lines(const char *str, int width)
250{
251 int last_space, count;
252 int curline = 1;
253 char substr[BUFSZ];
254 char tmpstr[BUFSZ];
255
256 strncpy(substr, str, BUFSZ-1);
257 substr[BUFSZ-1] = '\0';
258
259 while (strlen(substr) > (size_t) width) {
260 last_space = 0;
261
262 for (count = 0; count <= width; count++) {
263 if (substr[count] == ' ')
264 last_space = count;
265
266 }
267 if (last_space == 0) { /* No spaces found */
268 last_space = count - 1;
269 }
270 for (count = (last_space + 1); count < (int) strlen(substr); count++) {
271 tmpstr[count - (last_space + 1)] = substr[count];
272 }
273 tmpstr[count - (last_space + 1)] = '\0';
274 strcpy(substr, tmpstr);
275 curline++;
276 }
277
278 return curline;
279}
280
281
282/* Break string into smaller lines to fit into a dialog window of the

Callers 7

curses_line_input_dialogFunction · 0.85
menu_is_multipageFunction · 0.85
menu_determine_pagesFunction · 0.85
get_menuitem_yFunction · 0.85
menu_display_pageFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected