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
>