The MAN page tells under the BUG section that "For unknown error numbers, the strerror() function will return its result in a static buffer which may be overwritten by subsequent calls."
Quote:
Originally Posted by Praveen_218
The primary reason to ask this query is because of the fact that the MAN pages themselves not making me sure if the programmer needs to handle any kind of cleanup post calling strerror()?
The man page tells you that the result may be in a static buffer. It tells you this to let you know two things:
You do not need to free the result returned from this function. A static buffer (as in when you use "static" within a function) exists throughout the lifetime of the program and does not need to be released by anyone.
You should not rely on the result being available over multiple calls to strerror(), as in:
This is because it's possible that the result of both calls to strerror() will be a pointer to the same (static) buffer.
Some advice: When asking questions on forums, ask what you really want to ask, as opposed to second-guessing what you want. When you ask where the result of strerror() will be and if you can edit it, my first instinct is to just say "no, don't do any of that forget about it!", but if you just ask whether you should free() the result and why the man page mentions a static buffer, you'll get a much better response.
Hi Friends,
Can any of you explain me about the below line of code?
mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'`
Im not able to understand, what exactly it is doing :confused:
Any help would be useful for me.
Lokesha (4 Replies)
Hi,
I've noticed that the permissions output from "ls -l" under SunOS differs from Linux in that after the "rwxrwxrwx" field, there is an additional "+" character that may or may not be there. What is the significance of this character?
Thanks,
Suan (6 Replies)
Hi,
I have line in input file as below:
3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL
My expected output for line in the file must be :
"1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL"
Can someone... (7 Replies)
How to use "mailx" command to do e-mail reading the input file containing email address, where column 1 has name and column 2 containing “To” e-mail address
and column 3 contains “cc” e-mail address to include with same email.
Sample input file, email.txt
Below is an sample code where... (2 Replies)
Okay, so I have a rather large text file and will have to process many more and this will save me hours of work.
I'm not very good at scripting, so bear with me please.
Working on Linux RHEL
I've been able to filter and edit and clean up using sed, but I have a problem with moving lines.
... (9 Replies)
Hello.
System : opensuse leap 42.3
I have a bash script that build a text file.
I would like the last command doing :
print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt
where :
print_cmd ::= some printing... (1 Reply)
Discussion started by: jcdole
1 Replies
LEARN ABOUT BSD
strerror
PERROR(3) Library Functions Manual PERROR(3)NAME
perror, strerror - system error messages
SYNOPSIS
perror(s)
char *s;
#include <string.h>
char *
strerror(errnum)
int errnum;
DESCRIPTION
The strerror() and perror() functions look up the error message string corresponding to an error number.
The strerror() function accepts an error number argument errnum and returns a pointer to the corresponding message string.
The perror() function finds the error message corresponding to the current value of the global variable errno (intro(2)) and writes it,
followed by a newline, to the standard error file descriptor. If the argument string is non-NULL, it is prepended to the message string
and separated from it by a colon and space (`: '). If string is NULL, only the error message string is printed.
If errnum is not a recognized error number, the error message string will contain ``Unknown error: '' followed by the error number in deci-
mal.
The error messages are stored in a data file now rather than an in memory array. See syserror(5).
SEE ALSO mkerrlst(1), intro(2), psignal(3), strerror(3), syserror(3), syserror(5)BUGS
The strerror() function returns its result in a static buffer which may be overwritten by subsequent calls.
The array sys_errlist[] and the global sys_nerr are obsolete and should not be used. They have, for the time being, been placed in an
object library liberrlst.a.
4th Berkeley Distribution March 21, 1996 PERROR(3)