/****************************************************************************
- * Copyright 2020,2021 Thomas E. Dickey *
+ * Copyright 2020-2021,2022 Thomas E. Dickey *
* Copyright 1998-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include <dump_entry.h>
-MODULE_ID("$Id: infocmp.c,v 1.148 2021/04/03 22:57:56 tom Exp $")
+MODULE_ID("$Id: infocmp.c,v 1.152 2022/02/26 23:25:55 tom Exp $")
#define MAX_STRING 1024 /* maximum formatted string */
}
static char *
-canonical_name(char *ptr, char *buf)
+canonical_name(char *source, char *target)
/* extract the terminal type's primary name */
{
- char *bp;
+ int limit = NAMESIZE;
- _nc_STRCPY(buf, ptr, NAMESIZE);
- if ((bp = strchr(buf, '|')) != 0)
- *bp = '\0';
+ while (--limit > 0) {
+ char ch = *source++;
+ if (ch == '|')
+ break;
+ *target++ = ch;
+ }
+ *target = '\0';
- return (buf);
+ return (target);
}
static bool
/*
* ncurses stores two types of non-standard capabilities:
- * a) capabilities listed past the "STOP-HERE" comment in the Caps file.
+ * a) capabilities listed past the "STOP-HERE" comment in the Caps file.
* These are used in the terminfo source file to provide data for termcaps,
* e.g., when there is no equivalent capability in terminfo, as well as for
* widely-used non-standard capabilities.
#if NO_LEAKS
#define MAIN_LEAKS() \
+ _nc_free_termtype2(&entries[0].tterm); \
+ _nc_free_termtype2(&entries[1].tterm); \
free(myargv); \
free(tfile); \
free(tname)
char **myargv;
char *firstdir, *restdir;
- int c, i, len;
+ int c;
bool formatted = FALSE;
bool filecompare = FALSE;
int initdump = 0;
analyze_string("rmkx", keypad_local, &entries[0].tterm);
#undef CUR
} else {
+ int i;
+ int len;
/*
* Here's where the real work gets done