islocal.c
来自「Util-linux 软件包包含许多工具。其中比较重要的是加载、卸载、格式化、分」· C语言 代码 · 共 53 行
C
53 行
/* islocal.c - returns true if user is registered in the local /etc/passwd file. Written by Alvaro Martinez Echevarria, alvaro@enano.etsit.upm.es, to allow peaceful coexistence with yp. Nov 94. Hacked a bit by poe@daimi.aau.dk See also ftp://ftp.daimi.aau.dk/pub/linux/poe/admutil* Hacked by Peter Breitenlohner, peb@mppmu.mpg.de, to distinguish user names where one is a prefix of the other, and to use "pathnames.h". Oct 5, 96. 1999-02-22 Arkadiusz Mi秌iewicz <misiek@pld.ORG.PL> - added Native Language Support */#include <stdio.h>#include <stdlib.h>#include <string.h>#include "nls.h"#include "pathnames.h"#include "islocal.h"#define MAX_LENGTH 1024intis_local(char *user){ FILE *fd; char line[MAX_LENGTH]; int local = 0; int len; if(!(fd = fopen(_PATH_PASSWD, "r"))) { fprintf(stderr,_("Can't read %s, exiting."),_PATH_PASSWD); exit(1); } len = strlen(user); while(fgets(line, MAX_LENGTH, fd) > 0) { if(!strncmp(line, user, len) && line[len] == ':') { local = 1; break; } } fclose(fd); return local;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?