On 17-Jan-01 Eric Melville wrote:
> Printing out the whole path to the kernel all the time in syslog messages is
> a bit redundant and ugly, especially seeing that it isn't done for any other
> binaries.
> 
> Should I send-pr this thing too, or is just sending it to -hackers enough?
> 
> --- usr/src/usr.sbin/syslogd/syslogd.c.old    Sat Jan 13 21:20:28 2001
> +++ usr/src/usr.sbin/syslogd/syslogd.c        Sat Jan 13 22:27:44 2001
> @@ -734,8 +734,8 @@
>       int flags;
>  {
>       struct filed *f;
> -     int i, fac, msglen, omask, prilev;
> -     char *timestamp;
> +     int i, fac, msglen, omask, prilev, bflen;
> +     char *timestamp, *bfshort;
>       char prog[NAME_MAX+1];
>       char buf[MAXLINE+1];
>  
> @@ -784,7 +784,16 @@
>  
>       /* add kernel prefix for kernel messages */
>       if (flags & ISKERNEL) {
> -             snprintf(buf, sizeof(buf), "%s: %s", bootfile, msg);
> +             /* ignore path to kernel */
> +             bflen = strlen(bootfile);
> +             bfshort = bootfile;
> +             while(bflen--)
> +                     if(*(bootfile+bflen) == '/')
> +                     {
> +                             bfshort = bootfile+bflen+1;
> +                             break;
> +                     }
> +             snprintf(buf, sizeof(buf), "%s: %s", bfshort, msg);

You could use strrchr(3) here instead of rolling your own loop.  However, this
will print out 'kernel' for every kernel.  If I 'boot kernel.foo' from the
loader, then the bootfile will be /boot/kernel.foo/kernel, and this will trim
the /boot/kenrel.foo/ part.  The kernel.foo part is actually the important
part, however, so I'd prefer it to not do this.

-- 

John Baldwin <[EMAIL PROTECTED]> -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.baldwin.cx/~john/pgpkey.asc
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to