} else {
if ((nis_error = yp_match(nis_domain, nis_map, user_name, strlen(user_name),
&nis_result, &nis_result_len)) == 0) {
- if (!nis_error && nis_result_len >= sizeof(pstring)) {
- nis_result_len = sizeof(pstring)-1;
- }
fstrcpy(last_key, user_name);
- strncpy(last_value, nis_result, nis_result_len);
- last_value[nis_result_len] = '\0';
+ pstrcpy(last_value, nis_result);
strip_mount_options(&last_value);
} else if(nis_error == YPERR_KEY) {
/* Get the last component of the unix name. */
p = strrchr_m(name, '/');
- strncpy(last_component, p ? ++p : name, sizeof(last_component)-1);
- last_component[sizeof(last_component)-1] = '\0';
+ pstrcpy(last_component, p ? ++p : name);
for(; namelist->name != NULL; namelist++) {
if(namelist->is_wild) {
return True;
}
-BOOL prs_string_alloc(const char *name, prs_struct *ps, int depth,
- const char **str)
-{
- size_t len;
- char *tmp_str;
-
- if (UNMARSHALLING(ps))
- len = strlen(&ps->data_p[ps->data_offset]);
- else
- len = strlen(*str);
-
- tmp_str = PRS_ALLOC_MEM(ps, char, len+1);
-
- if (tmp_str == NULL)
- return False;
-
- if (MARSHALLING(ps))
- strncpy(tmp_str, *str, len);
-
- if (!prs_string(name, ps, depth, tmp_str, len+1))
- return False;
-
- *str = tmp_str;
- return True;
-}
-
/*******************************************************************
prs_uint16 wrapper. Call this and it sets up a pointer to where the
uint16 should be stored, or gets the size if reading.