Skip to content

Commit 9a26ada

Browse files
committed
Fixed das3 spice error handling
1 parent 15654a0 commit 9a26ada

File tree

1 file changed

+24
-20
lines changed

1 file changed

+24
-20
lines changed

das2/spice.c

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -69,30 +69,34 @@ int das_send_spice_err(int nDasVer, const char* sErrType)
6969
fprintf(stderr, "ERROR: %s\n", sMsg);
7070

7171

72-
if(nDasVer > 1){
72+
switch(nDasVer){
73+
case 1:
74+
// Das 1 has no concept of in-stream error reports
75+
break;
76+
case 2:
7377
_das_escape_xml(sMsgEsc, 2047, sMsg);
78+
snprintf(sOut, 3071,
79+
"<exception type=\"%s\"\n"
80+
" message=\"%s\" />\n", sErrType, sMsgEsc
81+
);
82+
printf("[XX]%06zu%s", strlen(sOut), sOut);
83+
break;
7484

75-
if(nDasVer == 2){
85+
case 3:
86+
_das_escape_xml(sMsgEsc, 2047, sMsg);
87+
snprintf(sOut, 3071,
88+
"<exception type=\"%s\">\n"
89+
"%s\n"
90+
"</exception>\n", sErrType, sMsgEsc
91+
);
92+
printf("[XX]%06zu%s", strlen(sOut), sOut);
93+
break;
7694

77-
snprintf(sOut, 3071,
78-
"<exception type=\"%s\"\n"
79-
" message=\"%s\" />\n", sErrType, sMsgEsc
80-
);
81-
printf("[XX]%06zu%s", strlen(sOut), sOut);
82-
}
83-
else{
84-
if(nDasVer == 3){
85-
snprintf(sOut, 3071,
86-
"<exception type=\"%s\">\n"
87-
"%s\n"
88-
"</exception>\n", sErrType, sMsgEsc
89-
);
90-
printf("[XX]%06zu%s", strlen(sOut), sOut);
91-
}
92-
}
93-
das_error(DASERR_SPICE, "Unknown stream version %d", nDasVer);
95+
default:
96+
das_error(DASERR_SPICE, "Unknown stream version %d", nDasVer);
97+
break;
9498
}
95-
99+
96100
return DASERR_SPICE;
97101
}
98102

0 commit comments

Comments
 (0)