Changeset f54b07d


Ignore:
Timestamp:
Feb 26, 2011, 8:10:30 PM (14 years ago)
Author:
David Benjamin <davidben@mit.edu>
Branches:
master, release-1.10, release-1.8, release-1.9
Children:
9620c8d
Parents:
cb6c9e1
git-author:
David Benjamin <davidben@mit.edu> (01/04/11 11:15:08)
git-committer:
David Benjamin <davidben@mit.edu> (02/26/11 20:10:30)
Message:
Use g_get_host_name instead of gethostname and MAXHOSTNAMELEN

This lets us punt thishost from owl_global. g_get_host_name implements
the same localhost fallback, so we really don't need it.

Also, Solaris gets upset about MAXHOSTNAMELEN when you define
_XOPEN_SOURCE=500 without __EXTENSIONS__, if we ever care to get rid of
that. (That said, glib's answer to this is lame. They just hardcode 100
and even forget to NUL-terminate the buffer; POSIX is apparently
braindead and leaves truncation undefined. glibc is kind enough to give
you ENAMETOOLONG.)
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • global.c

    r3472845 rf54b07d  
    99#include "owl.h"
    1010
    11 #ifndef MAXHOSTNAMELEN
    12 #define MAXHOSTNAMELEN 256
    13 #endif
    14 
    1511static void _owl_global_init_windows(owl_global *g);
    1612
    1713void owl_global_init(owl_global *g) {
    18   struct hostent *hent;
    19   char hostname[MAXHOSTNAMELEN];
    2014  char *cd;
    2115  const char *homedir;
    2216
    2317  g_type_init();
    24 
    25   gethostname(hostname, MAXHOSTNAMELEN);
    26   hent=gethostbyname(hostname);
    27   if (!hent) {
    28     g->thishost=g_strdup("localhost");
    29   } else {
    30     g->thishost=g_strdup(hent->h_name);
    31   }
    3218
    3319  g->lines=LINES;
     
    497483time_t owl_global_get_idletime(const owl_global *g) {
    498484  return(time(NULL)-g->lastinputtime);
    499 }
    500 
    501 const char *owl_global_get_hostname(const owl_global *g) {
    502   if (g->thishost) return(g->thishost);
    503   return("");
    504485}
    505486
  • message.c

    r237d02c rf54b07d  
    960960void owl_message_create_from_zwrite(owl_message *m, const owl_zwrite *z, const char *body)
    961961{
    962   int ret;
    963   char hostbuff[5000];
    964962  char *replyline;
    965963 
     
    991989 
    992990  /* save the hostname */
    993   ret=gethostname(hostbuff, MAXHOSTNAMELEN);
    994   hostbuff[MAXHOSTNAMELEN]='\0';
    995   if (ret) {
    996     owl_message_set_hostname(m, "localhost");
    997   } else {
    998     owl_message_set_hostname(m, hostbuff);
    999   }
     991  owl_message_set_hostname(m, g_get_host_name());
    1000992
    1001993  /* set the "isprivate" attribute if it's a private zephyr. */
  • owl.h

    r237d02c rf54b07d  
    594594  int rightshift;
    595595  volatile sig_atomic_t resizepending;
    596   char *thishost;
    597596  char *homedir;
    598597  char *confdir;
  • variable.c

    rd4927a7 rf54b07d  
    466466int owl_variable_tty_set(owl_variable *v, const void *newval)
    467467{
    468   owl_zephyr_set_locationinfo(owl_global_get_hostname(&g), newval);
     468  owl_zephyr_set_locationinfo(g_get_host_name(), newval);
    469469  return(owl_variable_string_set_default(v, newval));
    470470}
Note: See TracChangeset for help on using the changeset viewer.