Sponsored Content
Top Forums Programming Small query regarding function "char * strerror(int errnum)" Post 302762669 by Praveen_218 on Tuesday 29th of January 2013 01:04:50 AM
Old 01-29-2013
John,
I was confused especially after reading the MAN page itself that mentioned of memory location for “unknown error numbers” (which I referred above) but didn’t talk of the memory location of the address returned by this function under normal circumstances.

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()? Just like the call to stat(), lstat(), fstat() which create objects of type struct stat on the heap itself (whose address is returned through the pointer struct stat *sb) and puts the onus of the cleanup on the programmer only.

Available examples too didn’t give the clarity as they all called the function strerror() and used the address returned into their processing and were of just few lines only. Hence I was not getting sure of the error handling aspect of those few liner examples (sometimes they might just overlook error handling part just to give us the feel of the function).

The code I was working was critical enough not to have scope for silly errors. Hence couldn’t have overlooked the cleanup part if the allocation happens to be on the heap and couldn’t have just called to free the address either if it belonged to a different memory region.

Hope you got the dilemma making me to forward this query to the forum.

Last edited by Praveen_218; 01-29-2013 at 02:28 AM..
 

8 More Discussions You Might Find Interesting

1. Programming

How to convert the "select" function into a "poll" function

i have a program using the select function but i want to convert it to poll... how can i do this? thanks in advance... :) (1 Reply)
Discussion started by: rbolante
1 Replies

2. UNIX for Dummies Questions & Answers

Explain the line "mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'`"

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)
Discussion started by: Lokesha
4 Replies

3. HP-UX

ERROR: more than one instance of overloaded function "vprintf" has "C" linkage

Hi people! I've got this own library: -------------------------------------------- Personal.h -------------------------------------------- #ifdef __cplusplus extern "C" { #endif #include <stdio.h> #include <stdarg.h> #include <string.h> ... (0 Replies)
Discussion started by: donatoll
0 Replies

4. Solaris

significance of "+" char in SunOS "ls -l" output

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)
Discussion started by: sayeo
6 Replies

5. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

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)
Discussion started by: shis100
7 Replies

6. UNIX for Dummies Questions & Answers

Using "mailx" command to read "to" and "cc" email addreses from input file

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)
Discussion started by: asjaiswal
2 Replies

7. Shell Programming and Scripting

Move a line containg "char" above line containing "xchar"

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)
Discussion started by: rex007can
9 Replies

8. Shell Programming and Scripting

Bash script - Print an ascii file using specific font "Latin Modern Mono 12" "regular" "9"

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
KLDSTAT(2)						      BSD System Calls Manual							KLDSTAT(2)

NAME
kldstat -- get status of kld file LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <sys/param.h> #include <sys/linker.h> int kldstat(int fileid, struct kld_file_stat *stat); DESCRIPTION
The kldstat() system call writes the info for the file referred to by fileid into stat. struct kld_file_stat { int version; /* set to sizeof(linker_file_stat) */ char name[MAXPATHLEN]; int refs; int id; caddr_t address; /* load address */ size_t size; /* size in bytes */ char pathname[MAXPATHLEN]; }; version This field is set to the size of the structure mentioned above by the code calling kldstat(), and not kldstat() itself. name The name of the file referred to by fileid. refs The number of modules referenced by fileid. id The id of the file specified in fileid. address The load address of the kld file. size The size of the file. pathname The full name of the file referred to by fileid, including the path. RETURN VALUES
The kldstat() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error. ERRORS
The information for the file referred to by fileid is filled into the structure pointed to by stat unless: [ENOENT] The file was not found (probably not loaded). [EINVAL] The version specified in the version field of stat is not the proper version. You would need to rebuild world, the ker- nel, or your application, if this error occurs, given that you did properly fill in the version field. [EFAULT] There was a problem copying one, some, or all of the fields into stat in the copyout(9) function. SEE ALSO
kldfind(2), kldfirstmod(2), kldload(2), kldnext(2), kldsym(2), kldunload(2), modfind(2), modfnext(2), modnext(2), modstat(2), kld(4), kldstat(8) HISTORY
The kld interface first appeared in FreeBSD 3.0. BUGS
The pathname many not be accurate if the file system mounts have changed since the module was loaded, or if this function is called within a chrooted environment. BSD
March 3, 1999 BSD
All times are GMT -4. The time now is 02:26 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy