summaryrefslogtreecommitdiff
path: root/src/tool/itemfrob.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/tool/itemfrob.c')
-rw-r--r--src/tool/itemfrob.c191
1 files changed, 104 insertions, 87 deletions
diff --git a/src/tool/itemfrob.c b/src/tool/itemfrob.c
index 999834c..bc9ff35 100644
--- a/src/tool/itemfrob.c
+++ b/src/tool/itemfrob.c
@@ -8,111 +8,128 @@
// Well, this is not terribly elegant, but I don't have that much time.
#define MAX_ITEM_ID 65535
-int inv_translate[MAX_ITEM_ID];
+int inv_translate[MAX_ITEM_ID];
-void
-transform_char(struct mmo_charstatus *p)
+void transform_char (struct mmo_charstatus *p)
{
- int k;
- for (k = 0; k < MAX_INVENTORY; k++)
- p->inventory[k].nameid = inv_translate[p->inventory[k].nameid];
+ int k;
+ for (k = 0; k < MAX_INVENTORY; k++)
+ p->inventory[k].nameid = inv_translate[p->inventory[k].nameid];
}
-int mmo_char_convert()
+int mmo_char_convert ()
{
- char line[965536];
- int ret;
- struct mmo_charstatus char_dat;
- FILE *ifp,*ofp;
-
- ifp=stdin;
- ofp=stdout;
- while(fgets(line,65535,ifp)){
- memset(&char_dat,0,sizeof(struct mmo_charstatus));
- ret=mmo_char_fromstr(line,&char_dat);
- if(ret){
- transform_char(&char_dat);
- mmo_char_tostr(line,&char_dat);
- fprintf(ofp,"%s" RETCODE,line);
- }
+ char line[965536];
+ int ret;
+ struct mmo_charstatus char_dat;
+ FILE *ifp, *ofp;
+
+ ifp = stdin;
+ ofp = stdout;
+ while (fgets (line, 65535, ifp))
+ {
+ memset (&char_dat, 0, sizeof (struct mmo_charstatus));
+ ret = mmo_char_fromstr (line, &char_dat);
+ if (ret)
+ {
+ transform_char (&char_dat);
+ mmo_char_tostr (line, &char_dat);
+ fprintf (ofp, "%s" RETCODE, line);
}
- fcloseall();
- return 0;
+ }
+ fcloseall ();
+ return 0;
}
#define PARSE_MODE_NEXTNUM 0
#define PARSE_MODE_RANGE 1
-int init(char *source, char *dest)
+int init (char *source, char *dest)
{
- int i;
- char *end_of_num;
- int dest_nr = strtol(dest, &end_of_num, 0);
- int range_start;
- int mode = PARSE_MODE_NEXTNUM;
-
- if (*end_of_num) {
- fprintf(stderr, "Invalid inventory ID: `%s'\n", dest);
- return 1;
+ int i;
+ char *end_of_num;
+ int dest_nr = strtol (dest, &end_of_num, 0);
+ int range_start;
+ int mode = PARSE_MODE_NEXTNUM;
+
+ if (*end_of_num)
+ {
+ fprintf (stderr, "Invalid inventory ID: `%s'\n", dest);
+ return 1;
+ }
+
+ /* init */
+ for (i = 0; i < MAX_ITEM_ID; i++)
+ inv_translate[i] = i;
+
+ while (*source)
+ {
+ int nr = strtol (source, &end_of_num, 0);
+ char sep;
+
+ if (end_of_num == source)
+ {
+ fprintf (stderr, "Invalid source range description: `%s'\n",
+ source);
+ return 1;
}
- /* init */
- for (i = 0; i < MAX_ITEM_ID; i++)
- inv_translate[i] = i;
-
- while (*source) {
- int nr = strtol(source, &end_of_num, 0);
- char sep;
-
- if (end_of_num == source) {
- fprintf(stderr, "Invalid source range description: `%s'\n", source);
- return 1;
- }
-
- switch (mode) {
- case PARSE_MODE_NEXTNUM:
- inv_translate[nr] = dest_nr;
- break;
- case PARSE_MODE_RANGE:
- for (i = range_start; i <= nr; i++)
- inv_translate[i] = dest_nr;
- break;
- default: fprintf(stderr, "Internal error at %d\n", __LINE__);
- return 1;
- };
-
- sep = *end_of_num++;
-
- switch (sep) {
- case '-':
- range_start = nr;
- mode = PARSE_MODE_RANGE; break;
- case ',': mode = PARSE_MODE_NEXTNUM; break;
- case 0: return 0;
- default: fprintf(stderr, "Invalid token in range spec: `%c'\n", sep);
- return 1;
- }
-
- source = end_of_num;
+ switch (mode)
+ {
+ case PARSE_MODE_NEXTNUM:
+ inv_translate[nr] = dest_nr;
+ break;
+ case PARSE_MODE_RANGE:
+ for (i = range_start; i <= nr; i++)
+ inv_translate[i] = dest_nr;
+ break;
+ default:
+ fprintf (stderr, "Internal error at %d\n", __LINE__);
+ return 1;
+ };
+
+ sep = *end_of_num++;
+
+ switch (sep)
+ {
+ case '-':
+ range_start = nr;
+ mode = PARSE_MODE_RANGE;
+ break;
+ case ',':
+ mode = PARSE_MODE_NEXTNUM;
+ break;
+ case 0:
+ return 0;
+ default:
+ fprintf (stderr, "Invalid token in range spec: `%c'\n", sep);
+ return 1;
}
- return 0;
+
+ source = end_of_num;
+ }
+ return 0;
}
-int main(int argc,char *argv[])
+int main (int argc, char *argv[])
{
- if(argc < 3) {
- printf("Usage: %s <inventory ID input range> <inventory ID output>\n", argv[0]);
- printf("e.g., %s 501-555 701\n", argv[0]);
- exit(0);
- }
- if (init(argv[1], argv[2]))
- return 1;
-
- mmo_char_convert();
-
- return 0;
+ if (argc < 3)
+ {
+ printf
+ ("Usage: %s <inventory ID input range> <inventory ID output>\n",
+ argv[0]);
+ printf ("e.g., %s 501-555 701\n", argv[0]);
+ exit (0);
+ }
+ if (init (argv[1], argv[2]))
+ return 1;
+
+ mmo_char_convert ();
+
+ return 0;
}
-
/* satisfy linker */
-void set_termfunc(void (*termfunc)(void)) {};
+void set_termfunc (void (*termfunc) (void))
+{
+};