Changeset 19140

Show
Ignore:
Timestamp:
09/10/08 22:36:21 (5 years ago)
Author:
tokuhirom
Message:

dry

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/cplusplus/fcgi-v8/trunk/src/file.cc

    r19138 r19140  
    77 
    88using namespace v8; 
     9 
     10static FILE *_get_fh(const v8::Arguments &args) { 
     11    Local<Value> field = args.This()->GetInternalField(0); 
     12    if (!field->IsExternal()) { 
     13        ThrowException(v8::String::New("Exception: file handle")); 
     14    } 
     15    FILE *fh = reinterpret_cast<FILE *>(v8::Handle<v8::External>::Cast(field)->Value()); 
     16    if (!fh) { 
     17        ThrowException(v8::String::New("Exception: file handle")); 
     18    } 
     19    return fh; 
     20} 
    921 
    1022v8::Handle<v8::Value> _open(const v8::Arguments& args) { 
     
    3143    } 
    3244    v8::HandleScope handle_scope; 
    33     v8::Local<v8::Value> field = args.This()->GetInternalField(0); 
    34     if (!field->IsExternal()) { 
    35         return v8::ThrowException(v8::String::New("Exception: file handle")); 
    36     } 
    37     FILE *fh = reinterpret_cast<FILE *>(v8::Handle<v8::External>::Cast(field)->Value()); 
    38     if (!fh) { 
    39         return v8::ThrowException(v8::String::New("Exception: file handle")); 
    40     } 
     45    FILE *fh = _get_fh(args); 
    4146    int size = args[0]->Int32Value(); 
    4247    if (size < 0) { 
     
    5560    } 
    5661    v8::HandleScope handle_scope; 
    57     v8::Local<v8::Value> field = args.This()->GetInternalField(0); 
    58     if (!field->IsExternal()) { 
    59         return v8::ThrowException(v8::String::New("Exception: file handle")); 
    60     } 
    61     FILE *fh = reinterpret_cast<FILE *>(v8::Handle<v8::External>::Cast(field)->Value()); 
    62     if (!fh) { 
    63         return v8::ThrowException(v8::String::New("Exception: file handle")); 
    64     } 
     62    FILE *fh = _get_fh(args); 
    6563    v8::String::AsciiValue str(args[0]); 
    6664    size_t wrote = fwrite(*str, sizeof(char), args[0]->ToString()->Length(), fh); 
     
    7371    } 
    7472    v8::HandleScope handle_scope; 
    75     v8::Local<v8::Value> field = args.This()->GetInternalField(0); 
    76     if (!field->IsExternal()) { 
    77         return v8::ThrowException(v8::String::New("Exception: file handle")); 
    78     } 
    79     FILE *fh = reinterpret_cast<FILE *>(v8::Handle<v8::External>::Cast(field)->Value()); 
    80     if (!fh) { 
    81         return v8::ThrowException(v8::String::New("Exception: file handle")); 
    82     } 
     73    FILE *fh = _get_fh(args); 
    8374    int retval = fclose(fh); 
    8475    if (retval) {