Răsfoiți Sursa

Minor tweaks

Ray 7 ani în urmă
părinte
comite
126ab49221
3 a modificat fișierele cu 8 adăugiri și 11 ștergeri
  1. 2 1
      src/core.c
  2. 5 9
      src/rlgl.h
  3. 1 1
      src/textures.c

+ 2 - 1
src/core.c

@@ -1569,8 +1569,9 @@ const char *GetDirectoryPath(const char *fileName)
     lastSlash = strprbrk(fileName, "\\/");
     if (!lastSlash) return NULL;
 
+    // NOTE: Be careful, strncpy() is not safe, it does not care about '\0'
     strncpy(filePath, fileName, strlen(fileName) - (strlen(lastSlash) - 1));
-    filePath[strlen(fileName) - strlen(lastSlash)] = '\0';
+    filePath[strlen(fileName) - strlen(lastSlash)] = '\0';  // Add '\0' manually
 
     return filePath;
 }

+ 5 - 9
src/rlgl.h

@@ -1631,17 +1631,13 @@ void rlglInit(int width, int height)
 #elif defined(GRAPHICS_API_OPENGL_ES2)
     char *extensions = (char *)glGetString(GL_EXTENSIONS);  // One big const string
 
-    // NOTE: We have to duplicate string because glGetString() returns a const value
-    // If not duplicated, it fails in some systems (Raspberry Pi)
-    // Equivalent to function: char *strdup(const char *str)
-    char *extensionsDup;
-    size_t len = strlen(extensions) + 1;
-    void *newstr = malloc(len);
-    if (newstr == NULL) extensionsDup = NULL;
-    extensionsDup = (char *)memcpy(newstr, extensions, len);
+    // NOTE: We have to duplicate string because glGetString() returns a const string
+    int len = strlen(extensions) + 1;   
+    char *extensionsDup = (char *)malloc(len);
+    strcpy(extensionsDup, extensions);
 
     // NOTE: String could be splitted using strtok() function (string.h)
-    // NOTE: strtok() modifies the received string, it can not be const
+    // NOTE: strtok() modifies the passed string, it can not be const
 
     char *extList[512];     // Allocate 512 strings pointers (2 KB)
 

+ 1 - 1
src/textures.c

@@ -323,7 +323,7 @@ Image LoadImageRaw(const char *fileName, int width, int height, int format, int
 
         // NOTE: fread() returns num read elements instead of bytes,
         // to get bytes we need to read (1 byte size, elements) instead of (x byte size, 1 element)
-        size_t bytes = fread(image.data, 1, size, rawFile);
+        int bytes = fread(image.data, 1, size, rawFile);
 
         // Check if data has been read successfully
         if (bytes < size)