Advertisement
BigETI

stock fstripline(const file_name[], line)

May 22nd, 2013
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 0.78 KB | None | 0 0
  1. #define FailedFileStreamLog(%0) printf("Failed to create file stream \"%s\"", %0)
  2.  
  3. stock fstripline(const file_name[], line)
  4. {
  5.     new File:f_handle = fopen(file_name, io_read);
  6.     if(f_handle)
  7.     {
  8.         new f_t_handle = ftemp();
  9.         if(f_t_handle)
  10.         {
  11.             new buffer[512];
  12.             for(int i = 0; fread(f_handle, buffer); i++) if(i != line) fwrite(f_t_handle, buffer);
  13.             fclose(f_handle);
  14.             if((f_handle = fopen(file_name, io_write)))
  15.             {
  16.                 fseek(f_t_handle);
  17.                 while(fread(f_t_handle, buffer)) fwrite(f_handle, buffer);
  18.                 fclose(f_handle);
  19.                 fclose(f_t_handle);
  20.             }
  21.             else
  22.             {
  23.                 fclose(f_t_handle);
  24.                 FailedFileStreamLog(file_name);
  25.             }
  26.         }
  27.         else
  28.         {
  29.             fclose(f_handle);
  30.             FailedFileStreamLog("Temporary File Stream");
  31.         }
  32.     }
  33.     else FailedFileStreamLog(file_name);
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement