📄 utils.c
字号:
/* Autoconf patching by David Hedbor, neotron@lysator.liu.se *//*********************************************************************//* file: utils.c - some utility-functions *//* TINTIN III *//* (T)he K(I)cki(N) (T)ickin D(I)kumud Clie(N)t *//* coded by peter unold 1992 *//*********************************************************************//* note: changed a little bit for readline support -- daw */#ifdef HAVE_STRING_H#include <string.h>#else#ifdef HAVE_STRINGS_H#include <strings.h>#endif#endif#include "tintin.h"#ifdef HAVE_STDLIB_H#include <stdlib.h>#endif#ifdef HAVE_UNISTD_H#include <unistd.h>#endifvoid syserr();/*********************************************//* return: TRUE if s1 is an abrevation of s2 *//*********************************************/int is_abrev(s1, s2) char *s1; char *s2;{ return(!strncmp(s2, s1, strlen(s1)));}/********************************//* strdup - duplicates a string *//* return: address of duplicate *//********************************/char *mystrdup(s) char *s;{ char *dup; if((dup=(char *)malloc(strlen(s)+1))==NULL) syserr("Not enought memory for strdup."); strcpy(dup, s); return dup;}/*************************************************//* print system call error message and terminate *//*************************************************/void syserr(msg) char *msg;{ extern int errno, sys_nerr; extern char *sys_errlist[]; char s[128]; if (errno > 0 && errno < sys_nerr) sprintf(s, "ERROR: %s (%d: %s)", msg, errno, sys_errlist[errno]); else sprintf(s, "ERROR: %s (%d)", msg, errno); quitmsg(s); /* deleted for readline fprintf(stderr,"ERROR: %s (%d",msg, errno); if(errno>0 && errno<sys_nerr) fprintf(stderr,": %s)\n",sys_errlist[errno]); else fprintf(stderr,")\n"); exit(1); */}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -