summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--courses.go6
-rw-r--r--wsc.go2
-rw-r--r--wsm.go8
3 files changed, 8 insertions, 8 deletions
diff --git a/courses.go b/courses.go
index c92a3d2..ccb5313 100644
--- a/courses.go
+++ b/courses.go
@@ -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
}
diff --git a/wsc.go b/wsc.go
index 6da50da..4142512 100644
--- a/wsc.go
+++ b/wsc.go
@@ -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(
diff --git a/wsm.go b/wsm.go
index 10e0889..c163868 100644
--- a/wsm.go
+++ b/wsm.go
@@ -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])