Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(482)

Side by Side Diff: skia/ports/SkOSFile_stdio.cpp

Issue 113827: Remove the remainder of the skia source code from the Chromium repo.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 11 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « skia/ports/SkOSEvent_dummy.cpp ('k') | skia/ports/SkThread_none.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 /* libs/graphics/ports/SkOSFile_stdio.cpp
2 **
3 ** Copyright 2006, The Android Open Source Project
4 **
5 ** Licensed under the Apache License, Version 2.0 (the "License");
6 ** you may not use this file except in compliance with the License.
7 ** You may obtain a copy of the License at
8 **
9 ** http://www.apache.org/licenses/LICENSE-2.0
10 **
11 ** Unless required by applicable law or agreed to in writing, software
12 ** distributed under the License is distributed on an "AS IS" BASIS,
13 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 ** See the License for the specific language governing permissions and
15 ** limitations under the License.
16 */
17
18 #include "SkOSFile.h"
19
20 #ifndef SK_BUILD_FOR_BREW
21
22 #include <stdio.h>
23 #include <errno.h>
24
25 SkFILE* sk_fopen(const char path[], SkFILE_Flags flags)
26 {
27 char perm[4];
28 char* p = perm;
29
30 if (flags & kRead_SkFILE_Flag)
31 *p++ = 'r';
32 if (flags & kWrite_SkFILE_Flag)
33 *p++ = 'w';
34 *p++ = 'b';
35 *p = 0;
36
37 SkFILE* f = (SkFILE*)::fopen(path, perm);
38 #if 0
39 if (NULL == f)
40 SkDebugf("sk_fopen failed for %s (%s), errno=%s\n", path, perm, strerror (errno));
41 #endif
42 return f;
43 }
44
45 size_t sk_fgetsize(SkFILE* f)
46 {
47 SkASSERT(f);
48
49 size_t curr = ::ftell((FILE*)f); // remember where we are
50 ::fseek((FILE*)f, 0, SEEK_END); // go to the end
51 size_t size = ::ftell((FILE*)f); // record the size
52 ::fseek((FILE*)f, (long)curr, SEEK_SET); // go back to our prev loc
53 return size;
54 }
55
56 bool sk_frewind(SkFILE* f)
57 {
58 SkASSERT(f);
59 ::rewind((FILE*)f);
60 // ::fseek((FILE*)f, 0, SEEK_SET);
61 return true;
62 }
63
64 size_t sk_fread(void* buffer, size_t byteCount, SkFILE* f)
65 {
66 SkASSERT(f);
67 if (buffer == NULL)
68 {
69 size_t curr = ::ftell((FILE*)f);
70 if ((long)curr == -1) {
71 SkDEBUGF(("sk_fread: ftell(%p) returned -1 feof:%d ferror:%d\n", f, feof((FILE*)f), ferror((FILE*)f)));
72 return 0;
73 }
74 // ::fseek((FILE*)f, (long)(curr + byteCount), SEEK_SET);
75 int err = ::fseek((FILE*)f, (long)byteCount, SEEK_CUR);
76 if (err != 0) {
77 SkDEBUGF(("sk_fread: fseek(%d) tell:%d failed with feof:%d ferror:%d returned:%d\n",
78 byteCount, curr, feof((FILE*)f), ferror((FILE*)f), err)) ;
79 return 0;
80 }
81 return byteCount;
82 }
83 else
84 return ::fread(buffer, 1, byteCount, (FILE*)f);
85 }
86
87 size_t sk_fwrite(const void* buffer, size_t byteCount, SkFILE* f)
88 {
89 SkASSERT(f);
90 return ::fwrite(buffer, 1, byteCount, (FILE*)f);
91 }
92
93 void sk_fflush(SkFILE* f)
94 {
95 SkASSERT(f);
96 ::fflush((FILE*)f);
97 }
98
99 void sk_fclose(SkFILE* f)
100 {
101 SkASSERT(f);
102 ::fclose((FILE*)f);
103 }
104
105 #endif
106
OLDNEW
« no previous file with comments | « skia/ports/SkOSEvent_dummy.cpp ('k') | skia/ports/SkThread_none.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698