Sponsored Content
Full Discussion: strcmp core dumps
Top Forums Programming strcmp core dumps Post 100305 by hegemaro on Sunday 26th of February 2006 09:23:34 AM
Old 02-26-2006
My obsessive-compulsiveness is shining through. Combing both Jim's post and mine, we can get a "null strcmp" function that is comparable to the strcmp library function in performance.

It is identical to the Solaris strcmp function returning the ordinal difference between the first pair of non-matching bytes. (As I recall, the AIX implementation returns a 0 for a match and 1 for a non-match). This function returns -256 if S1 is NULL, 256 if S2 is NULL, and 0 if both S1 and S2 are NULL.


Code:
    int nstrcmp ( void * S1 , void * S2 )
    {
        if ( S1 == NULL )
        {
            S2 = ( S2 ? (void *) 256 : S2 );
        }
        else if ( S2 == NULL )
        {
            S1 = (void *) 256;
        }
        else
        {
            unsigned char * s1 = (unsigned char *) S1,
                          * s2 = (unsigned char *) S2;
   

            while ( *s1 )
            {
                if ( *s1 != *s2 )
                {
                    break;
                }
                s1++;
                s2++;
            }

            return ( (int) (*s1 - *s2) );
        }

        return ( (int) (S1 - S2) );
    }

 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

reading core dumps

Does anyone know how to read core dumps. Is gdb the only tool for it ? The OS is Solaris. Thanks (2 Replies)
Discussion started by: suntan
2 Replies

2. Solaris

Generating core dumps

I have the following set up on a Sun server running solaris 5.8 for core dump generation coreadm global core file pattern: /var/core init core file pattern: /var/core global core dumps: enabled per-process core dumps: enabled global setid core dumps:... (4 Replies)
Discussion started by: handak9
4 Replies

3. SCO

SCO 5.07 Panic / Core Dumps

Anyone know how you go about interrogating a panic / core dump with crash for SCO Unix (5 Replies)
Discussion started by: ccarcher
5 Replies

4. UNIX for Advanced & Expert Users

Using GDB to analyse different CORE dumps

Hi, Can we modify the GDB source code so as to analyze core dumps from different targets? From my analysis, I think we need to build our section table statically for each target. i.e., including the various address boundaries in build_section_table() function. If this is the case, then the GDB... (2 Replies)
Discussion started by: nsdeeps
2 Replies

5. Programming

AIX core dumps

My program is not dumping core when hitting a segmentation violation inside a thread. However, it dumps core when the segv occurs within main. Any ideas on how to diagnose this? AIX 5.3 (4 Replies)
Discussion started by: bean66
4 Replies

6. Solaris

core dumps

i had a situation where a process was defunct. preap would not reap the process and gcore would not work properly (not sure why). therefore, the suggestion was to force a panic and collect the core dump. obviously you could do a savecore -L and capture the dump without bringing down the system.... (3 Replies)
Discussion started by: pupp
3 Replies

7. Ubuntu

enabling core dumps for daemon processes

Hello, I am debugging a program which works as daemon. It sigfaults, unfortunately I'm unable to generate core dump file. Here is what I am doing: tsurko@bastila:~$ ulimit -c unlimited tsurko@bastila:~$ ulimit -c unlimited tsurko@bastila:~$ cat /etc/sysctl.conf | grep 'core_pattern'... (1 Reply)
Discussion started by: tsurko
1 Replies

8. Red Hat

generating core dumps

Hi I have a Fedora installed and I try to generate my application's core dump file. My system has no coredump limit: $ ulimit core file size (blocks, -c) unlimited But when my application crashes no core dumps generated. I can generate dump file using gcore but it is not appropraite... (1 Reply)
Discussion started by: xyzt
1 Replies

9. Programming

Stack only core dumps

I'm working on a program in Linux with a group of people scattered around the country. When we have a crash, I like to send a core dump to the appropriate person so that they can understand the problem better. The problem is that our application uses several gigabytes worth of data and these... (4 Replies)
Discussion started by: bmsterner
4 Replies

10. HP-UX

Generate core dumps

kill -SEGV <pid> gives me the core file for that process but also terminates the process. Can I not get the core dump without terminating the process ? (2 Replies)
Discussion started by: mohtashims
2 Replies
STRCMP(3)						   BSD Library Functions Manual 						 STRCMP(3)

NAME
strcmp, strncmp -- compare strings LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <string.h> int strcmp(const char *s1, const char *s2); int strncmp(const char *s1, const char *s2, size_t n); DESCRIPTION
The strcmp() and strncmp() functions lexicographically compare the null-terminated strings s1 and s2. The strncmp() function compares not more than n characters. Because strncmp() is designed for comparing strings rather than binary data, characters that appear after a '' character are not compared. RETURN VALUES
The strcmp() and strncmp() functions return an integer greater than, equal to, or less than 0, according as the string s1 is greater than, equal to, or less than the string s2. The comparison is done using unsigned characters, so that '200' is greater than ''. SEE ALSO
bcmp(3), memcmp(3), strcasecmp(3), strcoll(3), strxfrm(3), wcscmp(3) STANDARDS
The strcmp() and strncmp() functions conform to ISO/IEC 9899:1990 (``ISO C90''). BSD
October 11, 2001 BSD
All times are GMT -4. The time now is 11:18 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy