Ejemplo n.º 1
0
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 */
Ejemplo n.º 2
0
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 */