* Fixed map-server exiting when it came across a bad NPC file [Codemaster]

git-svn-id: https://svn.code.sf.net/p/rathena/svn/branches/stable@685 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
codemaster 2004-12-20 20:41:38 +00:00
parent 9b358d545d
commit 9f774dc2db
8 changed files with 2 additions and 232 deletions

View File

@ -1,6 +1,7 @@
Date Added
12/20
* Fixed map-server exiting when it came across a bad NPC file [Codemaster]
* Updated Valaris' large/tiny monsters - of course, he told us what he did wrong and how to fix it :) [Codemaster & Valaris]
* Updated makefiles to new strlib locations [Codemaster]
* Moved strlib.h and strlib.c into the common directory [Codemaster]

View File

@ -1,79 +0,0 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "strlib.h"
#include "utils.h"
//-----------------------------------------------
// string lib.
unsigned char* jstrescape (unsigned char* pt) {
//copy from here
unsigned char * ptr;
int i =0, j=0;
//copy string to temporary
CREATE(ptr, char, J_MAX_MALLOC_SIZE);
strcpy (ptr,pt);
while (ptr[i] != '\0') {
switch (ptr[i]) {
case '\'':
pt[j++] = '\\';
pt[j++] = ptr[i++];
break;
case '\\':
pt[j++] = '\\';
pt[j++] = ptr[i++];
break;
default:
pt[j++] = ptr[i++];
}
}
pt[j++] = '\0';
free (ptr);
return (unsigned char*) &pt[0];
}
unsigned char* jstrescapecpy (unsigned char* pt,unsigned char* spt) {
//copy from here
int i =0, j=0;
while (spt[i] != '\0') {
switch (spt[i]) {
case '\'':
pt[j++] = '\\';
pt[j++] = spt[i++];
break;
case '\\':
pt[j++] = '\\';
pt[j++] = spt[i++];
break;
default:
pt[j++] = spt[i++];
}
}
pt[j++] = '\0';
return (unsigned char*) &pt[0];
}
int jmemescapecpy (unsigned char* pt,unsigned char* spt, int size) {
//copy from here
int i =0, j=0;
while (i < size) {
switch (spt[i]) {
case '\'':
pt[j++] = '\\';
pt[j++] = spt[i++];
break;
case '\\':
pt[j++] = '\\';
pt[j++] = spt[i++];
break;
default:
pt[j++] = spt[i++];
}
}
// copy size is 0 ~ (j-1)
return j;
}

View File

@ -1,10 +0,0 @@
#ifndef _J_STR_LIB_H_
#define _J_STR_LIB_H_
#define J_MAX_MALLOC_SIZE 65535
// String function library.
// code by Jioh L. Jung (ziozzang@4wish.net)
// This code is under license "BSD"
unsigned char* jstrescape (unsigned char* pt);
unsigned char* jstrescapecpy (unsigned char* pt,unsigned char* spt);
int jmemescapecpy (unsigned char* pt,unsigned char* spt, int size);
#endif

View File

@ -1,58 +0,0 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "strlib.h"
#include "utils.h"
//-----------------------------------------------
// string lib.
unsigned char* jstrescape (unsigned char* pt) {
//copy from here
unsigned char * ptr;
int i =0, j=0;
//copy string to temporary
CREATE(ptr, char, J_MAX_MALLOC_SIZE);
strcpy (ptr,pt);
while (ptr[i] != '\0') {
switch (ptr[i]) {
case '\'':
pt[j++] = '\\';
pt[j++] = ptr[i++];
break;
case '\\':
pt[j++] = '\\';
pt[j++] = ptr[i++];
break;
default:
pt[j++] = ptr[i++];
}
}
pt[j++] = '\0';
if(ptr) free(ptr);
return (unsigned char*) &pt[0];
}
unsigned char* jstrescapecpy (unsigned char* pt,unsigned char* spt) {
//copy from here
int i =0, j=0;
while (spt[i] != '\0') {
switch (spt[i]) {
case '\'':
pt[j++] = '\\';
pt[j++] = spt[i++];
break;
case '\\':
pt[j++] = '\\';
pt[j++] = spt[i++];
break;
default:
pt[j++] = spt[i++];
}
}
pt[j++] = '\0';
return (unsigned char*) &pt[0];
}

View File

@ -1,9 +0,0 @@
#ifndef _J_STR_LIB_H_
#define _J_STR_LIB_H_
#define J_MAX_MALLOC_SIZE 65535
// String function library.
// code by Jioh L. Jung (ziozzang@4wish.net)
// This code is under license "BSD"
unsigned char* jstrescape (unsigned char* pt);
unsigned char* jstrescapecpy (unsigned char* pt,unsigned char* spt);
#endif

View File

@ -1676,7 +1676,7 @@ static int npc_parse_script(char *w1,char *w2,char *w3,char *w4,char *first_line
if(curly_count > 0) {
printf("warning: Missing right curly at line %d\n",*lines);
script=NULL;
exit(1);
//exit(1); //Wtf? We do we exit?
} else {
// printf("Ok line %d\n",*lines);
script=parse_script(srcbuf,startline);

View File

@ -1,66 +0,0 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "strlib.h"
//-----------------------------------------------
// string lib.
unsigned char* jstrescape (unsigned char* pt) {
//copy from here
unsigned char * ptr;
int i =0, j=0;
//copy string to temporary
ptr = malloc(J_MAX_MALLOC_SIZE);
strcpy (ptr,pt);
while (ptr[i] != '\0') {
switch (ptr[i]) {
case '\'':
pt[j++] = '\\';
pt[j++] = ptr[i++];
break;
default:
pt[j++] = ptr[i++];
}
}
pt[j++] = '\0';
free (ptr);
return (unsigned char*) &pt[0];
}
unsigned char* jstrescapecpy (unsigned char* pt,unsigned char* spt) {
//copy from here
int i =0, j=0;
while (spt[i] != '\0') {
switch (spt[i]) {
case '\'':
pt[j++] = '\\';
pt[j++] = spt[i++];
break;
default:
pt[j++] = spt[i++];
}
}
pt[j++] = '\0';
return (unsigned char*) &pt[0];
}
int jmemescapecpy (unsigned char* pt,unsigned char* spt, int size) {
//copy from here
int i =0, j=0;
while (i < size) {
switch (spt[i]) {
case '\'':
pt[j++] = '\\';
pt[j++] = spt[i++];
break;
default:
pt[j++] = spt[i++];
}
}
// copy size is 0 ~ (j-1)
return j;
}

View File

@ -1,9 +0,0 @@
#ifndef _J_STR_H_
#define _J_STR_H_
#define J_MAX_MALLOC_SIZE 65535
//string functions.
//code by Jioh L. Jung
unsigned char* jstrescape (unsigned char* pt);
unsigned char* jstrescapecpy (unsigned char* pt,unsigned char* spt);
int jmemescapecpy (unsigned char* pt,unsigned char* spt, int size);
#endif