const char *script = alloc_printf("set dummy_val $httppostdata(%s); set dummy_val",
                        name);
-       retcode = Jim_Eval_Named(interp, script, "httpd.c", __LINE__);
+       retcode = Jim_Eval_Named(interp, script, __FILE__, __LINE__);
        free((void *) script);
        if (retcode != JIM_OK)
                return retcode;
 
     const char *script = alloc_printf("set dummy_val $httppostdata(%s); set dummy_val",
                        name);
-       int retcode = Jim_Eval_Named(interp, script, "httpd.c", __LINE__);
+       int retcode = Jim_Eval_Named(interp, script, __FILE__, __LINE__);
        free((void *) script);
        if (retcode != JIM_OK)
        {
 
                const char *script = alloc_printf(
                                "global httpdata; source {%s}; set httpdata", url);
-               retcode = Jim_Eval_Named(interp, script, "httpd.c", __LINE__);
+               retcode = Jim_Eval_Named(interp, script, __FILE__, __LINE__);
                free((void *) script);
 
-               if (retcode == JIM_ERR)
+               if (retcode != JIM_OK)
                {
                        printf("Tcl failed\n");
                        const char *t = httpd_exec_cgi_tcl_error(interp);
                LOG_DEBUG("Serving %s length=%zu", url, len);
                /* serve file directly */
                response = MHD_create_response_from_data(len, data, MHD_YES, MHD_NO);
+               /* Should we expose mimetype via tcl here or just let the browser
+                  guess?
                MHD_add_response_header(response, "Content-Type", "image/png");
+               */
 
                ret = MHD_queue_response(connection, MHD_HTTP_OK, response);
                MHD_destroy_response(response);
 
 static int ahc_echo_inner(void * cls, struct MHD_Connection * connection,
                const char * url, const char * method, const char * version,
-               const char * upload_data, unsigned int * upload_data_size, void ** ptr)
+               const char * upload_data, size_t * upload_data_size, void ** ptr)
 {
        int post = 0;
 
 
 static int ahc_echo(void * cls, struct MHD_Connection * connection,
                const char * url, const char * method, const char * version,
-               const char * upload_data, unsigned int * upload_data_size, void ** ptr)
+               const char * upload_data, size_t * upload_data_size, void ** ptr)
 {
        int result;