Sponsored Content
Top Forums Programming Reg. Local vs Global declarations Post 70579 by marquis on Monday 2nd of May 2005 05:36:48 AM
Old 05-02-2005
This depends on a lot of things like architecture, compiler, options, etc.

What architecture are you on ?

Version 1 --- string1 and string2 declared as Global variables
The output is :-- (as expected sprintf is overwriting the first byte of string2 with NULL)
string1=send
string2=


This need not happen becaus string2 comes before string1 (lower)
in memory (on PC linux and many architecutres), so the output is
string1=send
string2=test.

If the space allocated for string2 is too short, you will see
something like:
string1=send
string2=testsend

The space allocated for string1 does not change anything for this test.

Besides, use
sprint("%x", string1)


to see where the string space are allocated; try it with various array length, you will see that sometimes
the compiler leaves much more space than required between the too string,
may be for optimization related questions, be it on the heap or on the stack, so that it may well work even if the allocation is buggy.

HTH, else precise architecture, compiler etc.

samuel
 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Global variable becomes local

I have encountered a very weird behavior of a global variable in Korn Shell in AIX: A function f1 in my script pipes the output of the function f2 to a program. A variable defined as global using typeset gets its value in f2. That value is not seen in f1. If I remove the pipe ksh recognizes the... (2 Replies)
Discussion started by: odashe318
2 Replies

2. Shell Programming and Scripting

Problem with global and local variables

Guys, how can I define global variables in sorlaris...cause I lose the values outside the scope. Rite now wat I do is,I redirect variable value to a file n then get it back outside the function...:o....theres obviously a better way of doing this...I now this is a basic question....but please... (2 Replies)
Discussion started by: qzv2jm
2 Replies

3. Solaris

Not able to ping global zone from local zone

Hi Gurus I am not able to ping the local zone from global zone when i am trying to ping i am getting below ICMP Host Unreachable from gateway zone ( 192.268.35.210) for icmp from zone ( 192.168.35.210) to sun1 ( 192.168.35.210) However i can ping local zone from global please... (12 Replies)
Discussion started by: kumarmani
12 Replies

4. Solaris

Global zone name from local zone

How to check the global zone name from local zone. (6 Replies)
Discussion started by: fugitive
6 Replies

5. Solaris

sharing a directory between local and global zone

is this the step? add fs set dir=/export set special=/export set type=lofs add options rw end i notice i can't post immediately, moderator needs to moderate. i have 1 more post still haven't appear in the forum..hmm.... (1 Reply)
Discussion started by: binary0011
1 Replies

6. HP-UX

Seeing different output from who -u in global INIT and local SRP

I am seeing different output from "who -u" when we execute "who -u" in global INIT and local SRP after calling telnet, rlogin and remsh. We are not seeing correct output when we login to local SRP using telnet, rlogin and remsh. srp_init just creates an UTMP entry in the UTMP database. Based my... (1 Reply)
Discussion started by: madhur.tripathi
1 Replies

7. UNIX for Dummies Questions & Answers

Global - Local script??

Hi, I have a script which can be called from any path on the machine. It kind of acts like a global script. How do I achive this? :confused: The path from which I call it is different from the path where it exists. (where <script name> ) Thanks and Regards, Preetham R. (1 Reply)
Discussion started by: preethgideon
1 Replies

8. Solaris

Covert Global zone to local zone

Dears, I would like to convert solaris 10 x86 and solaris 10 sparc (Global Zones) physical servers into Local zones. i found a document which seems to be helpful but i'm stuck @ the 1st step. to test this i want to do it 1st on x86 system running under vmware ESXi and if it succeeds i will... (1 Reply)
Discussion started by: mduweik
1 Replies

9. Shell Programming and Scripting

Multiple interpreter declarations

Hi, I am writing a shell script that connects to a remote server and performs some tasks on the server and exits. Since i am using a ssh connection, i am using a "expect" utility to supply the password automatically (which is present within the script). In order to use this utility, i need to... (3 Replies)
Discussion started by: sunrexstar
3 Replies
bcopy(3)						     Library Functions Manual							  bcopy(3)

NAME
bcopy, bcmp, bzero - Perform memory operations LIBRARY
Standard C Library (libc) SYNOPSIS
#include <strings.h> void bcopy( const void *source, void *destination, size_t length); int bcmp( const void *string1, const void *string2, size_t length); void bzero( void *string, size_t length); The following function definitions do not conform to current standards and are supported only for backward compatibility: #include <string.h> void bcopy( const char *source, char *destination, int length); int bcmp( const char *string1, const char *string2, int length); void bzero( char *string, int length); STANDARDS
Interfaces documented on this reference page conform to industry standards as follows: bcopy(), bcmp(), bzero(): XSH5.0 Refer to the standards(5) reference page for more information about industry standards and associated tags. PARAMETERS
Points to the original string for the bcopy() function. Points to the destination string for the bcopy() function. Specifies the byte string to be compared to the string2 parameter by the bcmp() function. Specifies the byte string to be compared to the string1 parameter by the bcmp() function. Specifies the length (in bytes) of the string. DESCRIPTION
The bcopy(), bcmp(), and bzero() functions operate on variable length strings of bytes. Unlike the string functions, they do not check for null bytes. The bcopy() function copies the value of the length parameter in bytes from the string in the source parameter to the string in the desti- nation parameter. The bcmp() function compares the byte string in the string1 parameter against the byte string of the string2 parameter, returning a 0 (zero) value if the two strings are identical and a nonzero value otherwise. The bzero() function nulls the string in the string parameter, for the value of the length parameter in bytes. NOTES
[Tru64 UNIX] The bcopy() function is similar to the memcpy() function except that the first two parameters are reversed. RELATED INFORMATION
Functions: memccpy(3), memcpy(3), string(3), swab(3) Standards: standards(5) delim off bcopy(3)
All times are GMT -4. The time now is 07:07 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy