Actually Dale, that's almost EXACTLY what I tried, but without the temp
array.. hence the BOOM part.. that I think will work fine and not be too
bothersome. Thanks for the 'kick in the brain'!

- Valnir

----- Original Message ----- 
From: "Dale Kingston" <[EMAIL PROTECTED]>
To: "Dale Kingston" <[EMAIL PROTECTED]>; "Valnir"
<[EMAIL PROTECTED]>
Cc: "[email protected]" <[email protected]>
Sent: Thursday, August 12, 2004 12:30 PM
Subject: RE: Sorting.


> oh and forgot, make sure you free that temp_help_array forgot to do that
in
> that tid bit I sent you.
>
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Dale
> Kingston
> Sent: Thursday, August 12, 2004 10:28 AM
> To: Valnir
> Cc: [email protected]
> Subject: RE: Sorting.
>
>
> Whats there to this rewriting the entire loading process? Takes 5 seconds,
> if your not willing to put out that much effort why are you trying to sort
> in the first place?
>
> It's simple:
>
> int compare(const void *a, const void *b)
> {
>     struct help_data *hp1, *hp2;
>     sk1 = (struct help_data *)a;
>     sk2 = (struct help_data *)b;
>
> if (hp1->name == NULL )
> return 1;
> else if (hp2->name == NULL )
> return -1;
> if ( !str_cmp( hp1->name, "reserved" ) )
> return -1;
> else if ( !str_cmp( hp2->name, "reserved" ) )
> return 1;
>
> return strcmp(hp1->name, hp2->name);
>     // not 100% sure on the order of those
> }
>
> code for loading:
>
> for (num_helps = 1, pHelp = help_list; pHelp != NULL; num_helps++, pHelp =
> pHelp->next);
>
> Temp_help_array = malloc( sizeof(struct help_data) * (num_helps + 1) );
>
> for (count = 0, pHelp = help_list; pHelp != NULL; count++, pHelp =
> pHelp->next)
> temp_help_array[count] = pHelp;
>
> temp_help_array[num_help+1] = NULL;
>
> qsort( temp_help_array, num_helps, sizeof(struct help_data), compare );
>
> help_list = temp_help_array[0];
>
> for (count = 1, pHelp = help_list; count < num_helps+1; count++)
> {
> pHelp->next = temp_help_array[count];
> }
>
> Now havn't tested any of this but in theiory it should work... Thats not
> rewriting your loading, it's adding a small extra to it.
>
> Another suggestion that I did to save me all this pain in the mud, was
> converted my helpfiles to mysql, and the query line just requests it in
> order. But that takes some rewriting :P
>
>
>
> -----Original Message-----
> From: Valnir [mailto:[EMAIL PROTECTED]
> Sent: Thursday, August 12, 2004 8:36 AM
> To: Dale Kingston
> Subject: Re: Sorting.
>
>
> Nope, cause I really didn't want to re-write the entire load process..
lazy
> I guess. If anyone has any more input, it would be great too. Although I
may
> have to resort to this. :(
>
> - Valnir
>
> ----- Original Message -----
> From: "Dale Kingston" <[EMAIL PROTECTED]>
> To: "Valnir" <[EMAIL PROTECTED]>; <[email protected]>
> Sent: Thursday, August 12, 2004 10:27 AM
> Subject: Re: Sorting.
>
>
> > I belive that cause helps are contained in a link list that qsort and
that
> > doesn't work as well..
> >
> > Have you tried loading your helps into a temporary array running it
threw
> > the sorter and then remaking the list after it's sorted the area?
> >
> >
> > ----- Original Message -----
> > From: "Valnir" <[EMAIL PROTECTED]>
> > To: <[email protected]>
> > Sent: Thursday, August 12, 2004 8:05 AM
> > Subject: Sorting.
> >
> >
> > > Ok, a while back I was asking how to sort my skills. Well, I figured
> that
> > > all out and it's working great. I got a new sorting issue though. I
want
> > > to
> > > sort my HELPS. This is a whole different arena. Tried using the same
> > > thought
> > > process.. BOOM.
> > >
> > > My helps are in the 'struct help_data' and 'struct help_data
HELP_DATA'
> > > format. Any help would be great. (and of course they load on boot into
> the
> > > 'help_first' etc format.)
> > >
> > > - Valnir
> > >
> > >
> > > --
> > > ROM mailing list
> > > [email protected]
> > > http://www.rom.org/cgi-bin/mailman/listinfo/rom
> >
> >
>
>
> --
> ROM mailing list
> [email protected]
> http://www.rom.org/cgi-bin/mailman/listinfo/rom
>
>


Reply via email to