+/*
+ * See if the size/workingpressure looks like some standard cylinder
+ * size, eg "AL80".
+ */
+static void match_standard_cylinder(cylinder_type_t *type)
+{
+ int psi, cuft, len;
+ const char *fmt;
+ char buffer[20], *p;
+
+ /* Do we already have a cylinder description? */
+ if (type->description)
+ return;
+
+ cuft = type->size.mliter / 1000;
+ psi = type->workingpressure.mbar / 68.95;
+
+ switch (psi) {
+ case 2300 ... 2500: /* 2400 psi: LP tank */
+ fmt = "LP%d";
+ break;
+ case 2600 ... 2700: /* 2640 psi: LP+10% */
+ fmt = "LP%d+";
+ break;
+ case 2900 ... 3100: /* 3000 psi: ALx tank */
+ fmt = "AL%d";
+ break;
+ case 3400 ... 3500: /* 3442 psi: HP tank */
+ fmt = "HP%d";
+ break;
+ case 3700 ... 3850: /* HP+10% */
+ fmt = "HP%d+";
+ break;
+ default:
+ return;
+ }
+ len = snprintf(buffer, sizeof(buffer), fmt, cuft);
+ p = malloc(len+1);
+ if (!p)
+ return;
+ memcpy(p, buffer, len+1);
+ type->description = p;
+}
+
+