diff options
author | Wilmer van der Gaast <wilmer@gaast.net> | 2006-03-06 13:15:46 +0100 |
---|---|---|
committer | Wilmer van der Gaast <wilmer@gaast.net> | 2006-03-06 13:15:46 +0100 |
commit | 022e77fee802dfc50b8dce51ac10ea0597f7a64a (patch) | |
tree | f7e5c5eac383d62382420477c0c2fc33d3ffac39 /help.c | |
parent | 26fdfc5c39ebc2ca75ec3fa6e8d697a98d217edc (diff) |
Fixed error handling on empty help topics. (See #109)
Diffstat (limited to 'help.c')
-rw-r--r-- | help.c | 17 |
1 files changed, 8 insertions, 9 deletions
@@ -115,22 +115,21 @@ char *help_get( help_t **help, char *string ) if( g_strcasecmp( h->string, string ) == 0 ) break; h = h->next; } - if( h ) + if( h && h->length > 0 ) { char *s = g_new( char, h->length + 1 ); if( fstat( h->fd, stat ) != 0 ) { g_free( h ); - *help=NULL; - return( NULL ); + *help = NULL; + return NULL; } mtime = stat->st_mtime; - if( mtime > h->mtime ) { - return( NULL ); - return( g_strdup( "Help file changed during this session. Please restart to get help back." ) ); - } + if( mtime > h->mtime ) + return NULL; + s[h->length] = 0; if( h->fd >= 0 ) { @@ -141,8 +140,8 @@ char *help_get( help_t **help, char *string ) { strncpy( s, h->offset.mem_offset, h->length ); } - return( s ); + return s; } - return( NULL ); + return NULL; } |