room_left -= (strlen (first_unused) +1); first_unused += strlen (first_unused) +1;
room_left -= (len + 1); first_unused += (len + 1);
_nss_nisplus_parse_pwent (nis_result *result, struct passwd *pw,			  char *buffer, size_t buflen, int *errnop){  char *first_unused = buffer;  size_t room_left = buflen;  if (result == NULL)    return 0;  if ((result->status != NIS_SUCCESS && result->status != NIS_S_SUCCESS)      || result->objects.objects_len != 1      || __type_of (result->objects.objects_val) != NIS_ENTRY_OBJ      || strcmp (result->objects.objects_val->EN_data.en_type,		 "passwd_tbl") != 0      || result->objects.objects_val->EN_data.en_cols.en_cols_len < 7)    return 0;  if (NISENTRYLEN (0, 0, result) >= room_left)    {      /* The line is too long for our buffer.  */    no_more_room:      *errnop = ERANGE;      return -1;    }  strncpy (first_unused, NISENTRYVAL (0, 0, result),	   NISENTRYLEN (0, 0, result));  first_unused[NISENTRYLEN (0, 0, result)] = '\0';  pw->pw_name = first_unused;  room_left -= (strlen (first_unused) +1);  first_unused += strlen (first_unused) +1;  if (NISENTRYLEN (0, 1, result) >= room_left)    goto no_more_room;  strncpy (first_unused, NISENTRYVAL (0, 1, result),	   NISENTRYLEN (0, 1, result));  first_unused[NISENTRYLEN (0, 1, result)] = '\0';  pw->pw_passwd = first_unused;  room_left -= (strlen (first_unused) +1);  first_unused += strlen (first_unused) +1;  if (NISENTRYLEN(0, 2, result) >= room_left)    goto no_more_room;  strncpy (first_unused, NISENTRYVAL (0, 2, result),	   NISENTRYLEN (0, 2, result));  first_unused[NISENTRYLEN (0, 2, result)] = '\0';  pw->pw_uid = atoi (first_unused);  room_left -= (strlen (first_unused) +1);  first_unused += strlen (first_unused) +1;  if (NISENTRYLEN (0, 3, result) >= room_left)    goto no_more_room;  strncpy (first_unused, NISENTRYVAL (0, 3, result),	   NISENTRYLEN (0, 3, result));  first_unused[NISENTRYLEN (0, 3, result)] = '\0';  pw->pw_gid = atoi (first_unused);  room_left -= (strlen (first_unused) +1);  first_unused += strlen (first_unused) +1;  if (NISENTRYLEN(0, 4, result) >= room_left)    goto no_more_room;  strncpy (first_unused, NISENTRYVAL (0, 4, result),	   NISENTRYLEN (0, 4, result));  first_unused[NISENTRYLEN (0, 4, result)] = '\0';  pw->pw_gecos = first_unused;  room_left -= (strlen (first_unused) +1);  first_unused += strlen (first_unused) +1;  if (NISENTRYLEN (0, 5, result) >= room_left)    goto no_more_room;  strncpy (first_unused, NISENTRYVAL (0, 5, result),	   NISENTRYLEN (0, 5, result));  first_unused[NISENTRYLEN (0, 5, result)] = '\0';  pw->pw_dir = first_unused;  room_left -= (strlen (first_unused) +1);  first_unused += strlen (first_unused) +1;  if (NISENTRYLEN (0, 6, result) >= room_left)    goto no_more_room;  strncpy (first_unused, NISENTRYVAL (0, 6, result),	   NISENTRYLEN (0, 6, result));  first_unused[NISENTRYLEN (0, 6, result)] = '\0';  pw->pw_shell = first_unused;  room_left -= (strlen (first_unused) +1);  first_unused += strlen (first_unused) +1;  return 1;}