[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: tin/getenv
Operator writes:
> Hi everyone,
> I'm trying to compile tin for news access via NNTP. The compilation
> is complete and when run tin talks via NNTP and gets all its information
> correctly.
btw hav you looked at (s)trn? as opposed to tin & frieds trn does _real_
threading i.e. it uses the References: not just the Subject:s...
>
> However, I seem to have a problem reading the TERM environment variable;
> tin reports that "the TERM variable needs to be set...". My TERM
> variable is set (to stv52, or whichever terminal type I am in).
>
> The offending piece of code is:
>
> if ((p = (char *) getenv ("TERM")) == NULL) {
> fprintf (stderr, "%s: TERM variable must be set to use screen capabilities\n", progname);
> return (FALSE);
> }
>
> It seems that getenv is returning NULL and unfortunately I can't find
> a man page or the source for getenv.
hmm this should work... can you use a debugger?
assuming its not something simple like forgot exporting the variable...
or something. :) (try /bin/sh -c set and see if it appears there.)
>
> If somebody can fix this line for me, or send me a man page for the mintlibs
> getenv, I can quickly complete the port and make it available to others.
heres a BSD one...
GETENV(3) BSD Programmer's Manual GETENV(3)
NNAAMMEE
ggeetteennvv, ppuutteennvv, sseetteennvv, uunnsseetteennvv - environment variable functions
SSYYNNOOPPSSIISS
##iinncclluuddee <<ssttddlliibb..hh>>
_c_h_a_r _*
ggeetteennvv(_c_o_n_s_t _c_h_a_r _*_n_a_m_e);
_i_n_t
sseetteennvv(_c_o_n_s_t _c_h_a_r _*_n_a_m_e, _c_o_n_s_t _c_h_a_r _*_v_a_l_u_e, _i_n_t _o_v_e_r_w_r_i_t_e);
_i_n_t
ppuutteennvv(_c_o_n_s_t _c_h_a_r _*_s_t_r_i_n_g);
_v_o_i_d
uunnsseetteennvv(_c_o_n_s_t _c_h_a_r _*_n_a_m_e);
DDEESSCCRRIIPPTTIIOONN
These functions set, unset and fetch environment variables from the host
_e_n_v_i_r_o_n_m_e_n_t _l_i_s_t. For compatibility with differing environment conven-
tions, the given arguments _n_a_m_e and _v_a_l_u_e may be appended and prepended,
respectively, with an equal sign ``=''.
The ggeetteennvv() function obtains the current value of the environment vari-
able, _n_a_m_e. If the variable _n_a_m_e is not in the current environment, a
null pointer is returned.
The sseetteennvv() function inserts or resets the environment variable _n_a_m_e in
the current environment list. If the variable _n_a_m_e does not exist in the
list, it is inserted with the given _v_a_l_u_e_. If the variable does exist,
the argument _o_v_e_r_w_r_i_t_e is tested; if _o_v_e_r_w_r_i_t_e _i_s zero, the variable is
not reset, otherwise it is reset to the given _v_a_l_u_e.
The ppuutteennvv() function takes an argument of the form ``name=value'' and is
equivalent to:
setenv(name, value, 1);
The uunnsseetteennvv() function deletes all instances of the variable name point-
ed to by _n_a_m_e from the list.
RREETTUURRNN VVAALLUUEESS
The functions sseetteennvv() and ppuutteennvv() return zero if successful; otherwise
the global variable _e_r_r_n_o is set to indicate the error and a -1 is re-
turned.
EERRRROORRSS
[ENOMEM] The function sseetteennvv() or ppuutteennvv() failed because they were un-
able to allocate memory for the environment.
SSEEEE AALLSSOO
csh(1), sh(1), execve(2), environ(7)
SSTTAANNDDAARRDDSS
The ggeetteennvv() function conforms to ANSI C X3.159-1989 (``ANSI C '').
HHIISSTTOORRYY
The functions sseetteennvv() and uunnsseetteennvv() appeared in Version 7 AT&T UNIX.
The ppuutteennvv() function appeared in 4.3BSD-Reno.
4.4BSD December 11, 1993 1
>
> Yours,
> Andrew.
ATB
Juergen
- References:
- tin/getenv
- From: Operator <root@raleigh.zynet.co.uk>