Kernel/x86 - Oops, bad entry
[tpg/acess2.git] / Kernel / lib.c
index 369b7b0..2b786ec 100644 (file)
@@ -490,11 +490,11 @@ char *strcpy(char *__str1, const char *__str2)
  * \brief Copy a string to a new location
  * \note Copies at most `max` chars
  */
-char *strncpy(char *__str1, const char *__str2, size_t max)
+char *strncpy(char *__str1, const char *__str2, size_t __max)
 {
-       while(*__str2 && max-- >= 1)
+       while(*__str2 && __max-- >= 1)
                *__str1++ = *__str2++;
-       if(max)
+       if(__max)
                *__str1 = '\0'; // Terminate String
        return __str1;
 }
@@ -720,37 +720,39 @@ int WriteUTF8(Uint8 *str, Uint32 Val)
 {
        // ASCII
        if( Val < 128 ) {
-               *str = Val;
+               if( str ) {
+                       *str = Val;
+               }
                return 1;
        }
        
        // Two Byte
        if( Val < 0x8000 ) {
-               *str = 0xC0 | (Val >> 6);
-               str ++;
-               *str = 0x80 | (Val & 0x3F);
+               if( str ) {
+                       *str++ = 0xC0 | (Val >> 6);
+                       *str++ = 0x80 | (Val & 0x3F);
+               }
                return 2;
        }
        
        // Three Byte
        if( Val < 0x10000 ) {
-               *str = 0xE0 | (Val >> 12);
-               str ++;
-               *str = 0x80 | ((Val >> 6) & 0x3F);
-               str ++;
-               *str = 0x80 | (Val & 0x3F);
+               if( str ) {
+                       *str++ = 0xE0 | (Val >> 12);
+                       *str++ = 0x80 | ((Val >> 6) & 0x3F);
+                       *str++ = 0x80 | (Val & 0x3F);
+               }
                return 3;
        }
        
        // Four Byte
        if( Val < 0x110000 ) {
-               *str = 0xF0 | (Val >> 18);
-               str ++;
-               *str = 0x80 | ((Val >> 12) & 0x3F);
-               str ++;
-               *str = 0x80 | ((Val >> 6) & 0x3F);
-               str ++;
-               *str = 0x80 | (Val & 0x3F);
+               if( str ) {
+                       *str++ = 0xF0 | (Val >> 18);
+                       *str++ = 0x80 | ((Val >> 12) & 0x3F);
+                       *str++ = 0x80 | ((Val >> 6) & 0x3F);
+                       *str++ = 0x80 | (Val & 0x3F);
+               }
                return 4;
        }
        

UCC git Repository :: git.ucc.asn.au