One way to return multiple values from a function is to return a structure whose members are the variables that you want to return...
With this struct definition you can pass the entire struct to foo and return it back to main and it is not malloc that causing the core dump but the fact that fname and lname in main do not point anywhere unlike in foo where fname points to "john" and lname points to "doe". By passing the struct between main and foo the program won't crash.
I have two string returning function in ESQL/C
char *segment_name(lbuffer)
char *lbuffer;
{.....
and
char *get_bpdvalue(f_name)
char *f_name;
{......
both declared above main()
char *get_bpdvalue();
char *segment_name();
my problem is segment_name works on sprintf and strcpy... (5 Replies)
Hi all,
I am very new to BASH shell programming. I need to return an integer from a function to the caller function. I did this:
but it keeps giving me wrong return:
Can someone help me out here, please?
Thanks (2 Replies)
Hi All
In my script, I can call on several functions. I have a logging function that is called by any of these functions. What I would like is some way of identifying which function I am using and pass this to the log function as some parameter.
Is there some built in command or way of... (3 Replies)
i have an oracle function which returns two values, one is the error message if the function encounters anything and another one which returns a number
i need to capture both
and pass it on to unix shell script
how to do it (2 Replies)
I know multiple values can be returned from a function in C like this:
char **read_file ( char * , unsigned long int * );//this is the function prototypeunsigned long int number_of_words = 0;//variable defined in main() and initialized to 0words_from_dictionary = read_file ( "dictionary.dit" ,... (2 Replies)
I've been trying to write a command-line function to grab a website's MX records and their ip addresses. The code below works with domains that only have one MX record:
function kmx { mx=`host -t MX $1 | awk '{ print $7 }'`;
ip=`host $mx | sed '/IPv6/d;/handled/d' | awk '{ print $4 }'`; ... (8 Replies)
Hi
I am pretty confused in returning and capturing multiple values
i have defined a function which should return values "total, difference"
i have used as
#!/usr/bin/ksh
calc()
{
total=$1+$2
echo "$total"
diff=$2-$1
echo "$diff"
}
I have invoked this function as
calc 5 8
Now i... (2 Replies)
Hi
I have a code as the following
#!/usr/bin/ksh
set -x
row()
{
a=$1
b=$2
c=$(($a + $b))
d=$(($a * $b))
echo $a $b
}
e=`row 2 3`
set $e
echo "The value of c is $c"
echo "The value of d is $d"
My requirement is I need to pass two arguments to a function and return two values... (5 Replies)
Hi,
I have a small part of a project which is done as a bash script. bash was selected as an portability issue that works out of the box. In this script I have an exec shell-function, a wrapper around arbitrary commands. I want to have STDOUT, as an addon STDERR and the EXIT-CODE of a specified... (5 Replies)
Discussion started by: stomp
5 Replies
LEARN ABOUT NETBSD
getutmpx
GETLASTLOGX(3) BSD Library Functions Manual GETLASTLOGX(3)NAME
getlastlogx, getutmp, getutmpx, updlastlogx, updwtmpx, utmpxname -- user accounting database functions
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <utmpx.h>
struct lastlogx *
getlastlogx(const char *fname, uid_t uid, struct lastlogx *ll);
void
getutmp(const struct utmpx *ux, struct utmp *u);
void
getutmpx(const struct utmp *u, struct utmpx *ux);
int
updlastlogx(const char *fname, uid_t uid, struct lastlogx *ll);
int
updwtmpx(const char *file, const struct utmpx *utx);
int
utmpxname(const char *fname);
DESCRIPTION
The getlastlogx() function looks up the entry for the user with user id uid in the lastlogx(5) file given by fname and returns it in ll. If
the provided ll is NULL, the necessary space will be allocated by getlastlogx() and should be free()d by the caller.
The getutmp() function fills out the entries in the struct utmp u with the data provided in the struct utmpx ux. getutmpx() does the oppo-
site, filling out the entries in the struct utmpx ux with the data provided in the struct utmp u, and initializing all the unknown fields to
0. The sole exception is the ut_type field, which will be initialized to USER_PROCESS.
The updlastlogx() function tries to update the information for the user with the user id uid in the lastlogx(5) file given by fname with the
data supplied in ll. A struct lastlogx is defined like this:
struct lastlogx {
struct timeval ll_tv; /* time entry was created */
char ll_line[_UTX_LINESIZE]; /* tty name */
char ll_host[_UTX_HOSTSIZE]; /* host name */
struct sockaddr_storage ll_ss; /* address where entry was made from */
};
All the fields should be filled out by the caller.
The updwtmpx() function updates the wtmpx(5) file file with the utmpx(5) entry utx.
The utmpxname() function sets the default utmpx(5) database file name to fname.
RETURN VALUES
getlastlogx() returns the found entry on success, or NULL if it could not open the database, could not find an entry matching uid in there,
or could not allocate the necessary space (in case ll was NULL).
utmpxname() returns 1 on success, or 0 if the supplied file name was too long or did not end with 'x'.
updlastlogx() and updwtmpx() return 0 on success, or -1 in case the database or file respectively could not be opened or the data not written
into it.
SEE ALSO endutxent(3), loginx(3), utmpx(5)HISTORY
The functions getutmp(), getutmpx(), updwtmpx(), and utmpxname() first appeared in Solaris. getlastlogx and updlastlogx first appeared in
NetBSD 2.0.
BSD August 26, 2003 BSD