Mercurial > repos > tabletprog
diff cbackend.js @ 49:f2cda2e6f70e
Fix os open to optionally take a file permission bit parameter. Update example to use this parameter. Add support for hex and binary integer literals
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Fri, 13 Jul 2012 14:16:51 -0700 |
parents | 18ab96287c3a |
children | ab6217b8ae4c |
line wrap: on
line diff
--- a/cbackend.js Fri Jul 13 10:46:27 2012 -0700 +++ b/cbackend.js Fri Jul 13 14:16:51 2012 -0700 @@ -582,12 +582,19 @@ ] }); os.addMessage('open', { - vars: {str: 'string *', flags: 'obj_int32 *', filedes: 'obj_int32 *'}, + vars: {str: 'string *', flags: 'obj_int32 *', filedes: 'obj_int32 *', perm: 'obj_int32 *'}, lines: [ 'str = va_arg(args, string *);', 'flags = va_arg(args, obj_int32 *);', 'filedes = make_object(&obj_int32_meta, NULL, 0);', - 'filedes->num = open(str->data, flags->num);', + 'if (num_params == 3) {', + ' filedes->num = open(str->data, flags->num);', + '} else if (num_params == 4) {', + ' perm = va_arg(args, obj_int32 *);', + ' filedes->num = open(str->data, flags->num, perm->num);', + '} else {', + ' filedes->num = -1;', + '}', 'return filedes;' ] });