static char * retrieve_string(FILE *fp, char *line, int buffersize) { char *data; char *returned_string; while ((returned_string = fileutil_getline(fp, line, buffersize)) != NULL) { data = get_first_column_data(returned_string); if (data != NULL) return (data); } return (NULL); } /* retrieve_string */
static dfstab_entry_t * get_dfstab_ents(int *err) { dfstab_entry_t *dfstablist, *headptr, *tailptr = NULL; FILE *dfp; /* fp for dfs list */ static char cmd[BUFSIZE]; *err = 0; if ((dfp = fopen(DFSTAB, "r")) != NULL) { char *share_cmd; (void) mutex_lock(&dfstab_lock); while ((share_cmd = fileutil_getline(dfp, cmd, BUFSIZE)) != NULL) { if ((dfstablist = dfstab_line_to_dfstab_entry(share_cmd, err)) != NULL) { if (tailptr == NULL) { headptr = dfstablist; tailptr = dfstablist; } else { tailptr->next = dfstablist; tailptr = dfstablist; } dfstablist = dfstablist->next; } else { free(share_cmd); break; } free(share_cmd); } if (tailptr == NULL) { headptr = tailptr; } (void) mutex_unlock(&dfstab_lock); fclose(dfp); } else { *err = errno; (void) fprintf(stderr, "%s: cannot open %s\n", cmd, DFSTAB); headptr = NULL; } return (headptr); } /* get_dfstab_ents */