pg_id.c

来自「关系型数据库 Postgresql 6.5.2」· C语言 代码 · 共 62 行

C
62
字号
/*------------------------------------------------------------------------- * * pg_id.c *	  Print the user ID for the login name passed as argument, *	  or the real user ID of the caller if no argument.  If the *	  login name doesn't exist, print "NOUSER" and exit 1. * * Copyright (c) 1994, Regents of the University of California * * * IDENTIFICATION *	  $Header: /usr/local/cvsroot/pgsql/src/bin/pg_id/pg_id.c,v 1.8 1999/02/13 23:20:29 momjian Exp $ * *------------------------------------------------------------------------- */#include <sys/types.h>#include <pwd.h>#include <stdio.h>#include <stdlib.h>#include <unistd.h>#ifdef __CYGWIN32__#include <getopt.h>#endifintmain(int argc, char **argv){	struct passwd *pw;	int			ch;	extern int	optind;	while ((ch = getopt(argc, argv, "")) != EOF)		switch (ch)		{			case '?':			default:				fprintf(stderr, "usage: pg_id [login]\n");				exit(1);		}	argc -= optind;	argv += optind;	if (argc > 0)	{		if (argc > 1)		{			fprintf(stderr, "usage: pg_id [login]\n");			exit(1);		}		if ((pw = getpwnam(argv[0])) == NULL)		{			printf("NOUSER\n");			exit(1);		}		printf("%ld\n", (long) pw->pw_uid);	}	else		printf("%ld\n", (long) getuid());	exit(0);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?