Sfoglia il codice sorgente

* Updated makefiles to new strlib locations [Codemaster]
* Moved strlib.h and strlib.c into the common directory [Codemaster]
* Updated a bit of jA 1081 - it's not completly updated yet!!! [Codemaster]

git-svn-id: https://svn.code.sf.net/p/rathena/svn/branches/stable@682 54d463be-8e91-2dee-dedb-b68131a5f0ec

codemaster 20 anni fa
parent
commit
9a0638725d
2 ha cambiato i file con 89 aggiunte e 0 eliminazioni
  1. 79 0
      src/common/strlib.c
  2. 10 0
      src/common/strlib.h

+ 79 - 0
src/common/strlib.c

@@ -0,0 +1,79 @@
+#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;
+}

+ 10 - 0
src/common/strlib.h

@@ -0,0 +1,10 @@
+#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