Thanks dude that worked perfectly.

+------------------------------------------+
|         _/_/_/   _/      _/    _/        |
|        _/   _/  _/      _/ _/ _/         |
|       _/   _/  _/      _/    _/          |
|      _/_/_/   _/_/_/  _/    _/           |
+------------------------------------------+
| Markanth       - [EMAIL PROTECTED]      |
| Devil's Lament - telnet://dlmud.com:3778 |
| DL Homepage    - http://www.dlmud.com    |
+------------------------------------------+


-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Ammaross
Sent: September 6, 2002 1:04 AM
To: [email protected]
Subject: RE: New entry to tablesave in OLC2


Hrm...reviewing what I posted...you would need a:
int **ppint;

And you would do this:
pint = (int **) ((int) temp->puntero_field - (int) typebase + (int)
puntero);

To assign its value...the rest still stands though, as far as I can see
at 2am... (which is about 2 inches...but no matter...)

Ammaross Danan

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Ammaross
Sent: Friday, September 06, 2002 1:46 AM
To: [email protected]
Subject: RE: New entry to tablesave in OLC2


Correct me if I am wrong, but...           V-- This would make a
reference to a pointer....

> {"levels", FIELD_INT_ALLOC_ARRAY, (void*) &sk.skill_level,
(void*)&maxClass, NULL},

...
And here, V--- we pull a pointer to a pointer....
> pint = (int *) ((int) temp->puntero_field - (int) typebase + (int)
puntero); i =
> 0; alloc_mem(pint, int, *(int*)temp->argument ); /* smaug-like
alloc_mem */
So, when you use ^--- this here, wouldn't you need a *pint?

...
>               pint[i++] = (int) atoi(string);
And I think ^--- this would be a (*pint)[i++] = ...

> /* My save_struct() entry:
> */
> case FIELD_INT_ALLOC_ARRAY:
> pint = (int *)((int) temp->puntero_field - (int) typebase + (int)
puntero);
> fprintf( fp, "%s\t", temp->field ); for ( i = 0; i < *(int*)
temp->argument;
> i++ ) fprintf( fp, "%d ", pint[i] ); fprintf( fp, "@\n" ); break;
And you will probably need one ^--- here to (*pint)[i]

Tablesave is one of the ickiest but most function things I have seen
lately. ;P

Ammaross Danan



Reply via email to