Sponsored Content
Top Forums Programming does snprintf guarantee null termination? Post 302196001 by shamrock on Friday 16th of May 2008 11:40:11 AM
Old 05-16-2008
I would rely on the manpage of snprintf() on your system instead of on a certain someone. You can write a small code snippet to verify if snprintf() provides that functionality.
 

7 More Discussions You Might Find Interesting

1. Solaris

problem with sprintf snprintf in Solaris

******************************** Following is not the real issue. The issue is with popen. Plz continue forward with the thread to get a better picture. ******************************** Hi, I am working on a customised ftp application. In it we have used sprintf to store a UNIX command... (7 Replies)
Discussion started by: diganta
7 Replies

2. Shell Programming and Scripting

random script termination

I'm writing a script to archive data. First, the files are all rsync'd to the archive directory via NFS mounts(I know not the most efficient, but the only choice in this situation), then I use md5sum to validate the transfers. During execution of the script, it will exit for no apparent reason. It... (6 Replies)
Discussion started by: mph
6 Replies

3. Shell Programming and Scripting

Perl script to search sprintf and replace with snprintf

Dear all, I am new to perl script and would need some help for my 1st script. I wrote a script to search sprintf(buf,"%s", sourcestring) and replace with snprintf(buf, sizeof(buf),"%s", sourcestring). As snprintf() requires an extra argument, so it is not a simple search-and-replace. I need to... (1 Reply)
Discussion started by: ChaMeN
1 Replies

4. Shell Programming and Scripting

search sprintf and replace with snprintf

Hi, anyone knows the perl search-and-replace expression for strcpy (char * destination, const char * source ); to strncpy ( char * destination, const char * source, size_t num ); ? the first and second arguments are the same (destination and source), the difference being that strncpy... (1 Reply)
Discussion started by: ChaMeN
1 Replies

5. Shell Programming and Scripting

guarantee to start before restart...

Hi All, is there a way or script that i can check my AIX 5.3 OS will restart before i made restart? is there a script that can check all the startup files are ok before restarting. it is because i was stuck last time when i restart my PC because some startup files were missing:o. (2 Replies)
Discussion started by: malcomex999
2 Replies

6. Shell Programming and Scripting

Problem with ssh termination...

hi all, i have a situation where i run ssh command from a unix machine to execute few scripts on 2 other unix machines. my problem is, the scripts that i run will start few commands on the 2 servers and will quit....i am able to quit from the script but i have to give ctrl+c (on the... (10 Replies)
Discussion started by: niteesh_!7
10 Replies

7. AIX

A question about scsi termination

http://ep.yimg.com/ay/iercomputer/ibm-39j5022-ultra320-scsi-adapter-dual-channel-pci-x-fc5736-3.gif I have bought this controller. Simple and fast question: I will put on this controller a external LTO tape,which is terminated with a terminator. I have to put another terminator on PCI-controller... (1 Reply)
Discussion started by: Linusolaradm1
1 Replies
KPRINTF(9)						   BSD Kernel Developer's Manual						KPRINTF(9)

NAME
device_printf, printf, snprintf, vprintf, vsnprintf, uprintf, ttyprintf, tprintf, aprint -- kernel formatted output conversion SYNOPSIS
#include <sys/systm.h> void device_printf(device_t, const char *format, ...); void printf(const char *format, ...); void printf_nolog(const char *format, ...); int snprintf(char *buf, size_t size, const char *format, ...); void vprintf(const char *format, va_list ap); int vsnprintf(char *buf, size_t size, const char *format, va_list ap); void uprintf(const char *format, ...); void ttyprintf(struct tty *tty, const char *format, ...); #include <sys/tprintf.h> tpr_t tprintf_open(struct proc *p); void tprintf(tpr_t tpr, const char *format, ...); void tprintf_close(tpr_t tpr); void aprint_normal(const char *format, ...); void aprint_naive(const char *format, ...); void aprint_verbose(const char *format, ...); void aprint_debug(const char *format, ...); void aprint_error(const char *format, ...); void aprint_normal_dev(device_t, const char *format, ...); void aprint_naive_dev(device_t, const char *format, ...); void aprint_verbose_dev(device_t, const char *format, ...); void aprint_debug_dev(device_t, const char *format, ...); void aprint_error_dev(device_t, const char *format, ...); void aprint_normal_ifnet(struct ifnet *, const char *format, ...); void aprint_naive_ifnet(struct ifnet *, const char *format, ...); void aprint_verbose_ifnet(struct ifnet *, const char *format, ...); void aprint_debug_ifnet(struct ifnet *, const char *format, ...); void aprint_error_ifnet(struct ifnet *, const char *format, ...); int aprint_get_error_count(void); DESCRIPTION
The printf() family of functions allows the kernel to send formatted messages to various output devices. The functions printf() and vprintf() send formatted strings to the system console. The device_printf() function is identical to printf(), except that it prefixes the log message with the corresponding device name. The printf_nolog() function is identical to printf(), except it does not send the data to the system log. The functions snprintf() and vsnprintf() write output to a string buffer. These four functions work similarly to their user space counterparts, and are not described in detail here. The functions uprintf() and ttyprintf() send formatted strings to the current process's controlling tty and a specific tty, respectively. The tprintf() function sends formatted strings to a process's controlling tty, via a handle of type tpr_t. This allows multiple write opera- tions to the tty with a guarantee that the tty will be valid across calls. A handle is acquired by calling tprintf_open() with the target process as an argument. This handle must be closed with a matching call to tprintf_close(). The functions aprint_normal(), aprint_naive(), aprint_verbose(), aprint_debug(), and aprint_error() are intended to be used to print autoconf(9) messages. Their verbosity depends on flags set in the boothowto variable, through options passed during bootstrap; see boothowto(9) and Interactive mode in boot(8): AB_SILENT silent mode, enabled by boot -z. AB_QUIET quiet mode, enabled by boot -q. AB_VERBOSE verbose mode, enabled by boot -v. AB_DEBUG debug mode, enabled by boot -x. The aprint_*() functions have the following behaviour, based on the above mentioned flags: aprint_normal() Sends to the console unless AB_QUIET is set. Always sends to the log. aprint_naive() Sends to the console only if AB_QUIET is set. Never sends to the log. aprint_verbose() Sends to the console only if AB_VERBOSE is set. Always sends to the log. aprint_debug() Sends to the console and the log only if AB_DEBUG is set. aprint_error() Like aprint_normal(), but also keeps track of the number of times called. This allows a subsystem to report the number of errors that occurred during a quiet or silent initialization phase. For the aprint_*() functions there are two additional families of functions with the suffixes _dev and _ifnet which work like their counter- parts without the suffixes, except that they take a device_t and struct ifnet *, respectively, as first argument, and prefix the log message with the corresponding device or interface name. The aprint_get_error_count() function reports the number of errors and resets the counter to 0. If AB_SILENT is set, none of the autoconfiguration message printing routines send output to the console. The AB_VERBOSE and AB_DEBUG flags override AB_SILENT. RETURN VALUES
The snprintf() and vsnprintf() functions return the number of characters placed in the buffer buf. This is different to the user-space func- tions of the same name. The tprintf_open() function returns NULL if no terminal handle could be acquired. SEE ALSO
printf(1), printf(3), snprintb(3), boot(8), autoconf(9), boothowto(9) CODE REFERENCES
sys/kern/subr_prf.c HISTORY
The sprintf() and vsprintf() unsized string formatting functions are supported for compatibility only, and are not documented here. New code should use the size-limited snprintf() and vsnprintf() functions instead. In NetBSD 1.5 and earlier, printf() supported more format strings than the user space printf(). These nonstandard format strings are no longer supported. For the functionality provided by the former %b format string, see snprintb(3). The aprint_normal(), aprint_naive(), aprint_verbose(), and aprint_debug() functions first appeared in BSD/OS. BUGS
The uprintf() and ttyprintf() functions should be used sparingly, if at all. Where multiple lines of output are required to reach a process's controlling terminal, tprintf() is preferred. BSD
January 21, 2011 BSD
All times are GMT -4. The time now is 05:53 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy