+/* vi: set sw=4 ts=4: */
/*
* issue.c: issue printing code
*
* Copyright (C) 2003 Bastian Blank <waldi@tuxbox.org>
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
* Optimize and correcting OCRNL by Vladimir Oleynik <dzo@simtreas.ru>
+ *
+ * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
*/
#include <sys/param.h> /* MAXHOSTNAMELEN */
{
FILE *fd;
int c;
- char buf[256];
+ char buf[256+1];
const char *outbuf;
time_t t;
struct utsname uts;
case 'D':
case 'o':
- getdomainname(buf, sizeof(buf));
- buf[sizeof(buf) - 1] = '\0';
+ c = getdomainname(buf, sizeof(buf) - 1);
+ buf[c >= 0 ? c : 0] = '\0';
break;
case 'd':
{
char buf[MAXHOSTNAMELEN+1];
- gethostname(buf, MAXHOSTNAMELEN);
- fputs(buf, stdout);
+ if(gethostname(buf, MAXHOSTNAMELEN) == 0)
+ fputs(buf, stdout);
fputs(LOGIN, stdout);
fflush(stdout);