diff options
| author | nsfisis <nsfisis@gmail.com> | 2024-08-12 04:34:01 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2024-08-12 04:34:01 +0900 |
| commit | 545d86085f927bded852dd5a8ee8341f60f24d84 (patch) | |
| tree | d4df8771749b7d1f82414bcfe1ada3f576d4c8ff /backend | |
| parent | c6629900f3a4965ceca0f42e90648937bf51dfb5 (diff) | |
| download | iosdc-japan-2024-albatross-545d86085f927bded852dd5a8ee8341f60f24d84.tar.gz iosdc-japan-2024-albatross-545d86085f927bded852dd5a8ee8341f60f24d84.tar.zst iosdc-japan-2024-albatross-545d86085f927bded852dd5a8ee8341f60f24d84.zip | |
feat(backend): change calculation of code size
Diffstat (limited to 'backend')
| -rw-r--r-- | backend/game/hub.go | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/backend/game/hub.go b/backend/game/hub.go index d19c12d..e08ed4a 100644 --- a/backend/game/hub.go +++ b/backend/game/hub.go @@ -6,6 +6,7 @@ import ( "errors" "fmt" "log" + "regexp" "strings" "time" @@ -86,7 +87,7 @@ func (hub *gameHub) run() { // TODO: assert game state is gaming log.Printf("submit: %v", message.message) code := msg.Data.Code - codeSize := len(code) // TODO: exclude whitespaces. + codeSize := calcCodeSize(code) codeHash := calcHash(code) if err := hub.taskQueue.EnqueueTaskCreateSubmissionRecord( hub.game.gameID, @@ -663,3 +664,8 @@ func isTestcaseResultCorrect(expectedStdout, actualStdout string) bool { func calcHash(code string) string { return fmt.Sprintf("%x", md5.Sum([]byte(code))) } + +func calcCodeSize(code string) int { + re := regexp.MustCompile(`\s+`) + return len(re.ReplaceAllString(code, "")) +} |
