You were right.. and yet I found one more problem..

because ROM uses skill_table[0] as "reserved" I had to add one more piece..
made a few other revisions for ease of coding.

-V

Here is the final:

---------------------------------------------------------

int str_skills(const void *p1, const void *p2)
{
    struct skill_type sk1;
    struct skill_type sk2;

    sk1 = *(struct skill_type *)p1;
    sk2 = *(struct skill_type *)p2;

    if ( sk1.name == NULL )
        return 1;
    else if ( sk2.name == NULL )
        return -1;

    if ( !str_cmp( sk1.name, "reserved" ) )
        return -1;
    else if ( !str_cmp( sk2.name, "reserved" ) )
        return 1;

    return strcmp( sk1.name, sk2.name );
}

------------------------------------------------


----- Original Message ----- 
From: "Mike Barton" <[EMAIL PROTECTED]>
To: "ROM List" <[email protected]>
Sent: Friday, January 23, 2004 4:05 PM
Subject: Re: ROM Mailing List Archive...


> On Fri, 2004-01-23 at 14:11, Valnir wrote:
> > int srt_skills(const void *p1, const void *p2)
> > {
> >     if ( (* (struct skill_type *)p1).name == NULL )
> >         return 2;
> >     else if ( (* (struct skill_type *)p2).name == NULL )
> >         return 1;
> >
> >     return strcmp((* (struct skill_type *)p1).name,(* (struct skill_type
> > *)p2).name);
> > }
> >
>
> if ((*(struct skill_type *)p1).name == NULL)
>   return 1;
> else if ((*(struct skill_type *)p2).name == NULL)
>   return -1;
>
> That's the only problem I see with it right off.
>
>
>
> -- 
> ROM mailing list
> [email protected]
> http://www.rom.org/cgi-bin/mailman/listinfo/rom
>


Reply via email to