Skip to content

Conversation

AM-Myrick
Copy link

No description provided.

Copy link

@codejoncode codejoncode left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

int response_length = sprintf(response, "%s\n"
        "Date: %s\n"
        "Connection: close\n"
        "Content-Length: %d\n"
        "Content-Type: %s\n"
        "\n"
        "%s\n",
        header, buffer, content_length, content_type, new_body);

Nice work Andre. Sprintf provides a
Return Value
If successful, the total number of characters written is returned excluding the null-character appended at the end of the string, otherwise a negative number is returned in case of failure.
https://www.tutorialspoint.com/c_standard_library/c_function_sprintf.htm

Copy link

@codejoncode codejoncode left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sprintf(response, "%s\n"
        "Date: %s\n"
        "Connection: close\n"
        "Content-Length: %d\n"
        "Content-Type: %s\n"
        "\n"
        "%s\n",
        header, buffer, content_length, content_type, new_body);

    // Send it all!
    int response_length = strlen(response);

This part of your code is only going to work for the index.html. the cat.png might have an issue with the format specifier %s.

Two ways to approach this problem memcpy or make two send 's after removing the part of your header that includes the body.

Copy link

@codejoncode codejoncode left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cache functions look pretty good.

Copy link

@codejoncode codejoncode left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

void free_entry(struct cache_entry *entry)
{
    ///////////////////
    // IMPLEMENT ME! //
    ///////////////////
    free(entry);
}

Before your use free(entry) you will have to free every other thing you allocated space for

entry->content
entry->path
entry->content_type

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants