Guest User

Criador de Log

a guest
Dec 24th, 2016
319
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 0.93 KB | None | 0 0
  1. Log_Write(const path[], const str[], {Float,_}:...)
  2. {
  3.     static
  4.         args,
  5.         start,
  6.         end,
  7.         File:file,
  8.         string[1024]
  9.     ;
  10.     if ((start = strfind(path, "/")) != -1) {
  11.         strmid(string, path, 0, start + 1);
  12.  
  13.         if (!fexist(string))
  14.             return printf("** Warning: Directory \"%s\" doesn't exist.", string);
  15.     }
  16.     #emit LOAD.S.pri 8
  17.     #emit STOR.pri args
  18.  
  19.     file = fopen(path, io_append);
  20.  
  21.     if (!file)
  22.         return 0;
  23.  
  24.     if (args > 8)
  25.     {
  26.         #emit ADDR.pri str
  27.         #emit STOR.pri start
  28.  
  29.         for (end = start + (args - 8); end > start; end -= 4)
  30.         {
  31.             #emit LREF.pri end
  32.             #emit PUSH.pri
  33.         }
  34.         #emit PUSH.S str
  35.         #emit PUSH.C 1024
  36.         #emit PUSH.C string
  37.         #emit PUSH.C args
  38.         #emit SYSREQ.C format
  39.  
  40.         fwrite(file, string);
  41.         fwrite(file, "\r\n");
  42.         fclose(file);
  43.  
  44.         #emit LCTRL 5
  45.         #emit SCTRL 4
  46.         #emit RETN
  47.     }
  48.     fwrite(file, str);
  49.     fwrite(file, "\r\n");
  50.     fclose(file);
  51.  
  52.     return 1;
  53. }
Advertisement
Add Comment
Please, Sign In to add comment