}
for (state = FLD;;) {
- switch (state = m_getfld (state, name, field, sizeof(field), ib)) {
+ int fieldsz = sizeof field;
+ switch (state = m_getfld (state, name, field, &fieldsz, ib)) {
case FLD:
case FLDPLUS:
case FLDEOF:
if (state == FLDPLUS) {
cp = getcpy (field);
while (state == FLDPLUS) {
- state = m_getfld (state, name, field, sizeof(field), ib);
+ fieldsz = sizeof field;
+ state = m_getfld (state, name, field, &fieldsz, ib);
cp = add (field, cp);
}
np->n_field = trimcpy (cp);
break;
}
+ /*
+ * Special handling for the pager processes: lproc and moreproc.
+ *
+ * If they are not set by the profile, use the callers $PAGER if
+ * available, otherwise set them to DEFAULT_PAGER.
+ */
+ if (lproc == NULL) {
+ lproc = getenv("PAGER");
+ if (lproc == NULL || lproc[0] == '\0')
+ lproc = DEFAULT_PAGER;
+ }
+ if (moreproc == NULL) {
+ moreproc = getenv("PAGER");
+ if (moreproc == NULL || moreproc[0] == '\0')
+ moreproc = DEFAULT_PAGER;
+ }
+
if (opp == NULL) {
/* Check for duplicated non-null profile entries. Except
allow multiple profile entries named "#", because that's