solaris appl migration: sprintf decimal separator


 
Thread Tools Search this Thread
Top Forums Programming solaris appl migration: sprintf decimal separator
# 1  
Old 05-04-2009
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 program (this is a sample, in the original code there are lots of classes but at the end they call sprintf function to fill a char[] variable):

Code:
#include <string.h>
#include <stdlib.h>
#include <stdio.h>

int main(int argc, char * argv[])
{
    char cadena[25];
    double a = 0;

    memset(cadena,0,sizeof(cadena));

    sprintf(cadena, "%-f", a);
    printf("The content is : %s\n", cadena);
}

In AIX I am compiling this code (main.cpp) with:

IBM XL C/C++ Enterprise Edition for AIX, V9.0
Version: 09.00.0000.0007


In solaris the output is :

0,000000 -> with a comma separator

But in AIX when I try to execute this, the result is:

0.000000 -> with a point separator

I am trying to migrate the code having in mind the idea of not touching the original code. Any idea?,

Thank you in advance for your attention and time.
David
# 2  
Old 05-04-2009
It looks like the LC_NUMERIC definition for the radix character is different. localedef allows you to customize any part of a locale definition. Or the entire definition.

Why things are that way I do not know. But the AIX setting is actually correct for the POSIX (C) locale. The Solaris setting is not standard.

See this on how to change the locale setting. BE SURE to check with the users/management on the new box before you change locale settings!


Help -
# 3  
Old 05-06-2009
Jim,

Thank you for your help. We have defined a small locale only with numeric information. After that I have developed a header that it is used by the original program in order to include and execute the appropiate setlocale function and then include the original one.

David
# 4  
Old 05-07-2009
I notice that you do not mention LC_ALL. What is it set to?

Note that the value of the LC_ALL environment variable has precedence over any of the other environment variables starting with LC_ (LC_COLLATE, LC_CTYPE, LC_MESSAGES, LC_MONETARY, LC_NUMERIC, LC_TIME) and the LANG environment variable.
# 5  
Old 05-08-2009
Hi,

LC_ALL is set to nothing. When i execute locale into a shell I receive all params with its correpsonding value except this one that doesn't have any value assigned.

David
# 6  
Old 05-08-2009
Set LC_ALL to the C locale and see what happens in your example program.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Solaris

Migration from AIX to Solaris

We are going to work on a project which aims at migrating set of applications from AIX to Solaris. The major portion of the source code involves C, C++, Shell/PERL scripts and Oracle database. We are grateful hear about any commercial tools available for porting AIX to Solaris. Another... (2 Replies)
Discussion started by: Namitap
2 Replies

2. Solaris

Migration of Solaris 10 on physical host to Solaris Zones

Hi All Kindly let me know how can I move Solaris 10 OS running update 10 on physical machine to another machine solaris zone running Solaris 10 update 11 (2 Replies)
Discussion started by: amity
2 Replies

3. Linux

Migration from solaris to linux

Hi, Currently I can able to access php script from solaris. I want to access from Linux I have done the following things: 1) I have copied all the scripts from solaris to linux. 2) I have installed php,mysql,apache. I tried with http://Hostname/username/test.php . This is not working .... (6 Replies)
Discussion started by: Mani_apr08
6 Replies

4. Solaris

Migration from AIX to Solaris

Hi All, We are planing to do a migration of our server from AIX 5.3 to Solaris (Linux). But we are not aware about the gap between the both and also impact of that gap. We want to migrate following things, - Common directories setup (like control-M, emer,sysout, and others) - Inbound &... (1 Reply)
Discussion started by: vinod369
1 Replies

5. Solaris

Storage Migration on Solaris server

Hi All, I need your help urgently. Below I have given the brief description of the Architecture and the Problem. The brief details of the architecture: We have 5 Containers(Non-Global Zones) running on one T5220 Box. The Global Zone is running Solaris 10. The Non-global Zones are... (6 Replies)
Discussion started by: kamaldeep1986
6 Replies

6. Solaris

Migration from solaris 8 to 10

Hello, We have upgraded our system from SunOS 5.8 to Solaris 10. I would like to know if the applications (written in c, c++, pro*c, java,..) running on the 5.8 can run on the Solaris 10 without code modification or the need to be recompiled ? thanks you for your help. (4 Replies)
Discussion started by: Jidma
4 Replies

7. HP-UX

Migration from HP-UX to Solaris/Linux

Hi eveyone Ours is an application hosted on HP-UX 11 and we are trying to migrate the server to different flavour of UNIX. We are actually looking at the option of migrating it to Sun Solaris or Linux. We are trying to evaulate the pros and cons of migrating our application to Solaris/Linux.... (6 Replies)
Discussion started by: turaga.krishna
6 Replies

8. UNIX for Advanced & Expert Users

Solaris migration

Hi , There is going to be a server migration from Solaris 8.0 to Solaris10.0. Could anyone give me some tips and documents regarding the steps to be remembered,tips to be followed etc. like syntax differences any new changes to the existing commands and tools we use whatever the... (1 Reply)
Discussion started by: mohanpadamata
1 Replies

9. Solaris

Migration Solaris 5.8 to 10

Hi, it is necessary to make the migration of Solaris 5.8 for Solaris 10, would like to know which the best form to execute this task, if to be able to say me where I can arrange some manual that helps me to make this task. Thanks :o (2 Replies)
Discussion started by: bruno_a_correia
2 Replies

10. 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
Login or Register to Ask a Question