Question: I try to create a program that can evaluate simple math expression like "4+4". The expression is given from the user. 

The program saves it in a `char*` and then searches for binary operation (+,-,\*,:) and does the operation. 

The problem is that I can't figure out how to convert the **single** `char` into a `double` value. 

I know there is the `atof` function but I want to convert single `char`.

There is a way to do that without creating a `char*`?

Answer: 
I use that directive in one of my apps and I can get that button to appear by using the using the `file_browser_callback` function in the options. 

Do you get any errors in the JavaScript console? Perhaps you can make a simple CodePen or JS Fiddle of this so people can see your code?

EDIT: Here is a CodePen that does what you want ... it does get that button to appear. The `file_browser_callback` function just logs something to the browser's console but this shows that you can indeed have that button while using that Angular directive.

<http://codepen.io/michaelfromin/pen/BKOGZG>
first create input element of type file and execute function click() to open dialog file selector, follow step is upload selected image (in my case I use [ng-file-upload](https://github.com/danialfarid/ng-file-upload)) and retrieve the public url, remember use promises for wait user action, last step is set url in field of tinymce this is posible with field\_name document.getElementById(field\_name).value

```
$scope.tinymceOptions = {
    selector: "textarea",
    plugins: 'image',
    file_browser_callback: function (field_name, url, type, win) {               
        let input = document.createElement('input');
        input.setAttribute('type', 'file');
        input.setAttribute('accept', 'image/*');            
        input.click();
        input.addEventListener('change', (event) => {
            let defered = $q.defer();
            Upload.upload({
                url: MultimediaService.uploadDocument(),
                data: {
                    file: event.path[0].files[0]
                }
            }).then(function (resp) {
                defered.resolve(resp);                        
            }, function (err) {
                defered.reject(err);
            });
            defered.promise.then(function (resp) {
                document.getElementById(field_name).value = resp['data']['url'];
                return resp['data']['url'];
            }, function (err) {
                return null;
            });
        });
    },
    paste_as_text: true
};

```