Sponsored Content
Operating Systems Solaris problem with sprintf snprintf in Solaris Post 59194 by diganta on Monday 13th of December 2004 09:19:02 AM
Old 12-13-2004
Question popen truncates the command line passed to it

********************************
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 like "ls *test" to a temporary variable to execute it on the server and return the result to the client. However the sprintf and snprintf is not working properly. The following code segment will give an idea.

--------------------------
char name[] = "*test";
char cmd[] = "/bin/ls -l %s";
char line[1024];

sprintf (line, cmd, name);
---------------------------
After sprintf the
expected result is,
line = "/bin/ls -l *test"

but what we are getting is,
line = "/bin/ls"
----------------

Can anyone tell me what is wrong with the code? I will be highly indebted.

Regards,
Diganta

Last edited by diganta; 12-15-2004 at 02:32 AM..
 

8 More Discussions You Might Find Interesting

1. Programming

sprintf function

Hi, Can someone help me to figure out whether this code is to write file to /tmp/TIMECLOCK directory or just to asign a variable with "/tmp/TIMECLOCK/name.log_copy.pid" as the string? I am looking into an old C program and could not figure out where in the code that creates... (1 Reply)
Discussion started by: whatisthis
1 Replies

2. Programming

does snprintf guarantee null termination?

Hi All, I was reading the man page of snprintf function and it saids that snprintf adds a null terminator at the end of the string, but I remember once someone told me that snprintf doesn't guarantee the insertion of a null terminator character. What do you think? Does anyone have experience... (4 Replies)
Discussion started by: lagigliaivan
4 Replies

3. Programming

equivalent of sprintf in C++

Hi My requirement is to convert the following to C++ char buffer; sprintf(buffer,"%s %-50s %6s %-6d %s\n",a.substr(0,5),a.substr(10,20)) Since the buffer is of varying length, i cannot hardcode the value as 90. i would like to convert the buffer to string object so that it can receive any... (1 Reply)
Discussion started by: dhanamurthy
1 Replies

4. 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

5. 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

6. Programming

solaris appl migration: sprintf decimal separator

Hi, I am trying to migrate an application from Solaris to AIX 5.3.1. In both platforms the locale settings are as follows: Result of executing "locale" LANG=C LC_CTYPE="C" LC_NUMERIC="C" LC_TIME="C" LC_COLLATE="C" LC_MONETARY="C" LC_MESSAGES="C" In solaris when you execute this... (5 Replies)
Discussion started by: coldas57
5 Replies

7. Shell Programming and Scripting

Problem with awk awk: program limit exceeded: sprintf buffer size=1020

Hi I have many problems with a script. I have a script that formats a text file but always prints the same error when i try to execute it The code is that: { if (NF==17){ print $0 }else{ fields=NF; all=$0; while... (2 Replies)
Discussion started by: fate
2 Replies

8. Programming

Problem with Sprintf

Hi, I have the below sample code to hash the input number read from file. File will have 16 to 19 digit number and executable hash the number using some logic and returns the hashed value. Each digit in the 16 digit number is converted to a 4 byte value. That if the input is 16digit integer, the... (6 Replies)
Discussion started by: ramkrix
6 Replies
explain_sprintf_or_die(3)				     Library Functions Manual					 explain_sprintf_or_die(3)

NAME
explain_sprintf_or_die - formatted output conversion and report errors SYNOPSIS
#include <libexplain/sprintf.h> int explain_sprintf_or_die(char *data, const char *format, ...); int explain_sprintf_on_error(char *data, const char *format, ...); DESCRIPTION
The explain_sprintf_or_die function is used to call the sprintf(3) system call. On failure an explanation will be printed to stderr, obtained from the explain_sprintf(3) function, and then the process terminates by calling exit(EXIT_FAILURE). The explain_sprintf_on_error function is used to call the sprintf(3) system call. On failure an explanation will be printed to stderr, obtained from the explain_sprintf(3) function, but still returns to the caller. data The data, exactly as to be passed to the sprintf(3) system call. format The format, exactly as to be passed to the sprintf(3) system call. RETURN VALUE
The explain_sprintf_or_die function only returns on success, see sprintf(3) for more information. On failure, prints an explanation and exits, it does not return. The explain_sprintf_on_error function always returns the value return by the wrapped sprintf(3) system call. EXAMPLE
The explain_sprintf_or_die function is intended to be used in a fashion similar to the following example: int result = explain_sprintf_or_die(data, format, ...); SEE ALSO
sprintf(3) formatted output conversion explain_sprintf(3) explain sprintf(3) errors exit(2) terminate the calling process COPYRIGHT
libexplain version 0.52 Copyright (C) 2010 Peter Miller explain_sprintf_or_die(3)
All times are GMT -4. The time now is 11:06 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy