Sponsored Content
Top Forums Programming Interesting Problem About Incrementing ++ Post 302248823 by MrC on Sunday 19th of October 2008 11:00:41 PM
Old 10-20-2008
A character array is never empty. It is a contiguous array of memory cells, each of which contains some value. You are using a character array to represent strings; as such, you must manage the terminating NULL byte '\0'.

[ xxx deleted backwards description xxx ]

It is not useful to attempt to diagnose other errors you see when there are likely out of bounds array copies occurring, as the stack becomes trashed.

Never use any function that copies memory from one location to another which is of unknown length, or copy a know length to an offset that would make the copy exceed the bounds of the variable or data structure. Use strncat() or strncpy() to ensure the copy never exceeds the variable's bounds.

Last edited by MrC; 10-21-2008 at 09:13 PM..
MrC
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

An interesting problem

hi!, here is an interesting problem ..... I ftp a file named " my first file.doc" from windows to my HP workstation. Ftp is succesful. The file appears with the same name in my home directory.. But now how do I open this file?? while using Vi or More or other editor, they take only the... (5 Replies)
Discussion started by: jyotipg
5 Replies

2. UNIX for Advanced & Expert Users

interesting problem

After a server reboot for regular mainatanance we face the following situation: 1/ user accounts with ksh can't start the korn shell 2/ korn shell scripts do work however, if executed from bash 3/ normal users with bash can't run ksh 4/ root can run ksh 5/ if I switch the default shell to... (3 Replies)
Discussion started by: rein
3 Replies

3. SCO

I have an interesting problem and need advice

We have an inhouse built application which handles our AR function. We'd like to email statements out of the application directly. My question is this is there a good, solid, command line driven, scriptable Mail Transport Agent that would allow us to send a semi unique email (with a statement and... (1 Reply)
Discussion started by: Maldain
1 Replies

4. Shell Programming and Scripting

Interesting problem

Hello, So I'm utilizing the bash brace expansion feature to checkout multiple folders from cvs with ease, while excluding certain subfolders within. So I do a command like this: cvs co trunk/{mod_a,mod_b,mod_c} \!trunk/{mod_a,mod_b,mod_c}/web to checkout modules trunk/mod_a , trunk/mod_b ,... (1 Reply)
Discussion started by: neked
1 Replies

5. Shell Programming and Scripting

interesting problem

Hi, I am new in this forum and I am glad to be a part of it. I have a problem that has two parts: 1/ extract just the timestamp from a filename: for example, I have a file called 'sales20080226144525.txt' and I want to extract just the '20080226144525' part out of it. 2/ Now, take that... (5 Replies)
Discussion started by: ChicagoBlues
5 Replies

6. Solaris

Very Interesting Problem

Ok Lets say i have a webpage on a solaris box. and i am trying to make a hyperlink. This hyperlink references a Microsoft Access file on a Windows box. So, How do i make a file reference from The unix box to a windows box. Things to keep in mind -- 1.) Solaris doesnt need to... (6 Replies)
Discussion started by: Demon002
6 Replies

7. Shell Programming and Scripting

Facing problem in incrementing the variable

When I did, echo $SHELL in cmd prompt of putty, its displaying /bin/sh And in my shell script., I hav started with., #!/bin/sh and i=1; while ; do . . . i=$; (9 Replies)
Discussion started by: av_vinay
9 Replies

8. Shell Programming and Scripting

AWK SCRIPT HELP : INCREMENTING PROBLEM

Hi Guys , I am having one command file like this FILE1 ################################ awk '/output/ {a=$2} {for(i=1;i<=NF;i++) { gsub("i1", i) ; gsub("i2",++i) ; gsub("P1", p) }}1' output >> out9 awk '/output/ {a=$2} {for(i=1;i<=NF;i++) { gsub("i1", i) ;... (2 Replies)
Discussion started by: jaita
2 Replies

9. Solaris

Interesting Disk Error Problem

Hi Folks, Have an interesting problem here, have just upgraded some machines (Test and Development) to the latest and greatest as in. SunOS ss063a 5.10 Generic_147440-13 sun4u sparc SUNW,Sun-Fire-V440 However on all the systems we are seeing the same problems, during the boot there is a... (3 Replies)
Discussion started by: gull04
3 Replies

10. Shell Programming and Scripting

Interesting awk problem

Hello; I wish to manipulate the output from the following: ps axo %mem,pid,euser,cmd|sort -nr 14.4 3170 root /usr/sbin/snmpd -Lsd -Lf /dev/null -p /var/run/snmpd.pid -a 3.6 3635 root splunkd -p 8089 start 2.6 3383 root /usr/sbin/httpd 2.1 15496 apache /usr/sbin/httpd ... (5 Replies)
Discussion started by: delphys
5 Replies
strcpy(9F)						   Kernel Functions for Drivers 						strcpy(9F)

NAME
strcpy, strlcat, strlcpy, strncat, strncpy, strspn - String operations. SYNOPSIS
#include <sys/ddi.h> char *strcpy(char *dst, const char *src); size_t strlcat(char *dst, const char *src, size_t dstsize); size_t strlcpy(char *dst, const char *src, size_t dstsize); char *strncat(char *restrict s1, const char *restrict s2, size_t n); char *strncpy(char *dst, const char *src, size_t n); size_t strspn(const char *s1, const char *s2); INTERFACE LEVEL
Solaris DDI specific (Solaris DDI). PARAMETERS
dst, src Pointers to character strings. s1, s2 Pointers to character strings. n Count of characters to be copied. DESCRIPTION
The arguments dst, src, s1 and s2 point to strings. The strcpy(), strlcpy(), strncpy(), strlcat() and strncat() functions all alter their first argument. These functions do not check for overflow of the array pointed to by the first argument. strcpy() The strcpy() function copies characters in the string src to dst, terminating at the first null character in src, and returns dst to the caller. No bounds checking is done. strncpy() The strncpy() function copies src to dst, null-padding or truncating at n bytes, and returns dst. No bounds checking is done. strlcpy() The strlcpy() function copies a maximum of dstsize-1 characters (where dstsize represents the size of the string buffer dst) from src to dst, truncating src if necessary. The result is always null-terminated. The function returns strlen(src). Buffer overflow can be checked as follows: if (strlcpy(dst, src, dstsize) >= dstsize) return (-1); strncat() The strncat() function appends a maximum of n characters. The initial character of s2 overrides the null character at the end of s1. strlcat() The strlcat() function appends a maximum of (dstsize- strlen(dst)-1) characters of src to dst (where dstsize represents the size of the string buffer dst). If the string pointed to by dst contains a null-terminated string that fits into dstsize bytes when strlcat() is called, the string pointed to by dst is a null-terminated string that fits in dstsize bytes (including the terminating null character) when it completes, and the initial character of src overrides the null character at the end of dst. If the string pointed to by dst is longer than dstsize bytes when strlcat() is called, the string pointed to by dst is not changed. The function returns min{dst- size,strlen(dst)}+strlen(src). Buffer overflow can be checked as follows: if (strlcat(dst, src, dstsize) >= dstsize) return -1; strspn() The strspn() function returns the length of the initial segment of string s1 that consists entirely of characters from string s2. RETURN VALUES
strcpy(), strncat() and strncpy() return dst. For strlcat(), strlcpy() and strspn(), see the Description section. CONTEXT
These functions can be called from user or interrupt context. SEE ALSO
strlen(9F), strcmp(9F), bcopy(9F), ddi_copyin(9F) Writing Device Drivers SunOS 5.10 7 Sep 2004 strcpy(9F)
All times are GMT -4. The time now is 08:36 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy