Hello
This is a simple program i carried out in my machine
i dont know how it is working
#include<alloc.h>
#include<stdio.h>
mian()
{
int *p,j;
p= (int*)malloc(1);
for(j=1;j<=580;j++)
{
*p=j;
++p;
}
p=p-580;
for(j=1;j<=580;j++)
{
printf("%d",*p);
} (7 Replies)
Hi All,
In my application malloc is returning NULL even though there is sufficient amount of free memory is available but swap memory is low.
Is this possible that, if free memory is high & swap memory is low, malloc will not be able to allocate memory & return NULL ?:)
Kindly look into... (5 Replies)
Hi All,:)
In my application malloc is returning NULL even though there is sufficient amount of free memory available but the swap memory is low.
Is this possible that, if free memory is high & swap memory is low, malloc will not be able to allocate memory & return NULL ?
Few details:
... (4 Replies)
Hi all,
I am very new to BASH shell programming. I need to return an integer from a function to the caller function. I did this:
but it keeps giving me wrong return:
Can someone help me out here, please?
Thanks (2 Replies)
Hi,
I am having an issue using getservbyport. Here is a little program to demonstrate the problem (removed the includes):
int
main(void) {
struct servent *service;
int memsize = sizeof(struct servent);
service = (struct servent *)malloc(memsize);
... (2 Replies)
Hi,
The following shell script returning null results could you please tell me whats the problem in script,
*********************************
#!/bin/ksh
. $HOME/conf/systemProperties/EnvSetup.properties
a=`date +"%y%m%d"`
set -x
for i in `cat... (2 Replies)
Hi All
In my script, I can call on several functions. I have a logging function that is called by any of these functions. What I would like is some way of identifying which function I am using and pass this to the log function as some parameter.
Is there some built in command or way of... (3 Replies)
In a 'C' program,when I am trying to allocate memory with the help of malloc () function, it is allocating the memory up to a certain limit for e.g. in my case, it is 670 MB (approx). malloc() returns NULL if I allocate more than this amount of memory.When I tried
to allocate memory in chunks of... (1 Reply)
OS : Solaris 10
When I try to get the "echo" service port, getservbyname is returning null.
I checked - /etc/services having an entry for echo -
echo 7/tcp (But still getservbyname returning null)
Any other config required to consider? (1 Reply)
I am calling getpwnam_r with all proper argument as below:-
rv = getpwnam_r(name, result, buffer, buflen);
This program runs fine on sol 8/9/10.
But on sol 11 it returns NULL with errno set to 25
(#define ENOTTY 25 /* Inappropriate ioctl for device */)
All boxes are... (2 Replies)
Discussion started by: Ranajit
2 Replies
LEARN ABOUT REDHAT
get_current_dir_name
GETCWD(3) Linux Programmer's Manual GETCWD(3)NAME
getcwd, get_current_dir_name, getwd - Get current working directory
SYNOPSIS
#include <unistd.h>
char *getcwd(char *buf, size_t size);
char *get_current_dir_name(void);
char *getwd(char *buf);
DESCRIPTION
The getcwd() function copies an absolute pathname of the current working directory to the array pointed to by buf, which is of length size.
If the current absolute path name would require a buffer longer than size elements, NULL is returned, and errno is set to ERANGE; an appli-
cation should check for this error, and allocate a larger buffer if necessary.
If buf is NULL, the behaviour of getcwd() is undefined.
As an extension to the POSIX.1 standard, Linux (libc4, libc5, glibc) getcwd() allocates the buffer dynamically using malloc() if buf is
NULL on call. In this case, the allocated buffer has the length size unless size is zero, when buf is allocated as big as necessary. It
is possible (and, indeed, advisable) to free() the buffers if they have been obtained this way.
get_current_dir_name, which is only prototyped if _GNU_SOURCE is defined, will malloc(3) an array big enough to hold the current directory
name. If the environment variable PWD is set, and its value is correct, then that value will be returned.
getwd, which is only prototyped if _BSD_SOURCE or _XOPEN_SOURCE_EXTENDED is defined, will not malloc(3) any memory. The buf argument should
be a pointer to an array at least PATH_MAX bytes long. getwd does only return the first PATH_MAX bytes of the actual pathname. Note that
PATH_MAX need not be a compile-time constant; it may depend on the filesystem and may even be unlimited. For portability and security rea-
sons, use of getwd is deprecated.
RETURN VALUE
NULL on failure with errno set accordingly, and buf on success. The contents of the array pointed to by buf is undefined on error.
ERRORS
EACCES Permission to read or search a component of the file name was denied.
EFAULT buf points to a bad address.
EINVAL The size argument is zero and buf is not a null pointer.
ENOENT The current working directory has been unlinked.
ERANGE The size argument is less than the length of the working directory name. You need to allocate a bigger array and try again.
NOTES
Under Linux, the function getcwd() is a system call (since 2.1.92). On older systems it would query /proc/self/cwd. If both system call
and proc file system are missing, a generic implementation is called. Only in that case can these calls fail under Linux with EACCES.
These functions are often used to save the location of the current working directory for the purpose of returning to it later. Opening the
current directory (".") and calling fchdir(2) to return is usually a faster and more reliable alternative when sufficiently many file
descriptors are available, especially on platforms other than Linux.
CONFORMING TO
POSIX.1
SEE ALSO chdir(2), fchdir(2), open(2), unlink(2), free(3), malloc(3)GNU 2002-04-22 GETCWD(3)