| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2009, Google Inc. | 2 * Copyright 2009, Google Inc. |
| 3 * All rights reserved. | 3 * All rights reserved. |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions are | 6 * modification, are permitted provided that the following conditions are |
| 7 * met: | 7 * met: |
| 8 * | 8 * |
| 9 * * Redistributions of source code must retain the above copyright | 9 * * Redistributions of source code must retain the above copyright |
| 10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
| (...skipping 845 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 856 if (tempfile) { | 856 if (tempfile) { |
| 857 fwrite(data, 1, data_size, tempfile); | 857 fwrite(data, 1, data_size, tempfile); |
| 858 fclose(tempfile); | 858 fclose(tempfile); |
| 859 *temp_filename = fullpath; | 859 *temp_filename = fullpath; |
| 860 } else { | 860 } else { |
| 861 return false; | 861 return false; |
| 862 } | 862 } |
| 863 | 863 |
| 864 #else | 864 #else |
| 865 // get just the final path component | 865 // get just the final path component |
| 866 int pos = filename.rfind('/'); | 866 string::size_type pos = filename.rfind('/'); |
| 867 if (pos != string::npos) { | 867 if (pos != string::npos) { |
| 868 // TODO : need to get "proper" temp dir for user | 868 // TODO : need to get "proper" temp dir for user |
| 869 // TODO : need to append GUID to filename | 869 // TODO : need to append GUID to filename |
| 870 std::string tmp = "/tmp/" + filename.substr(pos + 1); | 870 std::string tmp = "/tmp/" + filename.substr(pos + 1); |
| 871 FILE *fp = fopen(tmp.c_str(), "w"); | 871 FILE *fp = fopen(tmp.c_str(), "w"); |
| 872 | 872 |
| 873 if (fp) { | 873 if (fp) { |
| 874 fwrite(data, 1, data_size, fp); | 874 fwrite(data, 1, data_size, fp); |
| 875 fclose(fp); | 875 fclose(fp); |
| 876 *temp_filename = tmp; | 876 *temp_filename = tmp; |
| 877 } else { | 877 } else { |
| 878 return false; | 878 return false; |
| 879 } | 879 } |
| 880 } | 880 } |
| 881 #endif | 881 #endif |
| 882 } | 882 } |
| 883 | 883 |
| 884 return true; | 884 return true; |
| 885 } | 885 } |
| 886 | 886 |
| 887 void ZipArchive::DeleteFile(const string &filename) { | 887 void ZipArchive::DeleteFile(const string &filename) { |
| 888 #if defined(OS_WIN) | 888 #if defined(OS_WIN) |
| 889 ::_unlink(filename.c_str()); | 889 ::_unlink(filename.c_str()); |
| 890 #else | 890 #else |
| 891 ::unlink(filename.c_str()); | 891 ::unlink(filename.c_str()); |
| 892 #endif | 892 #endif |
| 893 } | 893 } |
| OLD | NEW |