diff --git a/src/themerc.c b/src/themerc.c index 902f6db..a9d94a0 100644 --- a/src/themerc.c +++ b/src/themerc.c @@ -18,88 +18,92 @@ #include /* read contents of fname into gchar * */ -gchar **trc_open(gchar *fname) { - gint fd; - struct stat fds; - ssize_t rb; - gchar *rc,**rcs; +gchar **trc_open(gchar *fname) +{ + gint fd; + struct stat fds; + ssize_t rb; + gchar *rc, **rcs; - if((fd=open(fname, O_RDONLY))==-1) { - fprintf(stderr, "%s: open() %s failed: %s\n", __FUNCTION__, fname, strerror(errno)); - return NULL; - } - if((fstat(fd, &fds))==-1) { - close(fd); - fprintf(stderr, "%s: fstat() failed: %s\n", __FUNCTION__, strerror(errno)); - return NULL; - } - if(!(fds.st_size)) { - close(fd); - fprintf(stderr, "%s: zero length file.\n", __FUNCTION__); - return NULL; - } - if(!(rc=malloc(fds.st_size+1))) { - close(fd); - fprintf(stderr, "%s: malloc() failed: cannot alloc %d bytes\n", __FUNCTION__, (int)fds.st_size); - return NULL; - } - if((rb=read(fd, rc, fds.st_size))!=fds.st_size) { - free(rc); - close(fd); - if(rb==-1) { - fprintf(stderr, "%s: read() failed: %s\n", __FUNCTION__, strerror(errno)); - } else { - fprintf(stderr, "%s: read() reads less bytes than expected =/\n", __FUNCTION__); - } - return NULL; - } - rc[fds.st_size]=0; - close(fd); - rcs=g_strsplit(rc, "\n", 0); - free(rc); - return rcs; + if ((fd=open(fname, O_RDONLY)) == -1) { + fprintf(stderr, "%s: open() %s failed: %s\n", __FUNCTION__, fname, strerror(errno)); + return NULL; + } + if ((fstat(fd, &fds)) == -1) { + close(fd); + fprintf(stderr, "%s: fstat() failed: %s\n", __FUNCTION__, strerror(errno)); + return NULL; + } + if (!(fds.st_size)) { + close(fd); + fprintf(stderr, "%s: zero length file.\n", __FUNCTION__); + return NULL; + } + if (!(rc=malloc(fds.st_size+1))) { + close(fd); + fprintf(stderr, "%s: malloc() failed: cannot alloc %d bytes\n", __FUNCTION__, (int)fds.st_size); + return NULL; + } + if ((rb=read(fd, rc, fds.st_size)) != fds.st_size) { + free(rc); + close(fd); + if (rb == -1) { + fprintf(stderr, "%s: read() failed: %s\n", __FUNCTION__, strerror(errno)); + } else { + fprintf(stderr, "%s: read() reads less bytes than expected =/\n", __FUNCTION__); + } + return NULL; + } + rc[fds.st_size]=0; + close(fd); + rcs=g_strsplit(rc, "\n", 0); + free(rc); + return rcs; } /* free rc... */ void trc_close(gchar **rcs) { - if(rcs) { - g_strfreev(rcs); - } + if (rcs) { + g_strfreev(rcs); + } } /* return string value for given parameter. if not found retun NULL */ -gchar *trc_get_str(gchar **rcs, gchar *param) { - gint i; - gchar **strval,*val; +gchar *trc_get_str(gchar **rcs, gchar *param) +{ + gint i; + gchar **strval,*val; - if(!rcs) { - fprintf(stderr, "%s called with uninitialised rcs. strange. \n", __FUNCTION__); - return NULL; - } - if(!param) { - fprintf(stderr, "%s called with NULL param. strange. \n", __FUNCTION__); - return NULL; - } - for(i=0;rcs[i];i++) { - if(rcs[i][0] && rcs[i][0]!='#' && (strval=g_strsplit(rcs[i],"=",2)) && strval[0] && strval[1]) { - if(!(strcmp(g_strstrip(strval[0]),param))) { - val=g_strdup(g_strstrip(strval[1])); - g_strfreev(strval); - return val; - } - g_strfreev(strval); - } - } - return NULL; + if (!rcs) { + fprintf(stderr, "%s called with uninitialised rcs. strange. \n", __FUNCTION__); + return NULL; + } + if (!param) { + fprintf(stderr, "%s called with NULL param. strange. \n", __FUNCTION__); + return NULL; + } + for (i=0;rcs[i];i++) { + if (rcs[i][0] && rcs[i][0]!='#' && (strval=g_strsplit(rcs[i],"=",2)) && strval[0] && strval[1]) { + if (!(strcmp(g_strstrip(strval[0]),param))) { + val=g_strdup(g_strstrip(strval[1])); + g_strfreev(strval); + return val; + } + g_strfreev(strval); + } + } + return NULL; } /* return unsigned integer value for given parameter. if not found retun -1 */ gint trc_get_uint(gchar **rcs, gchar *param) { - gchar *val; - gint ret; + gchar *val; + gint ret; - if(!(val=trc_get_str(rcs, param))) return -1; - ret=atoi(val); - g_free(val); - return ret; + if (!(val=trc_get_str(rcs, param))) { + return -1; + } + ret = atoi(val); + g_free (val); + return ret; }