diff options
Diffstat (limited to '')
-rw-r--r-- | courses.go | 6 | ||||
-rw-r--r-- | wsc.go | 2 | ||||
-rw-r--r-- | wsm.go | 8 |
3 files changed, 8 insertions, 8 deletions
@@ -193,7 +193,7 @@ func setupCourses() error { return nil } -type userCourseGroupsT map[courseGroupT]bool +type userCourseGroupsT map[courseGroupT]struct{} func populateUserCourseGroups( ctx context.Context, @@ -239,7 +239,7 @@ func populateUserCourseGroups( defer coursesLock.RUnlock() thisGroupName = courses[thisCourseID].Group }() - if (*userCourseGroups)[thisGroupName] { + if _, ok := (*userCourseGroups)[thisGroupName]; ok { return fmt.Errorf( "%w: user %v, group %v", errMultipleChoicesInOneGroup, @@ -247,7 +247,7 @@ func populateUserCourseGroups( thisGroupName, ) } - (*userCourseGroups)[thisGroupName] = true + (*userCourseGroups)[thisGroupName] = struct{}{} } return nil } @@ -142,7 +142,7 @@ func handleConn( * userCourseGroups stores whether the user has already chosen a course * in the courseGroup. */ - var userCourseGroups userCourseGroupsT = make(map[courseGroupT]bool) + var userCourseGroups userCourseGroupsT = make(map[courseGroupT]struct{}) err := populateUserCourseGroups(newCtx, &userCourseGroups, userID) if err != nil { return reportError( @@ -112,7 +112,7 @@ func messageChooseCourse( thisCourseGroup := course.Group - if (*userCourseGroups)[thisCourseGroup] { + if _, ok := (*userCourseGroups)[thisCourseGroup]; ok { err := writeText(ctx, c, "R "+mar[1]+" :Group conflict") if err != nil { return fmt.Errorf( @@ -201,7 +201,7 @@ func messageChooseCourse( * This would race if message handlers could run * concurrently for one connection. */ - (*userCourseGroups)[thisCourseGroup] = true + (*userCourseGroups)[thisCourseGroup] = struct{}{} err = writeText(ctx, c, "Y "+mar[1]) if err != nil { @@ -308,10 +308,10 @@ func messageUnchooseCourse( defer coursesLock.RUnlock() thisCourseGroup = courses[courseID].Group }() - if !(*userCourseGroups)[thisCourseGroup] { + if _, ok := (*userCourseGroups)[thisCourseGroup]; !ok { return reportError("inconsistent user course groups") } - (*userCourseGroups)[thisCourseGroup] = false + delete(*userCourseGroups, thisCourseGroup) } err = writeText(ctx, c, "N "+mar[1]) |