06-07-2011
hi
Here is the working code
/* This method takes String, Start Length and End Length as input parameters, sub string the string and returns it */
char* getsubstring(const char* urstr, size_t beginL, size_t len)
{
if (urstr == 0 || strlen(urstr) == 0 || strlen(urstr) < begin || strlen(urstr) < (beginL+len))
return 0;
return strndup(urstr + beginL, len);
}
Thanks
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hi Guys
I using Solaris 8 and I need to change the size of my /tmp file. Was wondering does anyone know how to do this.
Thanks
Carson (1 Reply)
Discussion started by: cmackin
1 Replies
2. Programming
Hi Folks
can any body suggest how to allocate virtual memory any function for that (2 Replies)
Discussion started by: munnu
2 Replies
3. UNIX for Advanced & Expert Users
On SunOS 5.8 I get an error when starting a large Java process with over 2Gb memory.
Error occurred during initialization of VM
Could not reserve enough space for object heap
When stopping several other Java processes we can start this process. This seems to indicate that we don't have... (11 Replies)
Discussion started by: rein
11 Replies
4. UNIX for Advanced & Expert Users
Hi,
I have 2 systems with same hardware and software. One system is giving me error "Error occurred during initialization of VM Could not reserve enough space for object " when I tried to increase JBoss App's heap size to 2GB while the other system is running fine without any issue. Is there... (5 Replies)
Discussion started by: ravi3553
5 Replies
5. UNIX for Advanced & Expert Users
hi... i want to find oracle allocate how many memory really..
i execute this code to list memory on unix system : ps -eo pmem,args | sort -k 1 -r -n
outputs ;
%mem command
12.9|ora_smon_RTX
12.9|ora_s000_RTX
12.9|ora_reco_RTX
12.9|ora_qmnc_RTX... (2 Replies)
Discussion started by: utoptas
2 Replies
6. SuSE
Hi,
In my proj, one process was running for 2 days. after 2 days its throwing an error message "shmget failed cannot allocate memory". the same problem happened every time.i.e. i can reproduce the same issue if my process is running for every 2 days for a same operation.Within this 2 days there... (1 Reply)
Discussion started by: ManoharanMani
1 Replies
7. Linux
Hi,
In my proj, one process was running for 2 days. after 2 days its throwing an error message "shmget failed cannot allocate memory". the same problem happened every time.i.e. i can reproduce the same issue if my process is running for every 2 days for a same operation.Within this 2 days there... (1 Reply)
Discussion started by: ManoharanMani
1 Replies
8. Linux
Hi,
In my proj, one process was running for 2 days. after 2 days its throwing an error message "shmget failed cannot allocate memory". the same problem happened every time.i.e. i can reproduce the same issue if my process is running for every 2 days for a same operation.Within this 2 days there... (1 Reply)
Discussion started by: ManoharanMani
1 Replies
9. Solaris
On SunOS 10 get an error when starting a large Java process with over 2Gb memory.
Error occurred during initialization of VM
Could not reserve enough space for object heap
i have 32G memory !! , swap = 31G
Please any advice !!! (3 Replies)
Discussion started by: moata_u
3 Replies
10. Programming
Hi , experts.
I work on Linux station (RedHat 5.7), regular user, but have root password.
%> uname -a
Linux ran1log06 2.6.18-238.1.1.el5 #1 SMP Tue Jan 4 13:32:19 EST 2011 x86_64 x86_64 x86_64 GNU/Linux
%> cat /etc/issue
Red Hat Enterprise Linux Client release 5.7 (Tikanga)
Kernel \r on... (5 Replies)
Discussion started by: baruchgu
5 Replies
LEARN ABOUT DEBIAN
dynarr_free
DYNARR(3pub) C Programmer's Manual DYNARR(3pub)
NAME
dynarr, dynarr_init, dynarr_resize, dynarr_free - simple dynamic arrays
SYNOPSIS
#include <publib.h>
void dynarr_init(struct dynarr *da, size_t elsize);
int dynarr_resize(struct dynarr *da, size_t newsize);
void dynarr_free(struct dynarr *da);
DESCRIPTION
These functions make it easier to use dynamic arrays, i.e., arrays that are allocated with malloc(3) and resized with realloc(3). Below is
a typical code fragment for implementing a dynamic array that is resized as more input is read.
char *p, *line;
size_t alloc, len;
len = 0;
alloc = 1024;
if ((line = malloc(alloc)) == NULL) abort();
while (fgets(line + len, alloc-len, stdin) != NULL) {
len = strlen(line);
alloc += 1024;
if ((p = realloc(alloc)) == NULL) abort();
alloc = p;
}
(The error handling is intentionally simplified.) Below is the above fragment with the dynarr(3).
struct dynarr da;
dynarr_init(&da);
while (fgets((char *)da.data + da.used, da.alloc-da.len, stdin) != NULL) {
da.used = strlen(da.data);
if (dynarr_resize(&da, da.alloc + 1024) == -1) abort();
}
The code is a bit simpler, and all the memory allocation details and most of the error checking code is hidden away.
The dynamic array is represented by a struct dynarr:
struct dynarr {
void *data;
size_t alloc, used;
};
The interface to the dynamic allocation has intentionally been made unopaque.
dynarr_init initializes a struct dynarr to be an empty array, dynarr_resize sets its size to be newsize, and dynarr_free frees the array
(it will become an empty array again).
RETURNS
dynarr_resize returns -1 if it failed, 0 if it succeeded. It does not change the array in any way if it failed.
SEE ALSO
publib(3), malloc(3), realloc(3), strdup(3)
AUTHOR
Lars Wirzenius (lars.wirzenius@helsinki.fi)
Publib C Programmer's Manual DYNARR(3pub)